[英]How to get Url from firebaseDatabase as string text pass to another activity as url?
I am trying to get url from text obtained from firebase data base and pass to another actvity and play it in videoview,我试图从从 firebase 数据库获得的文本中获取 url 并传递给另一个活动并在 videoview 中播放,
in my adapter在我的适配器中
holder.animPlayer.setText(mAnmList.get(position).getVideourl());
in my firstActivity在我的第一个活动中
private void data() {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference smsRef = database.getReference("Movies");
smsRef.keepSynced(true);
smsRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot newsSnapshot : dataSnapshot.getChildren()) {
TopItems item = newsSnapshot.getValue(TopItems.class);
mSmsList.add(item);
}
mSmsAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@Override
public void onMovieClick(AnimationItem animationItem, ImageView animImage) {
final String videoUrl = animationItem.getVideourl();
Intent intentAnimation = new Intent(MainActivity.this, MovieDetails.class);
//putextra
intentAnimation.putExtra("Video", videoUrl);
}
in my secondActivity在我的第二个活动中
moviePlayer = findViewById(R.id.player_view);
Bundle b = getIntent().getExtras();
String id = b.getString("Video");
moviePlayer.setVideoPath(id);
ProgressBar progressBar = new ProgressBar(MovieDetails.this);
MediaController mediaController = new MediaController(MovieDetails.this);
mediaController.setAnchorView(moviePlayer);
moviePlayer.setMediaController(mediaController);
moviePlayer.requestFocus();
moviePlayer.start();
in AnimationItem在动画项目中
private String videourl;
public AnimationItem( String videourl) {
this.videourl = videourl;
}
public AnimationItem() {
}
public String getVideourl() {
return videourl;
}
public void setVideourl(Uri videourl) {
this.videourl = String.valueOf(videourl);
}
Error错误
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.smschecker, PID: 24016 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.smschecker/com.example.smschecker.MovieDetails}: java.lang.NullPointerException: uriString E/AndroidRuntime:致命异常:主进程:com.example.smschecker,PID:24016 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.smschecker/com.example.smschecker.MovieDetails}:java.lang。空指针异常:uriString
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2865) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2955) at android.app.ActivityThread.-wrap12(Unknown Source:0)在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2865) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2955) 在 android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)在 android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)在 android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6719)在 android.app.ActivityThread.main(ActivityThread.java:6719)
at java.lang.reflect.Method.invoke(Native Method)在 java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:449)在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:449)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: uriString at android.net.Uri$StringUri.(Uri.java:476)引起:java.lang.NullPointerException: uriString at android.net.Uri$StringUri.(Uri.java:476)
at android.net.Uri$StringUri.(Unknown Source:0)在 android.net.Uri$StringUri.(未知来源:0)
at android.net.Uri.parse(Uri.java:438)在 android.net.Uri.parse(Uri.java:438)
at android.widget.VideoView.setVideoPath(VideoView.java:248)在 android.widget.VideoView.setVideoPath(VideoView.java:248)
at com.example.smschecker.MovieDetails.iniViews(MovieDetails.java:131)在 com.example.smschecker.MovieDetails.iniViews(MovieDetails.java:131)
at com.example.smschecker.MovieDetails.onCreate(MovieDetails.java:95)在 com.example.smschecker.MovieDetails.onCreate(MovieDetails.java:95)
it crashes when i start secondActivity, help当我启动 secondActivity 时它崩溃了,帮助
In MovieDetails
activity, change from moviePlayer.setVideoPath(id);
在MovieDetails
活动中,从moviePlayer.setVideoPath(id);
更改moviePlayer.setVideoPath(id);
to moviePlayer.setVideoPath(Uri.parse(id));
到moviePlayer.setVideoPath(Uri.parse(id));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.