В данной статье будет главным образом показано, как создать приложение с элементом WebView для просмотра одного сайта.
По сути, она является повтором видео на Ютубе "Как сделать ANDROID приложение за 10 минут" (написанному примерно 2 года назад) по адресу: https://www.youtube.com/watch?v=ASd5QsE46nk
Просмотр занимает 9 минут, потому что там рассказывается про 2 варианта:
1. Через Android Studio
2. Через сайт https://appsgeyser.com/ (по личному опыту могу сказать, что когда попробовал установить приложение, сделанное на appsgeyser.com, на своём смартфоне с Android 10, оно выдало сообщение об ошибке и не запустилось).
Так что остаётся только 1 вариант (будем считать, что Android Studio у вас уже установлена). Начнём:
1. Запустить Android Studio, в верхнем меню выбрать File->New->New Project.
2. В открывшемся окне (Рис. 1) выбрать Empty Activity и нажать Next.
3. В новом окне (Рис. 2) написать имя проекта (Name): CTSinfo
(Package Name): com.ctsinfo
(Minimum API level): Android 15
!!! Имейте в виду, что имя CTSinfo используется для примера, если вы захотите опубликовать приложение, вам, скорее всего, придётся использовать другое имя !!!
4. Нажать Finish
5. В новом проекте выберите вкладку "manifests" (Рис. 3) и откройте файл AndroidManifest.xml
6. В файле AndroidManifest.xml прописываем права(Рис. 3):
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Также добавляем строку (Рис. 3):
android:usesCleartextTraffic="true"
7. Выберите вкладку "layout" (Рис. 4) и откройте файл activity_main.xml
8. В файле activity_main.xml удалите строки, относящиеся к элементу TextView и вставьте эти (Рис. 4):
<WebView>
android:id="@+id/webview_id"
android:layout_width="match_parent"
android:layout_height="match_parent"</WebView>
9. Откройте файл MainActivity.java (Рис. 5)
10. Удалите все строки, кроме первой, и вставьте (Рис. 5):
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.annotation.TargetApi;
public class MainActivity extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
final Activity activity = this;
webView.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
@TargetApi(android.os.Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
// Redirect to deprecated method, so you can use it in all SDK versions
onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
}
});
webView.loadUrl("http://www.tablepedia.com/");
setContentView(webView);
}
}
Их также можно скачать в файле по адресу: http://tablepedia.com/tablepedia-MainActivity.txt
11. Запустите приложение на Android эмуляторе (выберите эмулятор из списка внутри красной рамки на Рис. 5, а затем нажмите зелёный треугольник).