Androidアプリを作成するにあたって、アプリのメニューで利用するアイコンを他のアプリと共通にする目的でAndroidの標準アイコンを使いたいことがあると思います。(アイコンを作るのが大変というケースもあるかと思いますが…)
xmlでアイコン指定をする方法は、iconとして"android:drawable/アイコン名" を指定します。
例えば、以下のような形で res/menu/menu.xmlファイルを指定します。
android:icon="@android:drawable/ic_meu_info_details"
指定可能なアイコン名については、タオソフトウェアさんのブログが参考になります。
参考リンク:Android メニューアイコン (タオソフトウェアさんブログ)
2010年5月9日
2010年5月5日
NetBSD5.0のBluetoothをデバッグする方法
最近、NetBSD5.0でBluetoothを利用して色々と試しています。
カーネルのBluetoothスタック関連でのデバッグを行う方法をメモ代わりに書いておきます。
デバッグの種類としては、"Bluetoothスタックのデバッグ"と"ドングルのデバッグ"の2種類があります。
ここでは、ドングルとしてはUSBタイプのドングルを利用するものとして記載します。(ちなみに私が使用しているのは、PlanexのBT-MicroEDR2です)
まずはカーネルでデバッグオプションを有効にしてカーネルをビルドします。設定するオプションは、BLUETOOTH_DEBUG と UBT_DEBUG の2種類。カーネルのコンフィグファイル(e.g. /usr/src/sys/arch/i386/conf/GENERIC)に以下のように追記します。
この設定でカーネルをビルドし、ビルドしたカーネルにて起動します。ただ、これだけではデバッグ文は出てきません。デバッグ文を表示するには、sysctlコマンドにてデバッグレベルの設定を行います。例えば、以下のような形式です。
カーネルのBluetoothスタック関連でのデバッグを行う方法をメモ代わりに書いておきます。
デバッグの種類としては、"Bluetoothスタックのデバッグ"と"ドングルのデバッグ"の2種類があります。
ここでは、ドングルとしてはUSBタイプのドングルを利用するものとして記載します。(ちなみに私が使用しているのは、PlanexのBT-MicroEDR2です)
まずはカーネルでデバッグオプションを有効にしてカーネルをビルドします。設定するオプションは、BLUETOOTH_DEBUG と UBT_DEBUG の2種類。カーネルのコンフィグファイル(e.g. /usr/src/sys/arch/i386/conf/GENERIC)に以下のように追記します。
options BLUETOOTH_DEBUG
options UBT_DEBUG
この設定でカーネルをビルドし、ビルドしたカーネルにて起動します。ただ、これだけではデバッグ文は出てきません。デバッグ文を表示するには、sysctlコマンドにてデバッグレベルの設定を行います。例えば、以下のような形式です。
# sysctl -w net.bluetooth.debug=11
# sysctl -w hw.ubt_debug=51これでデバッグ文が出力されるようになります。ちなみにsysctlで設定する値(上記の例では"11"とか"51")はデバッグレベルで値が大きいほどより詳細なデバッグ文が出力されます(その文、デバッグ文の量が増えます)。このあたりは、NetBSDでの他のドライバのデバッグと同じところですね。上記設定を行うと全てのデバッグ文が有効になります。デバッグ文を減らしたい場合は、値を小さく設定すればよいかと思います。
2010年5月3日
Javaの命名規則に関して…
元々Javaはほとんどやったことがない(Cばかり)だったんですが、最近Javaのコードをよく読んでます。
Javaのコードを読んでいて、"mなんちゃら"とプレフィックスに"m"がつく変数がよくでてくるのですが、この意味が分からなかった…。Sun(Oracle)が出しているコーディング規約にも、言及されている部分は見つからず。
Webで色々と調べてみたところ、変数のスコープを明示するために付けているスコープ接頭辞とのこと。
"m"が付いているのは、その変数がメンバー変数であることを表している模様。
なるほどー。
Javaのコードを読んでいて、"mなんちゃら"とプレフィックスに"m"がつく変数がよくでてくるのですが、この意味が分からなかった…。Sun(Oracle)が出しているコーディング規約にも、言及されている部分は見つからず。
Webで色々と調べてみたところ、変数のスコープを明示するために付けているスコープ接頭辞とのこと。
"m"が付いているのは、その変数がメンバー変数であることを表している模様。
なるほどー。
2010年1月11日
Androidアプリのパーミッション設定
Androidアプリケーションを作成するにあたって、例えばネットワーク接続等を行なうアプリケーションはパーミッションの設定を行なう必要があります。
それに関して、簡単な覚書。
パーミッションの設定を行なうためには、アプリケーションのAndroidManifest.xmlに設定を記述必要がある。これについては、以下のドキュメントが参考になります。
Manifest.permissionクラスのjavadoc
それに関して、簡単な覚書。
パーミッションの設定を行なうためには、アプリケーションのAndroidManifest.xmlに設定を記述必要がある。これについては、以下のドキュメントが参考になります。
Manifest.permissionクラスのjavadoc
2010年1月10日
Androidアプリの勉強中
最近、Androidアプリを勉強しています。
少しWebを調べれば分かることだけれども、個人的な覚書として少しずつ記録していきます。
Activityのライフサイクル
Androidのアプリケーションは、基本的に"Activity"という単位で管理される。
各Activityは個別のライフサイクルを持っており、(アプリケーションが個別に実装した内容以外にも)特定のタイミングでシステムからコールされるメソッドがある。
アプリケーションを作成するにあたっては、これらのメソッドをオーバーライドする形で実装を進めていく。ライフサイクルに関連するメソッドは以下の通り
onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart()
詳細は、Androidのリファレンスを参照のこと
少しWebを調べれば分かることだけれども、個人的な覚書として少しずつ記録していきます。
Activityのライフサイクル
Androidのアプリケーションは、基本的に"Activity"という単位で管理される。
各Activityは個別のライフサイクルを持っており、(アプリケーションが個別に実装した内容以外にも)特定のタイミングでシステムからコールされるメソッドがある。
アプリケーションを作成するにあたっては、これらのメソッドをオーバーライドする形で実装を進めていく。ライフサイクルに関連するメソッドは以下の通り
onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart()
詳細は、Androidのリファレンスを参照のこと
2010年1月3日
JNI(Java Native Interface)で、ネイティブからJavaのコードを呼び出す(の参考サイト)
2009年11月3日
Java開発環境(SDK)のセットアップ
Javaの開発を行う必然性が生じて、環境のセットアップを行う。
開発環境自体はpkgsrcを用いてセットアップする。その作業の覚書。
まずは、インストールするSDKのバージョンを決める。
Package一覧を見ると、J2SE1.4, J2SE5.0, J2SE6.0がある。最新版のJ2SE6.0をインストールすることにする。
まずは、/etc/mk.confに以下のエントリを追加する。
インストールを行うためにはバイナリファイルを自分でダウンロードしてくる必要がある。(ライセンスの関係?)
http://java.sun.com/products/archive/から"JDK 6u14"と"JRE 6u14"のLinux版をダウンロードし、/usr/pkgsrc/distfilesにファイルをおく。
以下のコマンドでインストール作業を実行
続いて、/etc/fstabに以下を追記する。
インストールしたjava関連コマンドは /usr/pkg/java/sun-6/bin/ 配下に置かれるので、PATHの設定を行う。これでOK!
開発環境自体はpkgsrcを用いてセットアップする。その作業の覚書。
まずは、インストールするSDKのバージョンを決める。
Package一覧を見ると、J2SE1.4, J2SE5.0, J2SE6.0がある。最新版のJ2SE6.0をインストールすることにする。
まずは、/etc/mk.confに以下のエントリを追加する。
ACCEPTABLE_LICENSES+= sun-jdk6-license
インストールを行うためにはバイナリファイルを自分でダウンロードしてくる必要がある。(ライセンスの関係?)
http://java.sun.com/products/archive/から"JDK 6u14"と"JRE 6u14"のLinux版をダウンロードし、/usr/pkgsrc/distfilesにファイルをおく。
以下のコマンドでインストール作業を実行
$ cd /usr/pkgsrc/lang/sun-jdk6/
$ make
$ make install
$ make clean
$ make clean-depends
続いて、/etc/fstabに以下を追記する。
procfs /emul/linux/proc procfs rw,linux
インストールしたjava関連コマンドは /usr/pkg/java/sun-6/bin/ 配下に置かれるので、PATHの設定を行う。これでOK!
2009年11月2日
Adobe Readerのインストール
これまでNetBSDではPDFファイルは見ていなかった(Windowsですませていた)のだけれども、いい加減使い勝手が悪いので、Adobre Readerをインストールすることにする。
まずは、pkg_addでバイナリをインストールしようと試みるもエラー発生。
調べてみると、pkgsrcではバイナリ版のパッケージは用意されていなかった。(おそらくライセンス関係の問題だと思われる)
では、ソースコードからのビルドを実行。今度はビルドエラーが出た。
エラーメッセージの内容にしたがい、/etc/mk.conf に以下のエントリを追加
ただ、これだけだと日本語のフォントがインストールされていないので、acroread7-jpnfontもインストールする。これでOK!
まずは、pkg_addでバイナリをインストールしようと試みるもエラー発生。
調べてみると、pkgsrcではバイナリ版のパッケージは用意されていなかった。(おそらくライセンス関係の問題だと思われる)
では、ソースコードからのビルドを実行。今度はビルドエラーが出た。
$ cd /usr/pkgsrc/print/acroread7/
$ make
ERROR: This package has set PKG_FAIL_REASON:
ERROR: acroread7-7.0.9nb2 has an unacceptable license condition:
ERROR: adobe-acrobat-license
(以下略)
エラーメッセージにある通り、ライセンスの関係から意図的にエラーとしている模様。エラーメッセージの内容にしたがい、/etc/mk.conf に以下のエントリを追加
ACCEPTABLE_LICENSES+= adobe-acrobat-license
この修正を加えた上で、以下のコマンドでインストール成功! $ cd /usr/pkgsrc/print/acroread7/
$ make
$ make install
$ make clean
$ make clean-depends
ただ、これだけだと日本語のフォントがインストールされていないので、acroread7-jpnfontもインストールする。これでOK!
2009年11月1日
ath0: device timeout
NetBSD5.0を使用していて、無線LANドライバで以下のような警告(?)メッセージが表示される。
調べてみると、NetBSDのメーリングリストで以下の解決策が記載されていた。
/etc/sysctl.conf に以下を追加する。
ath0: device timeout (txq 1, txintrperiod 5)
ath0: device timeout (txq 1, txintrperiod 4)
ath0: device timeout (txq 1, txintrperiod 3)
ath0: device timeout (txq 1, txintrperiod 2)
このメッセージが何なのかはサッパリ分からない。調べてみると、NetBSDのメーリングリストで以下の解決策が記載されていた。
/etc/sysctl.conf に以下を追加する。
hw.ath0.txintrperiod=1
これで、とりあえず警告メッセージは表示されなくなった。
2009年10月1日
Goole Android を試してみる。
Google Androidが気になっていて、今回開発環境にトライしてみる。
基本的には、"Android Developers"のサイトに従ってインストールおよびHelloAndroidプロジェクト実施。しかしながら、エミュレータの動作が非常に遅くて、なかなか難航しています。
エミュレータの動作が遅いのは、Googleで調べると色々なところで指摘されている模様。
私の環境では、「仮想デバイス」を作成して初回の実行ではうまく動作するが、2回目以降はいつまでたっても起動しなかったり・・・。今後、この点についてちょっと調べないとなと思っています。
Androidの仮想デバイスに関する操作については、JavaDriveさんのサイトが大変参考になります。
JavaDrive : http://www.javadrive.jp/android/index.html
ちなみに、個人で使用している環境は以下の通り。
OS : Windows XP Professional SP3
Eclipse : Eclipse 3.5 (Galilero)
Android SDK : Android SDK 1.6R1 (Windows用)
CPU : Pentium-M 1.7GHz
メモリ : 1GB
基本的には、"Android Developers"のサイトに従ってインストールおよびHelloAndroidプロジェクト実施。しかしながら、エミュレータの動作が非常に遅くて、なかなか難航しています。
エミュレータの動作が遅いのは、Googleで調べると色々なところで指摘されている模様。
私の環境では、「仮想デバイス」を作成して初回の実行ではうまく動作するが、2回目以降はいつまでたっても起動しなかったり・・・。今後、この点についてちょっと調べないとなと思っています。
Androidの仮想デバイスに関する操作については、JavaDriveさんのサイトが大変参考になります。
JavaDrive : http://www.javadrive.jp/android/index.html
ちなみに、個人で使用している環境は以下の通り。
OS : Windows XP Professional SP3
Eclipse : Eclipse 3.5 (Galilero)
Android SDK : Android SDK 1.6R1 (Windows用)
CPU : Pentium-M 1.7GHz
メモリ : 1GB
# 余談。Android携帯には興味があるが、私的な理由で個人的にauにしたいと思っています。(現在はSoftbank)現時点ではNTT DocomoからしかAndroid携帯は発売されていませんが、来年('10年)にはAUからも発売されるのかな?
登録:
投稿 (Atom)