Найти тему

Написание простого приложения для Android. Часть 1.

В данной статье будет главным образом показано, как создать приложение с элементом 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.

Рис. 1. Создание проекта.
Рис. 1. Создание проекта.

3. В новом окне (Рис. 2) написать имя проекта (Name): CTSinfo

(Package Name): com.ctsinfo

(Minimum API level): Android 15

Рис 2. Выбор первоначальных параметров проекта.
Рис 2. Выбор первоначальных параметров проекта.

!!! Имейте в виду, что имя 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"

Рис. 3. Настройка файла AndroidManifest.xml
Рис. 3. Настройка файла AndroidManifest.xml

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>

Рис. 4. Создание основного  элемента приложения.
Рис. 4. Создание основного элемента приложения.

9. Откройте файл MainActivity.java (Рис. 5)

Рис. 5. Программный код файла MainActivity.java и запуск приложения.
Рис. 5. Программный код файла MainActivity.java и запуск приложения.

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, а затем нажмите зелёный треугольник).