Android アプリ作成(画面レイアウト編)

Android アプリ開発では
Activity を書き換えて拡張するそうです
この Activity ですが。
Android アプリの基本画面の制御につかわれるようです
例えば、ボタンの配置とか、ディスプレイタッチの検出など
そういった動作を処理しているようです
1つの Activity につき、Ⅰ画面なのですが
画面とはいっても、ボタンや検索欄などいろいろなパーツがあります
この入力欄などのパーツを view といいます
食べ物で言えば、Activity がトレイ
view が料理みたいなかんじです
トレイのどこに、配膳するか?みたいなかんじです
さて、この view 部品ですが、レイアウトするには
2つの方法があります
1、Activity の中で java でつくる
2、XMLで作って、resフォルダへ保存
  さらにjavaから読み込む
どちらが楽か?というと
2のほうが楽です
1では、java のソースコード(設計図)を改造します
今回は。XMLを改造します
Eclipse の左側にある
Package Explorer を最大化し
プロジェクト名 > res > layout >
main.xml というファイルをダブルクリックします
この .xmlがXMLファイルになります
このときに、Graphical Layout ならGUIで
main.xml なら XMLコードで記述して改造することになります
ちなみに、ここで、メイン処理を行っている java ソースコードについての
解説です
とはいっても、今回は改造しませんので
関数の解説です
onCreate() は Activity の初期化処理をかくところです
レイアウトを画面に適用する処理などは、ここに書くことになります
また、setContentView(R,layout.main);

この Activity に
res フォルダ内の
layout フォルダの中の
main.xml ファイルで定義した画面設定を適用
という内容になります
ということで
画面レイアウトの設定ファイルの指定は
setContentView() の中に
設定するという意味になるようです
それはさておき、main.xml の中を除いてみましょう
HTML や PHP のように タグが存在します
&lt/textview>
/>
という部分がありますが、これが画面に文字列を表示するための
View になっています
さすがに長くなってきたので、解説はまた明日以降になります

Android アプリ作成(プロジェクト作成)

日経Linux 2011-3 を参考に
Android アプリの開発の勉強です
開発環境に関しては ubuntu 10.10 を使用しています
Eclipse の設定(プラグイン追加など)は
スクリプトではできないので、Eclipse から操作しました
その他については
DropBox とスクリプトで開発環境
をベースにスクリプトで設定するようにしました
では、本題の Android 開発です
まずEclipse をたちあげ
File > New > Project

Android Project を選択して
next
を押します
次の画面で
ProjectName には プロジェクト名
Build target では アプリの動作対象のandroidバージョン
ApplicationName はアプリ名
Package name はパッケージ名
Android マーケットで管理するときに使用するようです
Create Activity は
アプリの起動直後に表示される画面を制御するための
基本プログラムの名前
Min SDK Version は
動作対象の Android API Level になります
どのバージョンでも動かすなら
空白にするようです
これらを入力した後に
Finish
を押すとプロジェクトができます

Android アプリの開発

日経Linux 2011 2月号を参考に、
Android アプリを開発する勉強をしています
興味深いものがあったので、メモしてみました
お財布ケータイ機能のライブラリー、技術資料をまとめた
android?adhoc?libs.zip

http://ap.pitsquare.jp/pc/developers/download.html
からダウンロードできます
ubuntu 10.10 で日本語セットアップヘルパを使って
zip を入れてある場合、
文字化けせずに解凍することができました
解凍は
unzip android_adhoc_libs.zip
で解凍できます
解凍してできたディレクトリの中にある
UFCUtility_1.0.1.jar
が必要となるようです
ファイルの場所は
解凍してできた
Android端末向けアドホック機能対応アプリ開発資料というディレクトリの中の
モバイルFelicaクライアントユーティリティライブラリ for Android
の中となります
さらに
付録DVDに収録されていたものをコピーするため
cp -p /media/LIN201102/article/toku2/AppListActivity.zip $HOME/nikkei_Linux/2011-02/
でHDDにコピー
そして、同様に解凍します
unzip AppListActivity.zip
で解凍
必要なファイルを任意のディレクトリに移動するために
今回は
mkdir $HOME/Android
cp -rp $HOME/nikkei_Linux/2011-02/AppListActivity $HOME/Android
cp -p $HOME/Android端末向けアドホック機能対応アプリ開発資料/モバイルFelicaクライアントユーティリティライブラリ for Android/UFCUtility_1.0.1.jar $HOME/Android
でまとめておきます
ここから後は、雑誌どおりにすすめるとできました
ただ、どうしてもエミュレータではアプリの起動まで
しか確認できません
近々、IS04 を購入予定なので、実機検証をそのときに
行ってみようと思います

最新のAndroid SDKと adb その2

adb の設定をしましたので、忘れずにメモ
今回、使用したのは
Android SDK r08 linux です
adb が収録されているのは
/android-sdk-linux_x86/platform-tools
の中にありますので
ここへパスを通します
私の場合。bin の中にありますので
vi .bashrc
で設定ファイルを開き、ファイルの最下行へ
PATH=$PATH:$HOME/bin/android-sdk-linux_x86/platform-tools
を追記します
その後、設定を有効にするために
source .bashrc
を実行します
これで、adb コマンドを実行可能になります
続いて、仮想化環境で作成した androidx86 へ接続します
まず、virtualbox の android x86 のIPアドレスを調べます
私の場合、ローカルIPは 192.168.10.177でした
IP アドレスがわかったら
adb connect を使う方法
を参考に
adb kill-server
adb start-server
adb connect 192.168.10.177:5555
これで接続します
接続確認するのには
adb devices
を実行
これで
List of devices attached のところに、接続しているデバイスが表示
されます
ちなみに、今回の私の環境では
192.168.10.177:5555 device
と表示されました
ここまで準備できたら、いよいよアプリ起動です
eclipse を起動し 作成した アプリのプロジェクトを選択
そして、アプリを実行しようとすると
どのデバイスで起動するかを聞かれますので
先ほど設定した device を選択します
これで、Virtualbox でアプリが起動します
Eclipse で起動したアプリを終了するには
ESCキーを押すことで終了できます
接続を切るには
adb disconnect IPアドレス
となります
今回なら
adb disconnect 192.168.10.177:5555
となります

最新のAndroid SDKと adb

android 開発を行っていて
ネットブックではエミュレータ起動がとても遅いため
以前、参考にしたサイト
Android エミュレータが遅いので、VirtualBox に Androidx86 をインストールしてみまし
を参考に、VirtualBox で起動することにしました
しかし、インストールはできたのですが、予想外のエラーになりました
原因は、最新版の Android SDK には
adb コマンドの場所が違う場所にあるため
以前のように、adb を打ち込んでもエラーになります
場所を探すため、ubuntu android sdk adb
で検索してみた結果
なんと
/android-sdk-linux_x86
の中の
platform-tools
の中に存在することが判明しました
これで、ようやく次のところへ進めます
とりあえず、ただ単にコピーすればいいのか、それとも、パスを通す必要かは
まだ検証していないため、不明です
今回の参考サイトは
Android-SDK2.3のadbが消えた件について(Windows)
です
adb を使った操作に関しては
Wifi接続でadbコマンドを使う
を参考にしました
おそらく、NATではなく、ブリッジ接続なら
VMware Player などで作成した android x86 でもアクセスすることができるはずです

DropBox とスクリプトで開発環境

日経Linux 2011-2 の記事を参考に、fedora14 へ
開発環境をいれようと試みたのですが、途中でコンパイルエラーがおきてしまい
先に進みません
この件に関しては、今後以前 fedora13 で行った方法で
再度挑戦してみようと思います
そこで、今回はfedora ではなく
ubuntu 10.10 32bit を使ってみました
ubuntu での実験は成功しましたので
今後の参考のために、記録しておこうと思います
まず、参考サイトとして
開発環境のインストール(Linux編)
を参考にしながらインストールしていきました
今回は、インストールログを元に、セットアップスクリプトを
作成し、必要なソフトと一緒に Dropbox へ保存しました
こうしておくことで、PCが壊れても簡単に
開発環境を修復できます
まず、最初に必要なソフトをダウンロードしてきます
Dropbox
http://www.dropbox.com/downloading
ここから必要に応じてダウンロードします
(今後、fedora 14 でも開発環境をいれれたら、そのときにはfedora でのスクリプト
を作成予定です)
Eclipse
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR1/eclipse-java-helios-SR1-linux-gtk.tar.gz
から
eclipse-java-helios-SR1-linux-gtk.tar.gz
をダウンロードします
ちなみに32bit です
AndroidSDK
http://developer.android.com/sdk/index.html
から
android-sdk_r08-linux_86.tgz
をダウンロードします
java-sdk に関しては ubuntu の場合
レポジトリを追加することにより、apt-get install で
インストール可能なので、ファイルのダウンロードはしませんでした
ダウンロード完了後、
最初に Dropbox をインストールします
Dropbox インストール後に、
eclipse-java-helios-SR1-linux-gtk.tar.gz
android-sdk_r08-linux_86.tgz
をDropbox のフォルダへ保存します
ここで、設定をするためのスクリプトを
Dropbox のフォルダで作成します
vi $HOME/Dropbox/setup_ubuntu.sh
でファイルを作成し
内容を以下のように記述します

#!/bin/bash
sudo apt-get -y install vim
sudo apt-get -y install nautilus-opne-terminal
sudo add-apt-repository ‘deb http://archive.canonical.com/ lucid partner’
sudo apt-get update
sudo apt-get -y install sun-java6-jdk
sudo update-alternatives –config java
mkdir $HOME/bin
tar zxvf $HOME/Dropbox/eclipse-java-galileo-SR2-linux-gtk.tar.gz -C $HOME/bin
echo -e ‘PATH=$PATH:$HOME/bin/eclipse’ >> $HOME/.bashrc
tar zxvf $HOME/Dropbox/android-sdk_r08-linux_86.tgz -C $HOME/bin
echo -e ‘PATH=$PATH:$HOME/bin/android-sdk-linux_86/tools’ >> $HOME/.bashrc
source ~/.bashrc

以上を記述したら
:wq
でファイルを保存し
sh setup_ubuntu.sh
を実行します
これで、あとは Eclipse のプラグインの設定を行っていくだけで
Android 開発環境を設定できます
$android
でAndroid のエミュレータなどの設定画面をだしたり
$eclipse
で eclipse の起動が行えるようになります
ちなみに。echo コマンドを記述するときに
echo -e ‘PATH=$PATH:$HOME/bin/android-sdk-linux_86/tools’ >> $HOME/.bashrc
のところで、シングルクオーテーションであること(’)
に注意してください
ダブルクオーテーションにしてしまうと
実行結果が最終行に追記されます

fedora14 でandroid 開発環境

日経 linux 2011 2月号で Android 開発環境の設定が
掲載されています
今回からの連載ということで、次回からが楽しみです
android と iPhone アプリの違いについて載っていました
ここ数年で一気に普及したandroid ですが
要因として、開発のしやすさがあるようです
まず iPhone では Mac で開発なのに対し
android では Windows Mac linux で可能
さらに、スマートフォンでテストする場合
iPhone は1万800円に対し
android は無料
そして、アプリの公開条件ですが
iPhone が米Apple 社の審査を通ること に対し
android の場合、初期登録費で25$のみ で審査なし
という状態のため、公開がしやすい環境となっています
数年すれば、android の市場がもっと拡大するのではないのでしょうか
というわけで。android の勉強を開始しています
まずは、fedora14 32bit をクリーンインストールします
例によって、VMware Player 3 で設定を行います
まず、最初に
yum -y install yum-fastestmirro
yum -y install nautilus-openterminal
yum -y update
を実行します
今後もこの設定は行うので
何度も行うのはさすがに面倒です
そのため、Dropbox に
setup_fedora14.sh
という設定ファイルを作成し
内容を
#!/bin/bash
yum -y install yum-fastestmirro
yum -y install nautilus-openterminal
yum -y update
としておきます
今後は、この設定ファイルを管理者権限で
sh setup_fedora14.sh
とすれば、インストールが行われます
今回、付属しているDVDに、必要なパッケージが収録されているので
これをHDDへコピーします
しかし、なぜか今回は仮想マシンがDVDを認識しないため
scp コマンドを使い。DVDにあるパッケージを転送します
scp /media/LIN201102/article/rensai_android/* snowpool@192.168.10.208:/home/snowpool/android
これで、収録されていたパッケージが無事に転送できました
続いて、
cd android
tar zxvf android-sdk_r08-linux_86.tgz
で解凍します
今回、この連載では jdk に openJDK を使うようです
これと、Eclipse を
yum コマンドで一気にインストールします
ただし、今回インストールするのは
java アプリ開発用の Eclipse です
yum -y install eclipse-jdt
でインストールします
ただし、パッケージが多いため、時間がかかります

Android 上でLinux カーネルデバッグ

Android 上で Linuxカーネルをデバッグするという記事を見かけたので
さっそく実験してみることにしました
参考サイトは
AndroidエミュレータでLinuxカーネルをデバッグ!!
です
今回の私の実験環境は、VMwarePlayer で作成した
Ubuntu 10.10 です
まず、最初に
$sudo add-apt-repository ‘deb http://archive.canonical.com/ lucid partner’
$ sudo apt-get update
$sudo aptitude install sun-java6-jdk
で sun-java をインストールします
次に、
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-
dev libesd0-devlibwxgtk2.6-dev build-essential zip curl libncurses5-
dev zlib1g-dev ddd
で必要なパッケージをインストールします
ただ、sun-java-5-jdk に関しては、それより新しいのが入っているのが
原因なのかはわかりませんが、インストールできませんでした
あと、気をつける点として、この長い分をコピペしようとすると
エラーになるところです
次に、開発環境用ディレクトリを
$ mkdir ${HOME}/mydroid
$ cd ${HOME}/mydroid
で作成
$ git clone git://android.git.kernel.org/kernel/common.git
で必要なソースなどをダウンロードするのですが
これがかなりかかるので、続きはまた明日以降になります

Android 開発環境(ubuntu 10.10 64bit)

ubuntu 10.10 に android 開発環境をいれたのに、
やたらとエラーがでるので、原因を調べてみたら
32bit互換のためのライブラリが必要 とのことでした
このため、
必要なパッケージをインストールすることにします
sudo apt-get install ia32-libs sun-java6-jdk eclipse
これで、ia32-libs をいれることで互換ができるようになります
今回の参考サイトは
Android on Linux
そして
podhmoの日記
を参考にさせていただきました
以前、fedora で android開発環境 実践編
で問題が起きなかったのは、32bit fedora 13 を使っていたためでした

Android 開発環境(ubuntu 10.04)

Android 開発環境をubuntu で作って見ようと思います
まずは、sun-java の jdk が欲しいのですが
これには、レポジトリの登録が必要になります
参考にしたサイトは
YoshioriのBlog
そして
OkadaHiroshiの日記
です
$ sudo add-apt-repository ‘deb http://archive.canonical.com/ lucid partner’
$ sudo apt-get update
を実行し、
システム->システム管理->Synaptic パッケージマネージャーを起動
そして
検索のところで
sun-java6-jdk
で検索し、インストール指定することでインストールできます