Здравствуйте, давайте создадим простую заставку для Android приложения – заставка будет видна несколько секунд, а после исчезнет!
Во время показа заставки ничего происходить не будет, но можно показать на ней, например, логотип разработчика данного приложения!
Скачать исходники для статьи можно ниже
1. Создаем новый проект в Android Studio:
Я выбрал платформу Android 4.0 – для того чтобы наше будущее приложение запускалось на версиях Андроида – Android 4.0+
Выбираем шаблон Empty Activity (Пустое Активити):
Далее оставляем все по умолчанию:
И жмем на кнопку Finish.
2. Редактируем файл MainActivity
Переходим в файл MainActivity:
Заменяем код на следующий:
package mnogoblog.ru.zastavca; import android.os.Bundle; import android.app.Activity; import android.content.Intent; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Thread background = new Thread() { public void run() { try { // Thread will sleep for 5 seconds sleep(5*1000); // After 5 seconds redirect to another intent Intent i=new Intent(getBaseContext(),FirstScreen.class); startActivity(i); //Remove activity finish(); } catch (Exception e) { } } }; // start thread background.start(); } @Override protected void onDestroy() { super.onDestroy(); } }
3. Файл activity_main.xml оставляем без изменений.
Вот так он у меня выглядит:
Его код следующий:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="mnogoblog.ru.zastavca.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>
4. Создаем новый класс FirstScreen
Для этого наводим курсор мышки на строчку “mnogoblog.ru.zastavca”, жмем правой клавишей мыши, в выпавшем меню жмем на пункт New, а далее в следующем выпавшем меню на пункт “Java Class”:
И вводим в открывшемся окошки имя нового класса, в нашем примере, задаем – FirstScreen:
И заменяем его код на следующий:
package mnogoblog.ru.zastavca; import android.app.Activity; import android.os.Bundle; public class FirstScreen extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.firstscreen); } @Override protected void onDestroy() { super.onDestroy(); } }
5. Создаем файл firstscreen.xml
Для этого наводим курсор мышки на строчку layout, жмем правой клавишей мышки
В выпавшем окошки вводим имя файла, в нашем примере – это firstscreen и жмем ОК:
После чего у нас будет создан новый файл – firstscreen.xml, кликаем по нему и переходим во вкладку “Text”:
Далее заменяем его код на следующий:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="ЗАСТАВКА" android:id="@+id/textView" /> </LinearLayout>
Данным кодом мы просто добавили текст – “ЗАСТАВКА”.
6. Изменяем код файла AndroidManifest.xml
Кликаем по файлу AndroidManifest.xml:
И меняем его код на следующий:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mnogoblog.ru.zastavca"> <application android:allowBackup="true" android:label="Zastavca" android:theme="@style/AppTheme" > <activity android:name="mnogoblog.ru.zastavca.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".FirstScreen" ></activity> FirstScreen </application> </manifest>
Все готово!
7. Создаем apk файл.
Теперь нам нужно создать apk файл для загрузки на Android устройства – для этого выбираем в верхнем меню пункт “Build”, подпункт “Build Apk”
Через некоторое время появится вот такое сообщение справа вверху:
Жмем на ссылку и у нас открывается папочка с apk файлом по имени
app-debug.apk
Можете переименовать файл, например в zastavca.apk и загрузить к себе на смартфон, установить и запустить приложение.
На этом все классных вам Android приложений!
PS: Приложение получилось наоборот – сначала открывается активити с текстом “Hellow world” и только через 5 секунд активити с текстом “ЗАСТАВКА”, для того чтобы это исправить достаточно сделать следующее:
1. Заходим в файл MainActivity:
и меняем в нем в строчку:
setContentView(R.layout.activity_main);
на следующую:
setContentView(R.layout.firstscreen);
Вот так:
2. Заходим в файл FirstScreen:
и меняем в нем в строчку:
setContentView(R.layout.firstscreen);
на следующую:
setContentView(R.layout.activity_main);
Вот так:
На этом все классных вам Android приложений!
PS №2: Есть ещё один способ создать заставку, которая исчезает через определенное количество секунд, но используя не Thread, а Handler, код файлов будет таким же как в примере выше, за исключение файла – MainActivity (пункт 2 данного руководства), он будет следующий:
package mnogoblog.ru.zastavka; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.content.Intent; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Handler().postDelayed(new Runnable() { // Using handler with postDelayed called runnable run method @Override public void run() { Intent i = new Intent(MainActivity.this, FirstScreen.class); startActivity(i); // close this activity finish(); } }, 5*1000); // wait for 5 seconds } @Override protected void onDestroy() { super.onDestroy(); } }
На этом все классных вам Android приложений!