Androidアプリ開発を勉強し始めました
お盆ですね。バイト先の学生がみんな帰省しちゃってバイトばかりしてる気がします。(自分は9月ごろ帰省する予定です)
タイトル、これまで「Androidアプリ開発勉強はじめました」って3回くらい言ってる気がする。もう冷やし中華のノリ。
今回は1週間後に控えた短期インターンがAndroidアプリ開発に関連することなので、割とまじめにやろうかと思います₍₍ (ง ˘ω˘ )ว ⁾⁾
きょうやったこと
schooの"はじめてのAndroidアプリ開発 - 計算機アプリをつくろう"を受講した
今日は録画で1~3限まで見ました。 電卓を題材にAndroidアプリ開発の流れを学べました。 ただいまいち理解は深まってない感じはある。写経して動いておぉ!ってなっただけな感じ。まだ授業は完結してなくて来週の火曜日に4限目があるのでそれも見る予定。
昨日、思い切ってschooのプレミアム学生になったので、録画も見放題になりました。 生放送だとどうしても見逃すところがあって、そこでついていけなくなるけど、録画は戻れるので良いですやっぱり。
今回受講した中で特に3限目の「プログラムの整理の仕方(設計)を学ぶ」のところがとても勉強になりました。内容としてはリーダブルコード的なものでした(まだ読んだことないけど)。以下に軽くまとめてみる。
プログラムはどうして複雑になるのか
機能を増やすとプログラムも増える
- if文を追加…
- 新しいメソッドを追加…
- 新しい部品を追加…
大きく複雑なプログラムになる
- どこに何があるか分からない
- 変更の影響が広範囲に及びやすくなる
こういう問題に"立ち向かわなければならない"
読みやすいプログラムとは
使いやすいプログラムとは
- プログラムの実行する内容がシンプル
- メソッド名が目的を端的に表している
- クラスの役割が明確に分けられている
設計パターンをおさえる
デザインパターンとも言う。オブジェクト指向プログラミングにおいて、デザインパターンを利用すると開発者にいろいろメリットがある。以下のサイトが詳しい。
いまいち設計パターンは理解できなかったけど、"なんか使うと良いらしい"的な理解はした(適当)
実際に動くアプリも作れました
ドットインストールで基礎を学んだ
ドットインストールは基礎の基礎から丁寧に教えてくれる印象がありますが、AndroidStudio導入の部分から教えてもらえます。レイアウト入門は特に知りたいところを網羅的にかつ端的に図を使って説明してくれるところが良かったです。
おみくじアプリを作った
ちょっと自分なりに工夫しようかと思って、ボタンのデザインをAndroid-Bootstrapを利用していい感じにしてみました。
ただ、これを使うとマテリアルデザインの水面に波紋が広がる感じのアニメーションがなくなってしまうので、どうなんだろうって思いました。
このアプリを作る過程で学べたこととしてはテキストの色の指定等。
テキストの色の変え方
Color.RED Color.rgb(255,255,255) Color.argb(127,255,255,255) // aはアルファで透明度を指定できる127で50%の透明度となる Color.parseColor("#ff0000") // 16進数で指定できる
乱数の発生のさせ方
// 0-2の乱数を生成 Random randomGenerator = new Random(); int num = randomGenerator.nextInt(results.length);
テーマの変え方
- デザインに統一感を持たせるためにテーマが存在する
- コードで指定したテーマはアクティビティの画面を編集する際に出てくるプレビューとは全く連動していない
- 連動していないので、テーマを変更してもプレビューに反映されない または プレビューでテーマを変更したのにエミュレータでテーマが反映されない等混乱する可能性があるので注意
- プレビューはテーマ表示に不具合がある場合があるので基本的にエミュレータで動作確認すべき
Strings.xmlでのテキスト管理
- Strings.xmlを使うことで多言語対応も可能
名前診断を作った
エラーメッセージの表記方法やIntentについて学んだ。
名前が入力されてなくて空だった場合に表示するエラーメッセージの出し方のレパートリーはいろいろある
その1 setError
myEditText.setError("Please enter your name");
その2 Toast
Toast.makeText( this, "Please enter your name!", Toast.LENGTH_SHORT ).show();
その3 AlertDialog
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder .setTitle("Error!") .setMessage("Please enter your name!") .setPositiveButton("OK", null); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show();
AlertDialogは動作が重いのでアレらしいから今回は使わず
少し基礎ができた
気がする。
ほんきで学ぶAndroidアプリ開発入門 Android Studio、Android SDK 5対応
- 作者: 寺園聖文
- 出版社/メーカー: 翔泳社
- 発売日: 2015/07/13
- メディア: Kindle版
- この商品を含むブログを見る
半月前にこの本を買って、さらーっと1/5くらい読んだけど、なんかレベル高いなーと思ってモチベが下がってしまいました。
なので今回は学習動画コンテンツを中心にやっていきました。
やっぱり学び始めの触りは本よりも動画が向いてるのかもしれない。
まだ写経しかできないけど、コツコツやっていこう。