2015年1月16日金曜日

1/16 「2015年のAndroidアプリ開発入門」セミナーの走り書き

即興で書いてるので聞き逃し多し。勘弁されたし。

2015年のAndroidアプリ開発入門 1限目


JDK(Java開発環境)、Android Studioのインストール。インストール全体の流れはようてんさんの[Android Studio] Hello, Android Worldが詳しく説明しているのでお勧めです。


  • Minimum APIは「API 21」
    minimumを21に設定するとLollipop端末未満の端末では動作しなくなります。流石にそれは寂しいので慣れてきたらAPI 15あたりをお勧めしたい。
  • プロジェクト設定のCompany name
    テストなら適当な名前で大丈夫。アプリ公開する場合ではダメ。というかGoogle Playで弾かれます =)。お勧めなのは自分でドメインを取ってそれを使う事です。COMドメインなら年間1000円以内で運用できますよ。私はムームードメインという会社で登録しています。ドメイン登録で必要とされている住所は代理で登録できるのでお勧めですよ =)。
    私は「synchack.com」で運用しています。
  • エミュレータの設定
    AVDManagerボタンを押下→『Nexus S』→『Lollipop armeabi-v7a』→『Finish』を選択。高解像度の設定を選ぶと起動や実行に時間が掛かるのでテスト用にはNexus S程度の画面の大きさがお勧めです。

Android Studioの主要ボタン
Android Studioの主要ボタン

開発環境が遅い、というのは起動環境を変更する方法があるんですが、まああまりお勧めはしないですね。


2015年のAndroidアプリ開発入門 2限目


これ、初心者には相当厳しい内容になってるぞ、、、

  1. ボタンを押してTextViewを変更する
  2. GPSより位置情報を取得する
    どうだろう。今だとAndroid開発者サービス(Google Play services)から位置情報を取得した方が電池の消費が抑えられると思うんだ。GPSを搭載していない機器も結構ありますしね。GPSのパーミッションの付け忘れ注意。GPSを使用するにはユーザーの許可が必要になります。エミュレーターでは位置情報を設定できます。Android Device MonitorのEmulator設定に位置情報を設定します。
  3. Google Geocoding APIより緯度情報から住所を取得する
    外部ネットワーク接続を行うにもパーミッション設定が必要です。HTTPConnectダイレクトで取得しようとしているのでまあエラーになるよね。Thread化が必要なんだけど、それは次の時間で。
  4. Weather Hacksより住所から天気情報を取得する

後でSourceは公開されるとのこと。

  • Ctrl+Pで引数情報が見れる
  • Android端末の動作確認ってどうよ?
    全部を動作確認するのは不可能。癖のある端末を中心に確認したらどうだろうか。
  • Eclipse(ADT)とAndroid Studioの違いどうよ?
    Android Studioの正式サポートと切り替えにADTのサポートは打ち切る事になっているのでこれから始めるのならAndroid Studioお勧め。
    NDKと付き合う人はもう少しADTと付き合う必要があるのかな?
  • アプリの容量制限はある?
    ある。公式情報は手元にないが調べれば出てくるはず。大きくなればそれなりの手法があるのであまり気にしなくていいのではないか。

APIレベルの変更


  1. 『Android』→『Project』に変更
    左上の押せるかどうかよく分からないエリアです。クリッククリック!
  2. app下のbuild.gradleを選択
    下の方にもう一つbuild.gradleがあるんですがそれはスルーで。
  3. minSdkVersionを15に変更
    対象の端末のAPIに合わせるといいですよ。


2015年のAndroidアプリ開発入門 3限目


2限目の延長になってます。なので2限目の資料を見ておくんなまし。

Androidのお約束


ネット系のクラスはUI Thread(Main Thread)で使ってはならないという掟。Android 3.xあたりでエラーになり始めた。UI Threadで処理を止めると画面更新が出来ないのよ。ANR、ダメ絶対。Windowsとかも同じなんだけど、まあアレは緩いOSなんで =)。

掟についてはエラーログにちゃんと書かれているので、動かない時は必ずログは確認しよう。

逆にUI関連は、Main Thread以外で操作してはならない掟もある。

Handler(+Thread)、AsyncTaskを活用しよう。


お約束で知っておきたい作法




日本語で説明してる。中級者向け。オススメ。

Intent呼出にによる画面遷移


①画面の単位はActivity。追加したActivityは、 AndroidManifest.xmlに記述する ②ActivityはIntentで呼び出す。Intentにはパラメーターを 設定して、呼び出し先のActivityから取得できる ③Intentには、明示的Intentと暗黙的Intentがある 

このスプラッシュ画面の手法はAndroid 2.x系からあるテクニックだが、Activityを消耗してしまうので今はオススメ出来ないかな。外部からのIntent情報が劣化するはず。どうしても上手く渡せないタイミングが出来てしまう。

ナウなヤングはFragmentを活用するとメモリもストレスも少なく、ユーザーにも優しいのでお勧め。難易度はややムズなのでIntent呼びでも悪くないよ。

Intentは、Androidならではの強力な機能なので活用しよう。Google Maps等の連携も楽。Parcelableも一緒に活用しよう。便利だぞ。

ライブラリの活用


Gradle(build.gradle)に設定するとさっくり更新してくれる。便利。


---

と言う事で、Androidで確実にはまる、HandlerやらAsyncTaskやらをさらっと流すあたり、ナカナカこれを理解するのは難しいとは思います。しかもこれからはLoaderでしょ、とか言い出すときりがないw。例外もJavaと本格的に取っ組み合わないと厳しいですしねえ。

頑張れ、としか =)。

---

元の書籍を立ち読みしてきたら、今回やっていたプログラムがまんま掲載してました。

Android Studioではじめる 簡単Androidアプリ開発
有山 圭二
技術評論社
売り上げランキング: 4,098

0 件のコメント:

コメントを投稿