Android の勉強をしていて、コマンドからでも起動できないかな?
ということで
実験してみました
emulator @AVDName
で起動できます
仮に AVDName が
test2.2
だった場合
emulator @test2.2
となります
ちなみに、このコマンドから起動させるには
adb や android sdk へのパスを通しておく必要があります
ubuntu 10.10 なら
$HOME/.bashrc
へ
追記します
vi で開いて書き込むのは面倒なので
echo -e ‘PATH=$PATH:$HOME/bin/android-sdk-linux_86/tools’ >> $HOME/.bashrc
echo -e ‘PATH=$PATH:$HOME/bin/android-sdk-linux_86/platform-tools’ >> $HOME/.bashrc
source ~/.bashrc
としました
カテゴリー: android
アプリケーションをAndroidマーケットに登録
3月になり、いつもなら、日本企業の資金還流によって
円高になるので、この機会にAndroid マーケットへの登録をして
おこうと思います
Android マーケットに登録するには
Googleアカウント
クレジットカード
そして開発者登録費用の
25ドルになります
クレジットカードの決済には最終日の為替レートで
計算されやすいので、この円高の機会に行って
おこうと思います
ちなみに、この登録は、無料アプリで
有料アプリを公開するには、また別の方法が必要のようです
アプリケーションをAndroidマーケットに登録する
と
書籍、Google Android アプリ開発ガイド 第2番
を参考にすすめていきます
まず。Google アカウントですが、
Androidマーケットなどに情報として公開されること
そして
もし、DevPhone を購入するときのパケットの問題を回避するために
新規にアカウントを作成したほうがよさろうです
私は、新規にアカウントを作成しました
新しくアカウントを取得したら、
http://market.android.com/publish
へアクセスし、登録を開始します
書籍情報だと古い可能性が高いので
念のため 検索し
Android Market に開発者登録してみた [日記]
も参考にしました
開発者の登録画面は、現在では日本語化されているようです
デベロッパー名には、開発者名
つまり、自分のハンドルネームでよいとおもいます
メールアドレスは、Google のアカウント
というか g-mail のアドレスがデフォルトで入っているので
そのままです
ウェブサイトは、自分のブログとかでもいいと思うのですが
(というより、私はこのブログしかありませんので)
空欄でも問題はないです
まぁ問題がでてきたら、のちのち修正しようかなと思っています
また、電話番号を登録する必要がありますが
これは国際電話の番号になります
Android Market に開発者登録してみた [日記]
と
Google Android アプリ開発ガイド 第2番
によれば、
先頭に「81」をつけ、市外局番の先頭の0を取り除いた番号
とのことですが
そもそも固定電話など使わないし、携帯しか使っていないので
ここは
携帯の番号に +81
をつけてみました
この電話番号は非公開扱いで
何かトラブルとかがあった場合に Google から連絡をするためのもの
とのことです
規約は変わりますので、今後もこのままとは限りませんが
とりあえずは、携帯にしておきました
続いて、チェックアウトの画面にいきますが
このときに、念のために、Android マーケットデベロッパー販売/配布契約
のところをクリックし
画面の規約書を名前をつけて保存しておきます
(なにかあったときに、契約書は証拠にもなります)
まぁAndroid の普及具合からして問題はないとおもいますが
ただ、カード番号登録の画面で、国際電話ではなく
日本の携帯電話で普通に登録をしてしまいました
まぁ問題があれば、そのうちメールが届くでしょう
ここまでで、アプリのアップロードはできるようですが
まだ登録が完了していないようです
土日なので、もしかしたら休みなのかもしれません
Android アプリ作成(タッチ処理編)その4
Android アプリ作成(タッチ処理編)その3
の続きになります
まず、
public class test2Activity extends Activity {
の下に
SoundPoll sp;
int sound;
を記述し、
赤いラインがでているので、
SoundPoll のところへカーソルを持っていって
import SoundPoll (Android widget)
をクリックし、インポートします
int sound は音声ファイルの読み込みに使うための変数です
次に、
sp = new SoundPool(1,AudioManager.STREAM_MUSIC, 0);
を記述します
例のごとく、自動的に候補がでますので
実際にはかなり楽に書き込めます
続いて
sound = sp.loa
まで書き込むと候補がでてきますので
load(Context context, int resid, int priolity); int – SOundPool
を選択すれば自動的に書き込まれます
context を this へ、
resid を R.raw.dummy-message
と指定しようとしたのですが
[2011-02-19 00:07:17 – Test2] res/raw/dummy-message.wav: Invalid file name: must contain only [a-z0-9_.]
となるため、ファイル名を変更します
Eclipse の raw > dummy-message.wav
を右クリックし
Refactor > Rename
もしくは
Shift + Alt + R
を押してファイル名を変更します
ファイル名を dum.wav
にして
resid を R.raw.dum
pliority を 1
へ変更します
そして
Button button = (Button)findViewById(R.id.Button02);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sp.play(sound, 1.0f, 1.0f, 0, 0, 1.0f);
}
});
を追加します
sp.play(sound, 1.0f, 1.0f, 0, 0, 1.0f);
は、音声再生の設定です
play()
の中の数値ですが、左から
サウンドの番号
左スピーカーの音量 (0.0~1.0)
右スピーカーの音量 (0.0~1.0)
優先度 (0が最優先数値になる)
再生速度 (1が標準。2で倍速、0.5で半分)
となります
かなりわかりにくくなったので、以下が
main.xml の全文になります
-------------------------------------------------------
package jp.co.nikkeibp.test2;
import android.app.Activity;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class test2Activity extends Activity {
SoundPool sp;
int sound;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sp = new SoundPool(1,AudioManager.STREAM_MUSIC, 0);
sound = sp.load(this, R.raw.dum, 1);
Button button = (Button)findViewById(R.id.Button02);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sp.play(sound, 1.0f, 1.0f, 0, 0, 1.0f);
}
});
}
}
--------------------------------------------------—-
Android アプリ作成(タッチ処理編)その3
Android アプリ作成(タッチ処理編)その2
をさらにカスタマイズし、音がでるように改造します
参考資料は、日経Linux 2011-03 です
新しく res の下に raw というディレクトリを作成します
まず
res ディレクトリの上で右クリックし
New > Folder
で設定ウィンドウがでてきますので
Folder name: の欄へ raw と入力し
Finish
をクリックします
これで、ディレクトリが作成されます
ちなみに、英語なのは
私の場合
DropBox とスクリプトで開発環境
にあるように、スクリプトでインストールしたときに
日本語化処理を行っていないためです
今後、英語のサイトなどを使うときの練習として
なるべくプログラミングは日本語化せずにできそうなものは
英語にしてみようと思っています
幸い、Eclipse は日本語化されて説明されていることが
多いので単語を置き換えながら
進めれば、なんとかなります
習慣化してくれば、気にならなくなります
日経 Linux 2011-03では don.wav
というファイルを使っているそうですが、
ubuntu には入っていませんし、再現性の問題から
デフォルトで入っている音源を使おうと思います
サンプルの音声が
/usr/share/sounds/
の中にありますので、好きなディレクトリの中のファイルから
使うことにします
今回は
ubuntu 10.10
の中の
/usr/share/sounds/speech-dispathcer/
の中にあるダミーメッセージファイルになる
dummy-message.wav
を使います
これをドラッグ&ドロップして、Eclipse の
raw ディレクトリにもっていきます
これで、音声ファイルが用意できましたので
それでは、引き続き java コードの改造をしていきます
今回、追加するのは
SoundPool クラス
(ゲームやボタンクリックの効果音など
比較的短い音声再生につかうらしいです)
load メソッド
(音声ファイルの読み込みに使用)
playメソッド
(音声ファイルの再生に使用)
今回は、変更するために、いちど
setContentView(R.layout.main);
の下からの部分を切り取ります
切り取るのは
Button button = (Button)findViewById(R.id.Button02);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TextView textView=(TextView)findViewById(R.id.TextView01);
textView.setText(“ボタンをクリックしたよ”);
}
});
の部分です
念のため、後で直せるように
アプリケーション >
アクセサリ > Tomboy メモ
で新しいメモを開き、
張り付けておきます
これで、最悪の場合、この部分を張り付けて元に戻します
これで、バックアップもできたので
安心して機能を追記できます
Android アプリ作成(タッチ処理編)その2
Android アプリ作成(タッチ処理編)
の続きになります
ちなみに、参考書籍は 日経 Linux 2011-03です
写真入りの解説なので、わかりやすいです
ここで、main.xml のTexiView01 を取得し、 Text の
内容を変更する処理を追記します
public void onClick(View v) の下に追記します
TextView textView=(TextView)findViewById(R.id.TextView01);
今回もインポートすることが必要になるので
import TextView (Android widget)
をクリックします
これにより、文字列を表示する機能
TextView を使えるようになります
そして、その下へ文字列を表示する設定を記述します
文字列を表示するには
setText()
を使います
textView.setT
まで入力すると、候補がでてきますので
setText(CharSequence text);void
を選びます
そして、() の中を
“ボタンをクリックしたよ”
というように書き換えます
textView.setText(“ボタンをくりっくしたよ”);
という文になります
あとは保存して、実行すればボタンを押すことで
ボタンの下の文字が変わることを実感できるはずです
Android アプリ作成(タッチ処理編)
今度は、簡単な処理をする動作をつくってみます
まず、TextView を追加します
追加するには
Graphical Layout で
TextView をドラッグ&ドロップします
さらに
Show in > Propeties
で
T3ext の値を @string/hello
へ変更します
また、
main.xml の layout?height を wrap_content
にして文字に合わせ
layout_width を fill_parent にして
画面に合わせました
ここからは処理機能を追加するので、java のソースコードを改造していきます
まず、
src
というディレクトリの2階層下にある
Activity.java
を開きます
もう少し正確にいえば
アプリケーション名(testapplicationなど) >
src >
パッケージ名(jp.co,nikkei.testapplicationなど) >
Activity.java
という階層になっています
今回は Button2 をクリックしたら
TextView の内容が変わるというシンプルなものです
まず、
setContentView(R.layout.main);
の下に
Button button = (Button)findViewById(R.id.Button02);
を追記します
まだButton が java の標準機能に組み込まれていないので
Eclipse で赤い下線が引いてある Button にカーソルを合わせ
import “Button” (Android wodget)
をクリックすることでインポートされます
これを行うことで、
import android.widget.Button;
が追記されます
この次に、ボタンを押したときの処理を書きます
ボタンをクリックしたときの処理は
setOnClickListener() を使いますが
全部入力せずとも
Button.setOnC
まで入力すれば、Eclipse で候補をだしてくれるので
該当するものをダブブクリックすれば自動入力されます
このときできた
Button.setOnclickListener(1)
の1の部分を消し
new View.setOnClickListener
を追記するのですが
new View.OnC
まで入力すれば、さきほどと同じように Eclipse が候補を選別してくれます
これにより、自動的に
public void onClick(View v){
}
が追記されます
Eclipse ってほんとに便利だと思います
Android アプリ作成(ボタン表示編)その3
引き続き。Android プログラミングです
今回は、前回までとは異なり、main.xml ではなく
string.xml
を変更していきます
一般的に、レイアウトはmain,xml
文字列は string.xml で記述するようです
文字列を追加するには
string.xml の
Resource タグをクリックし、GUI で設定するか、もしくは
string.xmlを改造します
Resources で文字列を追加するには
Add > string
で設定画面をだし
Name に button1
Value に ここを押して
と入力します
これで、自動的に string.xml に追記されています
これで、新しくボタンを
Graphical Layout で Button をドラッグ&ドロップし
作成します
プロパティを変更したいので
ボタンの上で
右クリック ≫ Show in > Properties でプロパティ画面をだします
今回は、 string.xml の設定を反映させてみたいので
Text の部分に @string/button1 を記述します
さらに、
layout width を fill_parent へ変更します
これで、新しくできたボタンには
ここを押して
という文字が表示されています
また、main.xml には
<Button android:id=”@+id/Button02″ android:layout_height=”wrap_content” android:text=”@string/button1″ android:layout_width=”fill_parent”>
というコードが追記されます
今回の例からわかったのは
string.xml ファイルから
<string name=”button1″>ここを押して
を呼び出しているように
string.xml からソースを読み込むには
@string/NAMEの値
を指定するということです
つまり、今回の場合なら
<string name=”button1“>ここを押して
になるというわけです
Android アプリ作成(ボタン表示編)その2
引き続き、ボタン設定の続きです
今回は、作成したボタンの設定をかえてみます
ボタン作成については
Android アプリ作成(ボタン表示編)
に箇条書きでメモってますので
参考にしてください
ボタンのレイアウトを変更するため、
XMLを変更します
現在、初期の状態では
Layout height
つまり、ボタンの高さ
そして
Layout witdh
ボタンの幅
の設定が
wrap_content
になっています
このwrap_content は
文字のサイズに合わせて、自動でサイズ調整する
という意味になります
これを画面の幅に合わせるようにするには
fill_parent
に変更します
変更の方法ですが
Graphical Layout を使う方法と、
main.xml を編集する方法があるのですが
Grahical layout を使って
表示されているボタンの上で 右クリック > Properties > fill_parent
となるはずですが
私の環境ではできなかったので
直接 main.xml
を編集しました
main.xml のなかに
%lt;Button android:id=”@+id/Button01″ android:text='”ぽちっとな (笑)”‘ android:layout_width=”wrap_content” android:layout_height=”wrap_content“>
という部分がありますので
この wrap_content を fill parent へ変更します
%lt;Button android:id=”@+id/Button01″ android:text='”ぽちっとな (笑)”‘ android:layout_width=”fill_parent” android:layout_height=”wrap_content”>
これで、ボタンの横幅が文字ではなく
画面の大きさに合わせたものに変わります
また、サイズ指定も可能です
%lt;Button android:id=”@+id/Button01″ android:text='”ぽちっとな (笑)”‘ android:layout_width=”100px” android:layout_height=”wrap_content”>
というようにすれば、サイズも指定できます
Android アプリ作成(ボタン表示編)
こんどは、ボタンの表示についての勉強です
前回は、文字の表示の変更でした
今回は、ボタンを配置します
前回、使用した main.xml ファイルにある
<TextView
android:layout_widh=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello”
/>
の部分を削除します
ちなみに、この意味ですが
fill_parent は画面と同じ幅で文字を表示
wrap_content で高さを自動的に調整
@string/hello で string.xml のhello の値を画面に表示
となります
では、今回のボタンの配置になります
XMLを記述するという方法もありますが
残念ながら、面倒でもあり、そもそもXMLを理解できていないため
GUIで操作できる
Graphical Layout を使い、Buttonをドラッグ&ドロップし
右側にある画面に配置します
これはIDEなどでアプリを作るときによく使います
このパズルのような画面と、ソースコードがリンクしているので
このパズルのような画面に部品を
ドラッグ&ドロップで配置すると
main.xml の中にもXMLのソースが自動的に記述されます
この追加したボタンのうえで右クリックし
Show in > Properties を選択すると、プロパティを出せますので
この中の値から、Text を探し、
Value のところに好きな文字を記述します
英語でなら問題ないのですが
日本語の場合、value に記述するときには
“” で囲みましょう
<例>
“このボタンを押しましょう!!”
これで、文字を変更したときのように、
実行をすれば、ボタンを配置したアプリが起動します
Android アプリ作成(画面レイアウト編)その2
ひきつづき Android プログラミングの勉強です
アプリの画面レイアウトには
XMLをいじる
もしくは
javaソースコードを改造する
のどちらかを使います
今回は、XMLをいじります
Eclipse の左側にある
Package Explorer を最大化し
プロジェクト名 > res > layout >
main.xml というファイルをダブルクリック
その main.xml の中に
android:text =”@string/hello”
という文があります
この意味は、res ディレクトリの中の
values の中にある string.xml を参照し
hello 属性の値を読み込む
ということになります
このことから
string.xml で表示する文字を管理
main.xml でどこに表示するか決定
Activity に反映
というのが文字表示の流れになっています
極端な話、
プロジェクトでできたアプリの文字列を変更したいなら
string.xml の中の
<string name=”hello”> Hello world testr Activity </string>
のタグの中の部分を
<string name=”hello”> アンドロイド実験です </string>
というよにタグの中を表示したい文字にするだけで変更可能です
あとはこれを保存し、実行すると変更が反映されます
また、アプリの名前を変更するには
<string name=”app_name”> test</string>
のタグの中のtest の部分を 好きなアプリ名に変更することで
アプリ名を変更できるようになります
たとえば、
<string name=”app_name”>実験アプリ</string>
とすると、アプリ名が実験アプリになります
このように、固く考えず
まずはソースの改造くらいから行うと
おもしろく開発できるようになっていくと思います