Android Developer Fundamentalsをやる

先日開催されたDroidKaigi 2017のスライド一覧を眺めていたら、こちらのスライドを発見。

speakerdeck.com
UdacityのAndroid Basicコースなどは知っていたが、本家Googleの実践コース(?)みたいなサイトが無料で公開されているのは知らなかった。

www.gitbook.com

www.gitbook.com
こんな感じで全編英語だがリファレンスとワークブックに分かれていていい感じ。

リファレンスを読んでいると眠くなってくるので、ワークブックを手を動かしながらに中心に進めていく。

Lesson 1: Build your first app

1.1: Install Android Studio, Hello World, Logging · Android Developer Fundamentals Course – Practicals

肩慣らし的な内容だったが、xmlandroid:text="hoge"Alt + Enter(Windows)でstrings.xmlに書き込めるのは知らなかった。

https://gyazo.com/5acafae9cf5f892c628c41d2717631fc

Alt + EnterExtract string resourceを選んでEnter

https://gyazo.com/1ec3f8d127b2e0d795603e1e20c463ce

android:onClick=""も同様にAlt + Enter(Windows)でJavaファイルに自動でメソッドを生やしてくれる。

https://gyazo.com/76567e8945cec3cc3c7cd6d9e6b4534d

Alt + Enterでバーン。

https://gyazo.com/6a88f5c1bbb8c0dda68e3c3de38b49b4

Homework Lesson1

Homework Lesson 1 · Android Developer Fundamentals Course – Practicals

https://gyazo.com/ac0fc02542990f8540837817e4426a38

練習問題。Lesson1で作ったHello Toastアプリを改造してみようみたいな内容。
ZEROボタンの実装とsetBackgroundColor()メソッドを使ってボタンの色を変えてみた。

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private int mCount = 0;
    private TextView mShowCount;
    private Button mCountButton;

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

        mShowCount = (TextView) findViewById(R.id.show_count);
        mCountButton = (Button) findViewById(R.id.button_count);
    }

    public void showToast(View view) {
        Toast.makeText(this, "Hello Toast", Toast.LENGTH_SHORT).show();
    }

    public void countUp(View view) {
        mCount++;
        if (mShowCount != null) {
            mShowCount.setText(Integer.toString(mCount));
        }

        if (mCount % 2 == 0) {
            mCountButton.setBackgroundColor(Color.GREEN);
        } else {
            mCountButton.setBackgroundColor(Color.RED);
        }
    }

    public void zero_btn_tapped(View view) {
        mCount = 0;
        mShowCount.setText(Integer.toString(mCount));
        mCountButton.setBackgroundColor(Color.BLUE);
    }
}