在Android中将webView添加到Firebase
我想在Firebase中添加webView,这样,如果我必须更改该webView的网页URL,我只需在Firebase数据库中添加一个新的URL,它就会相应地更改webView 我到处都搜索过,但没有得到有用的答案,firebase有可能这样做吗 更新:在Android中将webView添加到Firebase,android,firebase,firebase-realtime-database,android-webview,Android,Firebase,Firebase Realtime Database,Android Webview,我想在Firebase中添加webView,这样,如果我必须更改该webView的网页URL,我只需在Firebase数据库中添加一个新的URL,它就会相应地更改webView 我到处都搜索过,但没有得到有用的答案,firebase有可能这样做吗 更新: 实际上,我正在尝试构建一个新闻应用程序,用户可以点击新闻的web链接,它会将他们带到应用程序内web浏览器的相应网页,我不认为远程配置在这方面会有所帮助 我正在使用Android Studio FirebaseJava类文件 public cl
实际上,我正在尝试构建一个新闻应用程序,用户可以点击新闻的web链接,它会将他们带到应用程序内web浏览器的相应网页,我不认为远程配置在这方面会有所帮助 我正在使用Android Studio FirebaseJava类文件
public class webViewNews extends AppCompatActivity {
private RecyclerView webRecycle;
private DatabaseReference mDatabaseReference;
private WebView webviewthis;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview_page);
mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("play");
webviewthis = (WebView) findViewById(R.id.webView_news);
webRecycle = (RecyclerView) findViewById(R.id.webViewList);
webviewthis.getSettings().setJavaScriptEnabled(true);
webviewthis.getSettings().setLoadsImagesAutomatically(true);
webviewthis.loadUrl(mDatabaseReference.toString());
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<post, webViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<post, webViewHolder>(
post.class,
R.layout.webview_card,
webViewHolder.class,
mDatabaseReference
) {
@Override
protected void populateViewHolder(webViewHolder viewHolder, post model, int position) {
viewHolder.setWebViewPost( model.getWebViewPost());
}
};
webRecycle.setAdapter(firebaseRecyclerAdapter);
}
public static class webViewHolder extends RecyclerViewPager.ViewHolder {
View mView;
public webViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setWebViewPost( final String webViewPost) {
WebView WebViewPost = (WebView)mView.findViewById(R.id.webView_news);
WebViewPost.loadUrl(webViewPost);
}
}
}
事故报告
java.lang.RuntimeException: Unable to start activity ComponentInfo{hello.yellow/hello.yellow.webViewNews}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference
at hello.yellow.webViewNews.onCreate(webViewNews.java:29)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
对。您可以通过在firebase控制台中配置远程配置来使用它
有关更多信息,请查看此链接事实上,我正在尝试构建一个新闻应用程序,用户可以单击新闻的web链接,它会将他们带到应用程序内web浏览器的相应网页,我认为远程配置对此没有帮助。是的,这是可能的。你在哪一个具体步骤上被卡住了?添加web视图时遇到问题吗?你在阅读Firebase时有问题吗?还是说这些已经可以用了,是不是粘在一起的问题?@FrankvanPuffelen我在阅读Firebase并粘在一起时遇到了麻烦,我想更改Firebase控制台的URL。你能帮我解决这个问题吗?这个问题太广泛了:这真的只是一个要求。展示你已经尝试过的东西和你的困境。如果你以a的形式这样做(阅读链接,它非常有用),你很可能会得到帮助。@FrankvanPuffelen很抱歉最近的帖子,我已经添加了Firebase Implementation和RecyclerAdapter类的类文件,你现在能帮我实现webView吗?你共享的代码的具体问题是什么?当您在调试器中单步执行它时,代码的哪一部分没有执行您期望它执行的操作?
java.lang.RuntimeException: Unable to start activity ComponentInfo{hello.yellow/hello.yellow.webViewNews}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference
at hello.yellow.webViewNews.onCreate(webViewNews.java:29)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)