In this blog I will talking about WebView and Firebase. The WebView allows the programmer to write the bulk of the application using HTML, JavaScript and CSS, the standard Web programming tools. Now, I show you How to change url from firebase in Android Webview 2022.
How to change an URL for webview dynamically using firebase ?
Frist you add some permission like - Internet Permission, usesCleartextTraffic etc. if you don't know how to to add. please following this articale - https://www.bdtopcoder.xyz/2022/07/webview-with-stylish-progress-bar.html once it is done follow this steps.
Frist you Create project in firebase. then you connect firebase with android studio. if you don't know how to connect please watch my video.
Go to the activity_main.xml file and refer to the following code. Below is the code for the activity_main.xml file.
XML
< ?xml version="1.0" encoding="utf-8"?>
< RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
< LinearLayout
android:id="@+id/AppBar"
android:background="#2196F3"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:orientation="vertical"
>
< androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/CardView"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
app:cardCornerRadius="20dp"
>
< LinearLayout
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center"
android:gravity="center"
>
< TextView
android:id="@+id/url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/app_name"
/>
< /LinearLayout>
< /androidx.cardview.widget.CardView>
< /LinearLayout>
< WebView
android:layout_below="@id/AppBar"
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
< /RelativeLayout>
Step 3.
Go to the MainActivity.java file and refer to the following code. Below is the code for the MainActivity.java file.
MainActivity.java
public class MainActivity extends AppCompatActivity {
WebView webView;
TextView url;
private FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
private DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
private DatabaseReference childreference = reference.child("url");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
url = findViewById(R.id.url);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
} // OnCreate Method close here =================
@Override
protected void onStart() {
super.onStart();
childreference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String message = snapshot.getValue(String.class);
url.setText(message);
webView.loadUrl(message);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
} // Public class close here ======================
ধাপগুলো সংক্ষেপে:
1. XML-এ TextView তৈরি করুন এবং নিচের অ্যাট্রিবিউট যুক্ত করুন:

Comments
Post a Comment