Androidプログラミング・メモ

by K.I
2014/05/12〜

Index


概要

JDKインストール

開発環境Eclipseインストール

Android SDKインストール

Android Development Tools(ADT)インストール


[top]

アプリケーションを作ってみる

プロジェクト作成

MainActivity.java(Blank Activity)

MainActivity.java(Empty Activity)

activity_main.xml

メニューの追加

アイコンの付いたメニューの追加

showAsAction属性 表示方法
never 常に表示しない
ifRoom 表示する場所があれば表示
always 常に表示する
withText titleのテキストを表示
collapseActionView actionViewLayoutの指定と関連付ける

[top]

Android端末と接続

開発者向けオプションを有効に

ドライバインストール

認識されない

アプリケーションの転送

AVDエミュレータの起動

エミュレータが起動しない

wifiで接続

adbコマンド一覧

参考: ターミナルからIntentを投げる

アプリケーションのデータにアクセス

adbが繋がらなくなった時


[top]

サンプルプログラムを試す

サンプル回路の配線

LPC11U35ファームウェアの書込み

Androidのプロジェクトをインポート

画面レイアウト

プログラムソース

Android端末にアプリ書込み

動かしてみる


[top]

Githubへプッシュ

EGitのインストール

Githubで新規リポジトリを作成

ローカルリポジトリへのコミット

リモートリポジトリへプッシュ

Google Plugin for Eclipse

code.google.comからのインポート


1でも、この設定以外にもいろいろやったかもしれない、やはり前述の記事を参考にした方が良いと思う。
2公開指定。この場合無料で使用可能。
3一般的なプロジェクトとしてインポートを選ぶと、プロジェクトとして認識されない様な気がする。
4どうして、エラーマークが消えるのか良く分からない。ダメな場合もあるかもしれない。

[top]

プログラム関連メモ

Activityのライフサイクル

リソース

フォルダ/ファイル 定義内容 XMLで参照 Javaで参照
res/layout/xxx.xml レイアウト @layout/xxx R.layout.xxx
res/drawable/xxx.png アイコン @drawable/xxx R.drawable.xxx
res/menu/xxx.xml メニュー @menu/xxx R.menu.xxx
res/values/strings.xml ストリング(文字列) @string/xxx R.string.xxx
参考: リソースの定義と指定

ボタンのイベント処理

参考: 美しいOnClickListenerの実装方法 →何故こんな書き方をしてるのか良く分かった(ような気がする)

LogCatを使う

用途 メソッド
デバッグ(debug) Log.d
エラー(error) Log.e
情報(info) Log.i
詳細(verbose) Log.v
警告(warm) Log.w
参考: デバッグログを表示する

Toastを使う

Toastの色を変える

アラートダイアログ

エミュレータが起動しなくなった

SDKアップデートしたらエラーが

参考:Android SDKアップデート後のエラー対応

Intentとは

Intentによるデータの受け渡し

Handlerとは

一定時間後に処理

アイコンの作り方

参考: アイコンのデザインガイド

多国語対応

参考: Androidアプリの多国語対応の方法 →ここは、他にもいろいろ参考になりそうです

ListView

Spinner

StyleファイルでThemeをカスタマイズ

レイアウトからViewを取得

レイアウトの基本

onDrawで部品のサイズを取得

Selectorで文字色を変更

Selectorで背景色を変更

枠線をつける

Dialogの表示

TEXT入力ダイアログ

リソースからデータを取得

getResources出来ない

wait_ms

効果音を鳴らす

シャッター音を鳴らす

Backキーを無効に

ビルド日付の取得

インストール日付の取得

TargetApi

Androidのバージョンコード

コードネーム バージョン
1.0
1.1
Cupcake 1.5
Donut 1.6
Eclair 2.0
Froyo 2.2
Gingerbread 2.3
Honeycomb 3.0
Ice Cream Sandwich 4.0
Jelly Bean 4.1
KitKat 4.4
Lollipop 5.0
Marshmallow 6.0
Nougat 7.0
Oreo 8.0

Eclipseメモ


5+を付けると、新しくIDを生成して、Rクラスに追加するらしい。ID以外にも使えるのかな?
6じゃない場合もある様だ。よくわからん。。
7サイズ考えないと、waitとは逆の大きさになっちゃたりする。なんで、こんな分かりづらい仕様にしたんだろう。
8pressed以外に、selected,focused,checkedとか、いろいろあるらしい。
9AndroidのXMLって、わけわからん仕様が多い気がする。
10この日付は、なんか意味のあるものなんだろうか。

[top]

エラー

ResXMLTree_node size 0 is smaller than header size

参考: XMLのエラーは分かりにくい

Rを変数に解決できません

xxxxxは解決できないか、フィールドではありません

Failed to install xxxxx.apk on device 'xxxxxxxx': タイムアウト

R.javaがエラー

参考: Androidのバージョン違いによるサンプルの動作について

〜 {xxxxxxxx}; have you declared this activity in your AndroidManifest.xml?

この行に複数マーカーがあります

参考: Android初心者がよくやる失敗

指定されたファイルが見つかりません

宣言されたパッケージが、予想されているパッケージに一致しません

There is no android project named

FileNotFoundException

SuperNotCalledException

起動時のエラー

SDcardのファイルを認識出来ない

LogCatが表示されない

targetがunknownになって実行出来ない

beginBatchEdit on inactive InputConnection

Can't create handler inside thread that has not called Looper.prepare()

xxxxxxxx cannot be cast to android.widget.TextView

Can't create handler inside thread that has not called Looper.prepare()

InflateException

異なるメソッドで定義されたインナー・クラス内で非 final 変数 xxxx を参照できません

EditTextをタップして表示されたキーボードがすぐ閉じる


11別のパッケージのActivityを使う場合は、package名を付けることを忘れないように。

[top]

参考


[top] [プログラムの部屋に戻る]

comments powered by Disqus