1 Мобильная разработка на Android
У устройств андроид огромное количество версий, и особенность их в том, что они называются сладостями. В настоящее время наиболее широко используются версии 4.4 «KitKat», 5.0 «Lollipop» и новая 6.0 «Marshmallow». Андроид имеет возможность автоматически обновляться до более свежих версий. В данный момент версия Lollipop является наиболее актуальной, поэтому разрабатывать и тестировать наше программное обеспечение мы будем на этой версии.
На данный момент существует большое количество блокнотов-приложений, с огромным количеством разнообразных функций, внешним видом и возможностями. Например: «Springpad», «NoteEverything», «Evernote» и др. Однако, исследования показали, что пользователь не желает «копаться» в недрах приложения и предпочитает молниеносно внести в память необходимую заметку. Основываясь на таком желании пользователя, мы сделаем наше приложение простым для использования, интуитивно понятным, креативным и привлекательным в графическом интерфейсе.
2 Обзор средств и инструментов для разработки
Для начала нам необходимо выбрать среду для разработки Android-приложения. Куда удобнее работать в интегрированной среде разработки (Integrated Development Environment – IDE), так как она обеспечивает необходимыми инструментами и функциями. На сегодняшний день существуют две популярные среды для разработки Android-приложений – Eclipse и Android Studio. Мы выберем Android Studio, так как он специализирован для разработок андроид приложений, поддерживается Google и обладает новыми особенностями.
Для работы с Android Studio необходимы инструменты для разработки – Java SE Development Kit 8 и SDK Manager.
Так же, для дизайна нам понадобится программа Paint Tool SAI и Adobe Photoshop, а для музыкальных фрагментов Cockos REAPER. Установим необходимое программное обеспечение.
3 Разработка приложения и дизайна
Разработаем приложение «PlusWords» для заметок. Нам необходимо создать каркас приложения, добавить в него функции и элементы, подключить дизайн и создать музыкальные фрагменты.
Откроем программу Android Studio. При создании нового проекта зададим ему название «PlusWords». Далее выберем версию андроид, для которой будем создавать приложение – Lollipop 5.0. Охват аудитории, которая сможет пользоваться этим приложением, будет 9,7%. Однако, эта версия позволит нам использовать функции интереснее, чем в предыдущих версиях. Далее выбираем шаблон Blank Activity.
Создадим две кнопки Words и Notes, TextView со словами «Добро пожаловать в приложение для заметок!», две кнопки для включения и выключения фоновой музыки. Поместим лягушку, которая будет квакать, и подключим дизайн для главной страницы (рис.1).
Рис. 1. Main activity
У нас будет три layout – окна, наследующиеся от главного окна. Главное окно main.xml (рис.1), наследующиеся: activity_top.xml (рис.2) для ввода иностранных слов и activity_bottom.xml (рис.3) для записи самих заметок. Для каждого layout необходимо создать свой java-файл для кода.
В MainActivity.java пропишем код для включения фоновой музыки приложения:
public void onClick4(View view) {
if (mySound2==null){
mySound2 = MediaPlayer.create(this, R.raw.appsound);
mySound2.start();}}
public void onClick5(View view) {
mySound2.release();
mySound2=null;}
Теперь при нажатии на on и off музыка включается и выключается.
Пропишем код, позволяющий по нажатию на картинку-лягушку проигрывать аудиозапись:
public class MainActivity extends Activity {
SoundPool mySound;
int frogsoundId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AudioAttributes aa = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.setUsage(AudioAttributes.USAGE_MEDIA)
.build();
mySound = new SoundPool.Builder()
.setMaxStreams(10)
.setAudioAttributes(aa)
.build();
frogsoundId = mySound.load(this, R.raw.frogsound, 1);}
public void onClick3(View view) {
mySound.play(frogsoundId,.25f,.25f,1,0,1);}
Теперь в окне Words (рис. 2) создадим иконку «Сохранить» и текстовый редактор. Введенные пользователем данные будут храниться в sample.txt файле.
Рис. 2. Top activity
В TopActivity.java пропишем код открытия файла и его сохранения:
public class TopActivity extends Activity {
private final static String FILENAME = "sample.txt"; // имя файла
private EditText mEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(activity_top);
setContentView(R.layout.activity_top);
mEditText = (EditText) findViewById(R.id.editText);}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_top, menu);
return true;}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_save:
saveFile(FILENAME);
return true;
default:
return true;}}
// Метод для открытия файла
private void openFile(String fileName) {
try {
InputStream inputStream = openFileInput(fileName);
if (inputStream != null) {
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = reader.readLine()) != null) {
builder.append(line + "n");}
inputStream.close();
mEditText.setText(builder.toString());}
} catch (Throwable t) {
Toast.makeText(getApplicationContext(),
"Exception: " + t.toString(), Toast.LENGTH_LONG).show();}}
// Метод для сохранения файла
private void saveFile(String fileName) {
try {
OutputStream outputStream = openFileOutput(fileName, 0);
OutputStreamWriter osw = new OutputStreamWriter(outputStream);
osw.write(mEditText.getText().toString());
osw.close();
} catch (Throwable t) {
Toast.makeText(getApplicationContext(),
"Exception: " + t.toString(), Toast.LENGTH_LONG).show();
}}
public void onResume() {
super.onResume();
openFile(FILENAME);}}
Теперь мы можем набирать текст в layout activity_top и сохранять его (рис.2).
Для окна Notes (рис.3) сделаем то же самое, но изменив id. Текст сохранять будем в файле sample2.txt.
Рис. 3. Bottom activity
3 Тестирование на устройстве
Тестировать приложение можно на виртуальном устройстве, встроенном в программе Android Studio. Но виртуальное устройство очень долго загружается, теряется большое количество времени, поэтому программисты используют реальные устройства для тестирования приложения. Для подключения реального устройства Андроид, откроем SDK manager и проверим, что в папке Extras установлен Google USB Driver. Далее установим на компьютер Android ADB driver. На андроид устройстве необходимо включить режим разработчика. Для этого кликаем много раз на версию прошивки до момента включения режима разработчика. Далее в пункте система появятся «Параметры разработчика». Необходимо включить отладку USB, показывать прикосновения, активный режим. Теперь подключаем девайс к компьютеру физически. Программа Android Studio видит наше устройство, и мы можем запускать приложение на мобильное устройство.
Заключение
В ходе работы было создано приложение для заметок «PlusWords». При разработке мобильного приложения необходимо учитывать размеры экранов всех мобильных устройств. Внимательность при программировании обеспечит безошибочную работу приложения, а музыкальные фрагменты украсят его. Разработка мобильного приложения требует комплексного подхода. На каждой ступени разработки необходимо тестировать программный продукт. Успехов вам!
Список литературы
Включение и выключение музыки. [Электронный ресурс] URL: https://www.youtube.com/watch?v=BV_KLo-5X10 (дата обращения: 03.12.15).
Дизайн для Android. [Электронный ресурс] URL: http://developer.alexanderklimov.ru/android/design/basic.php (дата обращения: 15.11.15).
Как воспроизводить звуки используя MediaPlayer. [Электронный ресурс] URL: https://www.youtube.com/watch?v=V1ocJmXeQ28 (дата обращения: 11.11.15).
Переключение на другой экран. [Электронный ресурс] –URL: http://developer.alexanderklimov.ru/android/activity.php (дата обращения: 05.11.15).
Подключение устройства к компьютеру. [Электронный ресурс] –URL: http://www.fandroid.info/kak-testirovat-android-prilozheniya-na-realnom-ustrojstve-zahvat-video-c-ekrana-v-android-studio/ (дата обращения: 29.10.15).