Wi-Fi MAXをリリース

入門と挫折を繰り返していたAndroidだが、気合を入れる為、25ドルを払いデベロッパー登録してアプリをリリースした。

Wi-Fi MAX

f:id:na3ksg:20170401234959p:plainf:id:na3ksg:20170401235009p:plain Google Play で手に入れよう

アプリアイコンをタップするだけでWi-FiがON OFFになるアプリ。
Wi-Fiの状態はToastで通知する。

初めてAndroidアプリをリリースした感想

アプリのコードを書く時間より決められたサイズのヘッダー画像やアプリアイコンを準備する時間の方が長い。
法人はともかく個人はもっと雑にリリースできる仕組みにして欲しい。

Android Developer Fundamentalsをやる②

引き続きやっていきます。

Lesson 2: Activities

2.1: Create and Start Activities · Android Developer Fundamentals Course – Practicals

インテントとライフサイクル。

明示的インテント

https://gyazo.com/c849c34fa085f7d35adc8c926b5bc9f9

暗黙的インテント

https://gyazo.com/f172ecd03fd4ef91e9fa1cdd6037aa1f

Androidのライフサイクルはなかなか暗記できないので、図をプリントアウトして見えるところに貼っておく。

Homework Lesson 2

Homework Lesson 2 · Android Developer Fundamentals Course – Practicals

練習問題1

Lesson1でつくったHello Toastアプリを改造してSAY HELLOボタンをおすと新しいActivityに移動して現在のカウントを表示せよ。

https://gyazo.com/d24ba3ed30a560c1fea7c8ce49b34eae

MainActivity.java

   public class MainActivity extends AppCompatActivity {

    public static final String EXTRA_MESSAGE = "com.example.android.hellotoast.extra.MESSAGE";
            

    public int mCount = 0;
    private TextView mShowCount;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

    public void hello_btn_tapped(View view) {
        Intent intent = new Intent(this, Second.class);
        String score = mShowCount.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, score);
        startActivity(intent);
    }

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

Second.java

   public class Second extends AppCompatActivity {

    private TextView mTextView;

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

        mTextView = (TextView) findViewById(R.id.result_tv);

        Intent intent = getIntent();
        String score = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
        mTextView.setText(score);

    }
}

練習問題2

Lesson2でつくったImplicitIntentsアプリを改造して、カメラアプリケーションを起動せよ。
https://gyazo.com/b6e394e693f1c06a04710b59ef8bbdb5

MainActivity.java

   public class MainActivity extends AppCompatActivity {
   
   // 省略
   
   public void openCamera(View view) {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivity(intent);
    }
  }

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);
    }
}

2016年8月に読んだ本

15冊読んだ。

良かった本


インタビュー本。後半の横井哲学の話がおもしろい。

イマイチだった本

教場2

教場2


前作を読んでいたので読んだ。前作と同じで警察学校の話が永遠と続くので飽きてしまった。


enchantMOONを持っていないと読む意味があまりない。

2016年7月に読んだ本

18冊読んだ。

良かった本

2016年ベスト本。やり投げ選手の評伝。
朝井リョウの書評動画。

真夜中のおすすめ本「一投に賭ける 溝口和洋、最後の無頼派アスリート/村に火をつけ、白痴になれ」

ヤノマミ (新潮文庫)

ヤノマミ (新潮文庫)

NHKスペシャルのアマゾン特集を観て興味が湧いたので読んだ。
ヤノマミ族に密着。ガリンペイロは悪者として書かれている。
現在のヤノマミ族について知りたい。

イマイチだった本

該当なし。

2016年6月に読んだ本

7冊読んだ。

奇跡の脳―脳科学者の脳が壊れたとき (新潮文庫)

人生はマナーでできている

陽気なギャングは三つ数えろ (ノン・ノベル)

ヒキコモリ漂流記

節約する人に貧しい人はいない。

民間軍事会社の内幕 (ちくま文庫 す 19-1)

万引き老人

2016年5月に読んだ本

26冊読んだ。ノンフィクションをたくさん読んだ。小説は1冊も読まなかった。

良かった本

GO WILD 野生の体を取り戻せ! ―科学が教えるトレイルラン、低炭水化物食、マインドフルネス

GO WILD 野生の体を取り戻せ! ―科学が教えるトレイルラン、低炭水化物食、マインドフルネス


今年のベスト本。

脳を鍛えるには運動しかない!―最新科学でわかった脳細胞の増やし方と同じ著者だった。
週5日位運動しているので、自分がやっていることが間違っていなかったと安心できた。

イマイチだった本

リプレーの奇人不思議館

リプレーの奇人不思議館

ビックリ人間大集合。1930-1950年位の写真がたくさん載っている。
怪しい本だった。15分位で読み終わる。