Androidアプリケーションの開発に興味が出たので,Androidアプリケーションの開発環境を構築しました.
Androidの開発環境を導入する手順[1][2]は要約すると以下の通りです.
① "JRE"のインストール(eclipse実行用)
② "Eclipse IDE for Java EE Developers"をダウンロード
③ Eclipseに"ADT Plugin"をインストール
④ "Android SDK"をダウンロード
⑤ "Android NDK"をダウンロード(使わない人は導入しなくて良い)
Androidの開発環境の導入が終わると,EclipseからAndroidエミュレータを起動することができます.
しかし,このエミュレータの起動が遅い!
起動コストが高すぎる!
この対処法として,VirtualBoxにAndroidOSをインストールして起動コストを下げる方法[3]を実行しました.
これの導入には少し手間取ったので,次の投稿に導入の詳しい説明を記述しようと思います.
[参考資料]
[1] 安生真, 柴田文彦, 藤枝崇史: 初歩からわかるAndroid最新プログラミング, インプレスジャパン(2010)
[2] マンガで分かるAndroid開発環境構築方法: http://crocro.com/write/android/wiki.cgi?p=%A5%DE%A5%F3%A5%AC%A4%C7%CA%AC%A4%AB%A4%EBAndroid%B3%AB%C8%AF%B4%C4%B6%AD%B9%BD%C3%DB%CA%FD%CB%A1
[3] 仮想環境へAndroidをインストールしてエミュレートを高速化する: http://sites.google.com/site/technoute/android/emulator/virtualbox
2011年11月13日日曜日
タイトル・デザインを変更
タイトルとデザインを変更しました.
デザインは「Bloggerのお勧め」をポチポチクリックしていった所,こんな感じになりました.
Twitterとかアクセスカウンターのガジェットは消えたけど\(^o^)/
問題無し.
デザインは「Bloggerのお勧め」をポチポチクリックしていった所,こんな感じになりました.
Twitterとかアクセスカウンターのガジェットは消えたけど\(^o^)/
問題無し.
2011年8月9日火曜日
モンティ・ホール問題
確率の本を読んでいるとモンティ・ホール問題に出会ったので,暇つぶしにプログラムを作ってみる.
モンティ・ホール問題 ~進行の手順~
①三つの扉が用意される.このうち,一つが当たり.残りの二つがはずれである.
②あなたが一つの扉を選ぶ.
③司会者が残りの二つの扉のうち,はずれの扉を開ける.
④この時点で,あなたに扉を選び直す権限を与えられる.
⑤「あなたは扉を選び直しますか?」
こんな感じの問題.
Javaで作成.
上記の通り,10万回試行してみる.
結果は…
この通り.
当たりの扉を選びたいならChange!
モンティ・ホール問題 ~進行の手順~
①三つの扉が用意される.このうち,一つが当たり.残りの二つがはずれである.
②あなたが一つの扉を選ぶ.
③司会者が残りの二つの扉のうち,はずれの扉を開ける.
④この時点で,あなたに扉を選び直す権限を与えられる.
⑤「あなたは扉を選び直しますか?」
こんな感じの問題.
Javaで作成.
import java.util.Random;
public class MontyHall {
boolean chengedoor;
int loopcount;
int success = 0;
Random rand= new Random();
MontyHall(boolean changedoor, int loopcount){
this.chengedoor = changedoor;
this.loopcount = loopcount;
execute();
printResult();
}
private void execute(){
for(int i=0 ; i<this.loopcount ; i++){
//答えをセット
int answerNo = this.rand.nextInt(3);
//ユーザが選択
int userNo = this.rand.nextInt(3);
//司会者が一つ選ぶ(答えの扉以外)
int obserNo = -1;
if(answerNo == userNo){
int r = this.rand.nextInt(2);
switch(answerNo){
case 0:
if(r==0) obserNo=1;
else obserNo=2;
break;
case 1:
if(r==0) obserNo=0;
else obserNo=2;
break;
case 2:
if(r==0) obserNo=0;
else obserNo=1;
break;
}
}
else{
obserNo = 3-(answerNo+userNo);
}
//回答チェンジ!
if(this.chengedoor)
userNo = 3-(userNo+obserNo);
// 答え合わせ
if(userNo == answerNo)
this.success++;
}
}
private void printResult() {
String type = "";
double sucper = (this.success / (double)this.loopcount)*100;
if(this.chengedoor){
type="Change! ";
}
else{
type="NoChange";
}
System.out.println(type+":"+sucper+"%");
}
public static void main(String args[]){
int loopcount = 100000;
new MontyHall(true,loopcount);
new MontyHall(false,loopcount);
}
}
上記の通り,10万回試行してみる.
結果は…
Change! :66.982%
NoChange:33.283%
この通り.
当たりの扉を選びたいならChange!
2011年7月28日木曜日
JSONObjectでサンプルを作成
JSONObjectの使用方法を(Steins;Gateを見ている人に)説明するための,サンプルを作成した.
出力結果(chromeで表示)
// 研究所json
JSONObject lab = new JSONObject();
// 人物情報json
JSONObject okabe = new JSONObject();
okabe.put("name", "岡部 倫太郎");
okabe.put("nickname", "オカリン");
JSONObject mayusii = new JSONObject();
mayusii.put("name", "椎名 まゆり");
mayusii.put("nichname", "まゆしぃ");
JSONObject daru = new JSONObject();
daru.put("name", "橋田 至");
daru.put("nichname", "ダル");
JSONObject chris = new JSONObject();
chris.put("name", "牧瀬 紅莉栖");
chris.put("nickname", "助手");
// らぼめんjson
JSONObject labmember[] = new JSONObject[4];
labmember[0] = okabe;
labmember[1] = mayusii;
labmember[2] = daru;
labmember[3] = chris;
lab.put("研究所名","未来ガジェット研究所");
lab.put("所在地" ,"東京");
lab.put("タイトル", "Steins;Gate");
lab.put("ラボメン",labmember);
print(lab);出力結果(chromeで表示)
GAE/J JSON出力
GAE/Jを操作する上でのメモ.
GAE/J上でJSONを出力させるために,JSONICライブラリを使用しようとすると以下のように注意される.
net.arnx.jsonic.JSON is not supported by Google App Engine's Java runtime environment
どうやらサポート対象外らしい.
仕方なく他のライブラリを探していたところ,GAEのAPIにJSONObjectを扱うものを見つけたので使ってみる.(パッケージ名:com.google.appengine.repackaged.org.json)
結果,問題なくPOJO⇔JSONへ変換できました.やったね!
おしまい.
GAE/J上でJSONを出力させるために,JSONICライブラリを使用しようとすると以下のように注意される.
net.arnx.jsonic.JSON is not supported by Google App Engine's Java runtime environment
どうやらサポート対象外らしい.
仕方なく他のライブラリを探していたところ,GAEのAPIにJSONObjectを扱うものを見つけたので使ってみる.(パッケージ名:com.google.appengine.repackaged.org.json)
結果,問題なくPOJO⇔JSONへ変換できました.やったね!
おしまい.
2011年4月28日木曜日
iPad2 発売!
本日やっとiPad2が発売されました。
朝のテレビニュースで紹介されているのを見たところ,カメラ機能が搭載されてるようです。
あー、ソフマップに触りに行きたい!
なんでiPad2が欲しいの?と父親に聞かれたので理由を挙げると、
・ノートPCより軽い
・起動が早い
・PDFを印刷する手間とコストを省くことができる
・楽しそう
・触りたい
といった感じ。
この中では、後者二つの理由が大きな要因かな。
タッチパネル操作の処理がスムーズだと、触ってるだけで楽しいもんね。
朝のテレビニュースで紹介されているのを見たところ,カメラ機能が搭載されてるようです。
あー、ソフマップに触りに行きたい!
なんでiPad2が欲しいの?と父親に聞かれたので理由を挙げると、
・ノートPCより軽い
・起動が早い
・PDFを印刷する手間とコストを省くことができる
・楽しそう
・触りたい
といった感じ。
この中では、後者二つの理由が大きな要因かな。
タッチパネル操作の処理がスムーズだと、触ってるだけで楽しいもんね。
2011年4月25日月曜日
腰痛の結果
午前中に整形外科へ行き、レントゲンを4枚取ってもらったところ、
「運動不足による筋力低下が原因ですねー。骨には全く異常ないですよー。」
とのこと。
あれー?ヘルニアかなーとか思ってたのは何だったのか。
ただの運動不足でした。良かったー!
よく柔軟しときます。
それにしても、レントゲンの写真を見たところ、人間の背骨は本当に太いということを実感した。
こんな太い骨が折れるなんて、KOFのクラークさんのアルゼンチンバックブリーカーぐらいしか想像できない。
「運動不足による筋力低下が原因ですねー。骨には全く異常ないですよー。」
とのこと。
あれー?ヘルニアかなーとか思ってたのは何だったのか。
ただの運動不足でした。良かったー!
よく柔軟しときます。
それにしても、レントゲンの写真を見たところ、人間の背骨は本当に太いということを実感した。
こんな太い骨が折れるなんて、KOFのクラークさんのアルゼンチンバックブリーカーぐらいしか想像できない。
登録:
投稿 (Atom)
