如何将youtube视频URL传递给android Studios中的新活动?

时间:2016-03-06 16:04:50

标签: android eclipse android-studio youtube youtube-api

我有2个活动,一个显示视频列表,另一个活动使用YoutubePlayerView显示视频。我在使用youtubeplayerview打开一个新活动时使用点击按钮。现在我想要的是不打开一个新的活动总是对于一个新的视频,我希望将youtube视频作为参数传递,以便它不需要很多活动,只需使用一个活动来显示所有视频。我的代码如下所示。

  1. 使用意图点击新活动。

     public void videoTitaniumOnClick(View view){
            Intent i=new Intent(this,videoGenerator.class);
            startActivity(i);
    
        }
    
  2. Youtube视频类代码。

    public class videoGenerator extends YouTubeBaseActivity implements OnInitializedListener {
       public static final String API_KEY = "XXXXXXXXXXXX";
       public static final String VideoTitanium = "ySQoAiWPXHE";
       @Override
        public boolean onCreateOptionsMenu(Menu menu)
        {
            getMenuInflater().inflate(R.menu.menu, menu);
            return true;
        }
    
    
       @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_video_generator);
    
            /** Initializing YouTube player view **/
            YouTubePlayerView youTubePlayerView = (YouTubePlayerView)         findViewById(R.id.Youtube);
            youTubePlayerView.initialize(API_KEY, this);
        }
    
       @Override
        public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
    
            /** add listeners to YouTubePlayer instance **/
            /** Start buffering **/
            if (!wasRestored) {
                player.cueVideo(VideoTitanium);
            }
    
        }
    
        @Override
        public void onInitializationFailure(Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
    
            Toast.makeText(this, "Failured to Initialize Your Video.Check if you have a proper internet!", Toast.LENGTH_LONG).show();
    
         }
    }
    

    对不起,如果缩进有什么问题。由于我是java和android新手,所以答案有点清楚, 三江源。

1 个答案:

答案 0 :(得分:2)

使用intent.putExtra(key, value)

此方法被重载并将各种类型作为第二个参数:int,byte,String,各种数组..

所以你的方法将是:

 public void videoTitaniumOnClick(View view){
        Intent i=new Intent(this,videoGenerator.class);
        i.putExtra("url_key", url); 
        startActivity(i);
 }

点击按钮,存储您要传递到其他活动的YouTube视频的地址,然后使用putExtra() method传递数据,如上所示。

要获取您要使用哪个活动的网址:

String url= getIntent().getStringExtra("url_key");