Сейчас мы все знаем о разработке гибридных приложений. Это действительно становится популярным, он дает нам силу, как нативную реализацию, не жертвуя лотами. Как разработчик Web & Android, нам нужно вместе объединить наше Android и веб -приложение. Android и iOS дают использовать эти типы доступа через WebKit.
Как разработчик, нам нужно преобразовать наш веб -сайт в мобильное приложение, а затем задача возникла. Чтобы отобразить любой веб -сайт, мы используем WebView в Android и превращаем веб -сайт в мобильное приложение. Но когда нам нужна производительность и аппаратная поддержка, нам нужно больше, а не просто реализации WebView. Кроме того, мы хотим понадобиться пользовательский контроль через собственную логику.
Итак, сегодняшние разговоры, которые я собираюсь продемонстрировать, как мы можем взять на себя индивидуальный контроль на веб -страницах через интерфейс Webkit.
Давайте глубоким внедрением в реализации. Создайте пустой Android Project
и следуйте указаниям ниже,
🔰 Open MainActivity.java
Файл и включает
import android.annotation.SuppressLint; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { WebView webView; @SuppressLint("SetJavaScriptEnabled") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); // must enable javascript webView.setWebViewClient(new WebViewClient()); // must add web client // Binding webView.addJavascriptInterface( new CommonInterface(getApplicationContext()), "Android" ); String folderPath = "file:android_asset"; // Get the Android assets folder path String fileName = "/sample.html"; // Get the HTML file name String file = folderPath + fileName; // Get the exact file location webView.loadUrl(file); // load file or https://mesadhan.github.io } }
🔰 Создать CommonInterface.java
Файл и включает
import android.content.Context; import android.webkit.JavascriptInterface; import android.widget.Toast; /** Accessible from the web page */ public class CommonInterface { Context context; CommonInterface(Context c) { context = c; } @JavascriptInterface public void showToast(String toast) { Toast.makeText(context, toast, Toast.LENGTH_SHORT).show(); } @JavascriptInterface public String getMessage() { return "Hello From Android Native!"; } }
🔰 Open Activity_main.xml
Файл и включает
Наконец, нам нужна веб -страница, которая на самом деле играет главную роль здесь
🔰 Создайте файл в /Assets/sample.html
и включает
Sample Web Page
Android WebView
👌 Поздравляю!. & Благодарю вас! Не стесняйтесь комментариев, если у вас есть какие -либо проблемы и запросы.
Рекомендации:
Оригинал: “https://dev.to/mesadhan/android-native-javascript-binding-2ja7”