Говорящее приложение на Android

cookie monstah, [25.08.16 15:57]
качаю себе андроид студио

cookie monstah, [25.08.16 15:58]
может тут чего получится путнего

Припёрло меня тут залезть в мобильную разработку, ибо все пишут, а я чем хуже?
Расскажу всё, что знаю теперь: от запуска IDE до компиляции .apk.

Установка

Первым делом необходимо скачать IDE. Идём сюда и качаем Android Studio — официальную IDE от корпорации добра, при этом не забываем о том, что IDE практически собрана из IntelliJ Idea, а значит, что для работы необходим Java Development Kit.

Скачали? Запускаем. Всё как всегда, кроме одного: инсталлятор спросит на счёт выделяемой памяти для эмулятора Android:
step5

Меньше лучше не давать, ибо вы затрахаетесь потом отлаживать приложение.

Настройка

При первом запуске произойдёт загрузка SDK:
step31

Расписывать до кликов не буду — вы и сами тут все не глупые сидите, раз сидите.
Дальше видим окно с вариантами быстрого старта, выбираем "Start a new Android Studio project".
start_a_new_android_studio_project

Дальше нам предлагается ввести название нашего проекта и путь к нему.Я назвал свой первый проект Program. Как называется проект, так и будет называться наше будущее приложение. Учтите это в будущем. Здесь всё как обычно кроме одного: путь ко всем директориям не должен содержать симоволов кроме латинских и пробелов и это очень важно.
Далее нам предлагают выбрать для каких устройств мы будем писать приложение. Выбираем Phone and Tablet (Телефон и планшет) и минимальный набор SDK — выбирайте тот набор, где больше всего процентов пользователей. Я выбрал Android 4.1.
step51

После проделанных манипуляций предстоит выбор Activity. Забегая вперёд, скажу, что в программировании для Android существует одна особенность: Основной функционал живёт не в методе main, что традиционно для Java, а проживает в Activity — говоря по русски в "экранах".
step61

После предлогается выбрать имя для Activity — оставьте всё, как есть, не дураки же придумали.
step71

После всех манипуляций наблюдаем такую картину:
step81

Здорово, правда?

Я охерел просто очень сильно удивился, когда увидел окно визуальной вёрстки и возможность вставлять элементы посредством drag n drop.
Что вам нужно знать кроме Java и XML для того, чтобы разработать приложение под Android? Да ничего.

Идём в класс MainActivity и наполняем его интересным содержимым. Я захотел говорящее приложение и накидал что-то типа:
 

package ru.cnbk.coockievoice;

import java.util.Locale;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements
        TextToSpeech.OnInitListener {

    private Button mButton;
    private TextToSpeech mTTS;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTTS = new TextToSpeech(this, this);

        mButton = (Button) findViewById(R.id.button);

        mButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                String text = "тест тест";
                mTTS.speak(text, TextToSpeech.QUEUE_FLUSH, null);
            }
        });
    }

    @Override
    public void onInit(int status) {
        if (status == TextToSpeech.SUCCESS) {

            Locale locale = new Locale("ru");

            int result = mTTS.setLanguage(locale);

            if (result == TextToSpeech.LANG_MISSING_DATA
                    || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                Log.e("TTS", "Извините, этот язык не поддерживается");
            } else {
                mButton.setEnabled(true);
            }

        } else {
            Log.e("TTS", "Ошибка!");
        }

    }

    @Override
    public void onDestroy() {
        if (mTTS != null) {
            mTTS.stop();
            mTTS.shutdown();
        }
        super.onDestroy();
    }
}

Только не забудьте перетащить на экран кнопочку с именем button.

После проделанных манипуляций можно смело воткнуть свой телефон в компьютер посредством USB, предварительно включив в настройках режим отладки по USB. Жмём Shift + F10, IDE предложит выбрать между эмулятором и подключенными устройствами. Если всё пройдёт, как надо, то на устройство инсталлируется и запустится приложение.
Также, если есть желание сгенерировать apk, а оно будет, делаем следующее:
1. В левом нижнем углу ищем мааааленький такой квадратиик, при наведении на который, появится контекстое меню.
Screenshot_36
Кликаем Build Variants  и в появившемся окне выбираем вариант release.
На вкладке Build в панели инструментов кликаем Build signed APK.
Там создадим новое хранилище ключей и собственно сгенерируем apk.
На этом всё.