Найти тему

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

В прошлой статье (Написание простого приложения для Android. Часть 1.) было показано, как создать приложение с элементом WebView для просмотра одного сайта. Она находится по адресу: https://zen.yandex.ru/media/id/6238757a33088457ef113ea0/napisanie-prostogo-prilojeniia-dlia-android-chast-1-62e1047bb6b2dd2c6c224773

Написание простого приложения для Android. Часть 1.
Датамайнинг, дайджесты, диалоги, дискуссии27 июля 2022

Предлагаю создать 4 кнопки под элементом WebView, каждая из которых открывает один из сайтов:

1. Откройте файл MainActivity.java проекта CTSinfo (если его нет, то перейдите на Часть 1 и создайте его) и вставьте среди строк, начинающихся на "import", следующие (Рис. 1):

import android.widget.LinearLayout;
import android.widget.Button;
import android.view.View;
Рис. 1. Вставка строк в файл MainActivity.java
Рис. 1. Вставка строк в файл MainActivity.java

2. В этом же файле MainActivity.java вместо строки setContentView(webView); вставьте следующие (Рис. 2):

!!! Имейте в виду, что если вы не закомментируете (или не удалите) строку "setContentView(webView);", то приложение при запуске выдаст сообщение об ошибке !!!

//setContentView(webView);
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); // Verbose!
lp2.setMargins(0, 0, 0, 0);
lp2.weight = 0.1f; // This is critical. Doesn't work without it.
LinearLayout.LayoutParams lpW = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); // Verbose!
lpW.setMargins(10, 10, 10, 10);
lpW.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(webView, lpW);
LinearLayout row2 = new LinearLayout(this);
row2.setOrientation(LinearLayout.HORIZONTAL);
row2.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));

Button btnInfo1 = new Button(this);
btnInfo1.setText("Info1");
btnInfo1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://electrofind.ru/");
}
});
row2.addView(btnInfo1, lp2);

Button btnInfo2 = new Button(this);
btnInfo2.setText("Info2");
btnInfo2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://vpayaem.ru/");
}
});
row2.addView(btnInfo2, lp2);

Button btnInfo3 = new Button(this);
btnInfo3.setText("Info3");
btnInfo3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://lampagid.ru/");
}
});
row2.addView(btnInfo3, lp2);

Button btnInfo4 = new Button(this);
btnInfo4.setText("Info4");
btnInfo4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
webView.loadUrl("https://sdi-tool.org/");
}
});

row2.addView(btnInfo4, lp2);
buttonsView.addView(row2, lp2);
setContentView(buttonsView, lpW);

Текст файла MainActivity.java можно скачать по адресу: https://tablepedia.com/part2-MainActivity.txt

Рис. 2. Ещё одна вставка строк в файл MainActivity.java
Рис. 2. Ещё одна вставка строк в файл MainActivity.java

Если вы запустите приложение в эмуляторе, то результат будет такой:

Рис. 3. Запуск приложения на эмуляторе.
Рис. 3. Запуск приложения на эмуляторе.

Теперь можно сделать пиктограмму (иконку) приложения. Для этого нужно на левой панели открыть меню правой кнопкой мыши (или тачпада):

res -> New -> Image Asset (Рис. 4).

Рис. 4. Меню вставки изображения.
Рис. 4. Меню вставки изображения.

В моём случае это файл CTSinfo.png (Рис. 5). После загрузки файла нужно нажать кнопку Next, а на следующем экране - кнопку Finish.

Рис. 5. Загрузка изображения.
Рис. 5. Загрузка изображения.