Здравствуйте, давайте создадим простую заставку для 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 приложений!

