2016年12月に読んだ本

8冊読んだ。

良かった本

空気を読んではいけない

空気を読んではいけない


格闘家の自己啓発本

イマイチだった本

ヨーロッパ旅行記。著者は女性なので厳しいが、アングラな貧困地区のレポートも読みたかった。

2016年11月に読んだ本

9冊読んだ。

良かった本


石井先生の本なので著者買い。コラム形式で読みやすい。

イマイチだった本

八甲田雪中行軍遭難事件の謎は解明されたか改訂版

八甲田雪中行軍遭難事件の謎は解明されたか改訂版


以前から八甲田雪中行軍遭難事件に興味があったので読んだ。
過去の八甲田雪中行軍遭難事件本を批判して自分の研究が正しいと一方的に主張している。

2016年10月に読んだ本

18冊読んだ。

良かった本


冒険家、登山家で亡くなっている人が沢山いるのは知らなかった。後半は壮絶。柳田邦男の解説も良い。

明るい夜に出かけて

明るい夜に出かけて


アルコ&ピースANNファン必読。ラノベみたいにスラスラ読める。著者が年配の女性だったのが一番驚いた。

サウナとサ道について - phaの日記

この記事を読んで気になったので読んだ。週一で銭湯に通うようになった。体の調子が良い。

「鬼畜」の家:わが子を殺す親たち

「鬼畜」の家:わが子を殺す親たち


凶悪事件のノンフィクション本のなかでも後味が悪い本。貧困は連鎖するというが、DVも連鎖する。恐ろしい。

イマイチだった本

該当なし。

2016年9月に読んだ本

6冊読んだ。

上野アンダーグラウンド

徳は孤ならず 日本サッカーの育将 今西和男

東京どこに住む? 住所格差と人生格差 (朝日新書)

SOFT SKILLS ソフトウェア開発者の人生マニュアル

さよならインターネット - まもなく消えるその「輪郭」について (中公新書ラクレ 560)

貯金兄弟 (PHP文庫)

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