ドットインストールを使ってAndroidアプリ開発をしてみた

ドットインストールのAndroidアプリの講座をみてみました
まだあんまりないAndroid Studioでのサンプルで助かりました
覚えられることと、ポイントをメモします

ドットインストールの有料会員しか見れないものがほとんどです

Androidアプリ開発入門

http://dotinstall.com/lessons/basic_android
(覚えられること)
開発環境の構築
ログの出し方
クリックイベントの書き方

Androidレイアウト入門

http://dotinstall.com/lessons/basic_android_layout
(覚えられること)
LinearLayout
RelativeLayout
FrameLayout

(ポイント)
fill_parent/match_parent、で親要素めいいっぱいに広がる
match_content、で内容の大きさで広がる
gravity/layout_gravity、で位置を変更
layout_weight、でオブジェクトの大きさを比率で設定

Androidでおみくじアプリを作ろう

http://dotinstall.com/lessons/omikuji_android/
(覚えられること)
RelativeLayoutの画面の作り方
プログラムの書き方

(ポイント)
R.layout.activity_my
はresディレクトリ>layout>activity_my.xmlの参照

アクションバーを消す
AndroidManifest.xml
android:theme=”@android:style/Theme.Holo.Light.NoActionBar

Androidで姓名診断アプリを作ろう

http://dotinstall.com/lessons/namescore_android
(覚えられること)
2つ目の画面の作り方、データの渡し方
入力値のチェック、画面へアラートを出す

(ポイント)
EditText.setErrorでEditTextに警告が出せる
Toast.makeTextで下のほうに出る警告が出せる
AlertDialog、AlertDialog.Builderでポップアップの警告が出せる
Intentをつかって、違う画面を呼び出せる

Androidでストップウォッチを作ろう

http://dotinstall.com/lessons/stopwatch_android
(覚えられること)
時刻の差の取り方
Timerによる画面の値の更新

(ポイント)
SystemClockで時計の値がとれる
Timerで定期的に実行できる
画面の値の更新はシングルスレッドでする必要があるためHandlerで行う
SimpleDateFormatで時刻表示のフォーマットをする

Androidでウェブブラウザを作ろう

http://dotinstall.com/lessons/browser_android
(覚えられること)
ウェブブラウザがAndroidアプリ内で動かせる
メニューの増やし方
タイトルバーの文字の変更

(ポイント)
WebViewを使ってウェブブラウザを実装できる
インターネット通信をする許可をManifestファイルに書く
 
デフォルトではJavascriptが無効になる

Androidリストビュー入門

http://dotinstall.com/lessons/basic_android_listview
(覚えられること)
ListViewの使い方
ArrayListの使い方(動的配列)
HashMapの使い方(動的配列)
Classの作成
ViewHolderクラスをつくって、処理の高速化
setTag、getTagの使い方

(ポイント)
ListViewでwrap_contentは動作が重いため、match_parentに
ViewとのやりとりはAdapterでおこなう
setOnItemClickListnerでクリックイベントを設置
setEmptyViewでデータがないときのView
HashMapはSimpleAdapterを使う
BitmapFactory.decodeResourceでBitmapをセット
独自クラスのAdapterは独自Adapterでする
ViewLaout は画面に表示するぶんのViewだけ用意、スクロールすると画面からでたViewを再利用してViewを表示する
(最初から画面からはみでたViewは用意しない)

Androidでクイズアプリを作ろう

http://dotinstall.com/lessons/basic_android_listview
(覚えられること)
テキストファイルの読み込み
デバッガの使い方
画面の追加の仕方

(ポイント)
Intentで画面を呼び出す
startActivity(intent)で次の画面が起動
android:launchMode=”singleTask”で次の画面を起動しても一つの画面
元のActivityの戻るとonNewIntent()が呼ばれる

「入門Webデザイン」を読んだ

CGーARTS協会が出した、入門Webデザインを読んでみました

2006年発売で古いので、WEBの技術はひと昔前です
デサインのデッサン、パースペクティブ、ヒストグラム、ラスタ形式、ベクター形式、文字組、タイポグラフィの基本が学べたのが収穫(本には他にも広いジャンルがかかれてます)

© = マルシーマーク が勉強になったのでメモ

マルシーマークは、万国著作権条約に加入している国のみ効果あり日本は効力がない(機能的な意味がある)
日本はベルヌ条約加盟国で無方式主義を採用しているため、なくても著作権保護を受ける
どこの国でも受けたければ、マルシーマークと「All rights reserved.」を書けば良い

世界共通でなかったようです

「ハチドリのひとしずく」を読んだ

ハチドリのひとしずくという本を読みました

ハチドリのひとしずくでも、たくさんあつまれば火事も消せる..
と内容はもっと深くていい話で、エコを考える本です
読んで見てください

ひとしずくたらして意味ある?と批判してくる人もおいといて
何にもしない人たちもおいといて、
自分たちのやれることだけやっていく、には共感します

ハチドリの話から、実際にハチドリ計画というのが行われています

ハチドリ計画
http://www.sloth.gr.jp/hachidori/index.html

Android公式サイトのトレーニング「Building Your First App」をAndroid Studioしてみた

developer.android.comのTraining、Building Your First Appをしてみました
http://developer.android.com/training/basics/firstapp/index.html
Eclipseとコマンドラインで進められています
Android Studio でやったので、異なる点をあったのでメモします

Ubuntu 12.04でAndroid Studio 0.8.9でやりました
模索しながらやったのですが、もっと良いやり方がある気がしています

Building Your First App
JDKだの環境構築の説明

-> Creating an Android Project
設定画面が違います

ここまでの代わりにドットインストールのAndroidアプリ開発入門がわかりやすくていいと思います
http://dotinstall.com/lessons/basic_android
(次で出てくるAVDの作り方もこちらで)

こちらも参考に
UbuntuのJavaを入れ直してみた
UbuntuにAndroid Studioをインストールしてみる

-> Running Your App
sdkのバージョン指定は、AndroidManifest.xmlでなく build.gradleに書かれています

–> Run on a Real Device
こちらを参考に
UbuntuにAndroid端末をUSB接続で認識させる

–> Run on the Emulator
スペック低めのUbuntuマシンでやってて、面倒だったのでやりませんでした

Building a Simple User Interface
Viewの説明

-> Create a Linear Layout
Linear Layoutの説明
fragment_main.xmlがありません
代わりにactivity_my.xmlを修正しました(Blank Layoutを作ってできたlayout/内のxml)

-> Add a Text Field
EditTextを設置します
@はXMLからresource objectを参照するときにつける(違うXMLの値を見るとか)
+ははじめてつけるresource IDにつける
※ resource objectの説明はこの章を読み直す

-> Add String Resources
文字列をstrings.xmlに書いて分けておくことで多言語対応などやりやすいらしい

-> Add a Button
ボタン追加
幅、高さにwrap_contentとしておくと中の文字に合わせた大きさになる

-> Make the Input Box Fill in the Screen Width
テキストボックスとボタンの大きさを割合で表示
layout_weightは最初0
layout_weightを0より大きくすると、割合で大きさがいっぱいへ広がる
(1,0とすると1のものがあまったスペース分広がり、1,1とすると半々になる)

実行はEclipseと同じような実行ボタン(shift+F10)
ここまでで、画面一枚のアプリできあがり

Starting Another Activity
2つ目の画面の追加とデータの渡し方

-> Respond to the Send Button
ボタンのクリック処理をつくります

fragment.xmlはないので、activity_my.xml
javaのファイルは、srcディレクトリでなく、src/main/java/(プロジェクト名)ディレクトリ

-> Build an Intent
Intentというオブジェクトが2つのコンポーネント間のやりとりをしてくれます
importしてないclassの自動import記載は、ALT+Enterでできます

Intentの説明はここを読み直す

-> Create the Second Activity
Activityの追加は、File>New>Activity
画面が違います
PlaceholderFragmentはできてない
onCreateメソッドがActivityのインスタンスを作成する

–> Add the title string
タイトル文字列の用意
Android Studioでも自動でしてくれます

–> Add it to the manifest
android:parentActivityNameに親のActivityを指定すると前の画面へ戻るナビゲーションを自動で用意してくれる

-> Receive the Intent
getIntentでIntentが受け取れ、セットしてた文字列がとれる

-> Display the Message
前の画面で渡した文字列を表示する
TextViewをコードだけで生成し、layoutへ表示させる
setContentView(textView)でlayoutへ表示

これで簡単な2画面アプリができました