App Inventor を初体験

日経Linux 2011-05 を参考に、
パズルのように Android アプリを開発できると聞いた
App Inventor をインストール、実権してみました

今回、実権に使った環境は、ubuntu 10.10 32bit です
今回、必要なパッケージである
appinventor-setup_1.1_all.deb
は付録DVDに収録されていたので、これを使います
まず、最初に
cp /media/LIN201105/article/toku2/appinventor-setup_1.1_all.deb $HOME
でコピーします
java開発キット JDKが必要なので
sudo add-apt-repository ‘deb http://archive.canonical.com/ lucid partner’
sudo apt-get update
sudo apt-get -y install sun-java6-jdk
でインストールします
次に
sudo dpkg -i appinventor-setup_1.1_all.deb
でインストール
firefox&
でブラウザを起動し
Alt + d でURLに移動
http://appinventor.googlelabs.com
へアクセスし、
google のアカウントを使い Sign inします
ここででてくる
I accept the terms of service
をクリックすれば、
ログイン完了です
プロジェクトをつくるには
画面右上の MyProjects をクリックします
残念ながら、ちょっと今回の書籍の説明だけではわかりにくいので
App inventor 使い方 とか 
App Inventor 入門などで検索して調べると
いろいろと情報がでてきます

Android アプリ作成(インテント編)その5

今回も、日経Linux 2011-05 を参考に
アプリ開発の勉強です
今回は Google ストリートビューを使ったものになります
前回使用したコードを改造します
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“http://itpro.nikkeibp.co.jp“));
startActivity(intent);
}

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“googles.treetview:cbll=35.710883,139.796321“));
startActivity(intent);
}
とします
この35.710803 が緯度
139.796321 が経度
となります
ちなみに、
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“geo:35.710883,139.796321“));
startActivity(intent);
}
にすると、Google マップのほうで表示されます
さらに、このストリートビューには
カメラ視点をかえることができます
緯度、経度の後に
&1,ヨー,,ピッチ,ズーム
を追加すればできます
ヨーは、北からの時計回りの角度
ピッチは少しわかりにくく、
真上は -90
真下は 90
ズームの倍率が少々わかりにくく
2倍なら 2.0なのに、
4倍になると 3.0
となるようです
少し検索してみましたが、
Anderoid googlestreetview ズーム
ではでませんでした
とりあえず、まずは実行して検証するということで
実権開始
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“google.streetview:cbll=35.710883,139.796321“));
startActivity(intent);
}

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“google.streetview:cbll=35.710883,139.796321&cbp=1,10,,10,1“));
startActivity(intent);
}
にして実行すると
見事に雷門の画像がでてきます
この経緯度を自分の好みの場所にすることで
画面に表示することができます

Android エミュレータのサイズ変更

Android エミュレータのサイズを変更してみました
今回の参考サイトは
Galaxy Tab の Android エミュレータの画面サイズを変更するです
通常の画面サイズでなら問題はなかったのですが
VMware Player でエミュレータを起動したら
大きすぎて入りませんでした
どうやら、デフォルトは9ぐらいのようです
起動するエミュレータを選んで 
start を押して出てくるウィンドウで、
scale display to real size にチェックを入れ
Screen Size (in): を 7
にし、Launch するとちょうどよい大きさになりました
今回、起動させたモニタサイズは19インチです

Android アプリ作成(インテント編)その4

インテントで、地図を軽度、緯度で指定し、
geo:経度,緯度
で指定してもエミュレータでエラーになるので、検索してみました
その結果
謎めいたインテント
によりますと、
地図を使って表示するには、
エミュレータのターゲットとして「Google APIs」を選択する必要があるようです
これが原因でいくらやってもエラーになっていたようです
しかたがないので、
新規でエミュレータを作成し、起動します
この状態で、再度 Eclipse で実行をすると
どのエミュレータを使って検証するかを聞かれるので
新規に作成したエミュレータを選択し
実行することで解決しました

Android アプリ作成(インテント編)その3

インテントの中身を変更することで、
電話をかける画面を表示できるそうなので、
さっそく実験してみました
tel:電話番号
ということなので、
さっそくソースコードを改造します
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“http://itpro.nikkeibp.co.jp“));
startActivity(intent);
}
となっているのを
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“tel:123456789“));
startActivity(intent);
}
とします
これで、電話をかける画面がでてきます
ちなみに、実際の機体ではないので、自宅の電話番号や
携帯の番号でかける実験をしてもかかることはありませんでした
また、連絡帳を開くこともできるようです
パスである content://contacts/people/
を指定するとでるらしいのですが
私の環境では
You don’t have any contacts to display
To add contacs, press menu and touch
Accounts to add or confiture an account with contqcts you can sync to the phone
new contact to create a new contact from scratch
Import/Export
とエラーがでます
おそらく、連絡帳がないためのエラーと思われます
ちなみに、変更して実権するなら
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“http://itpro.nikkeibp.co.jp“));
startActivity(intent);
}

public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“content://contacts/people/“));
startActivity(intent);
}
というように変更します
このように、少し改造するだけでかなりの改良をすることができるので
なれてくると
さらにおもしろいものができそうです

Android アプリ作成(インテント編)その2

前回の続きになります
今度は、
Test4Activity.java の中身を編集します
public void onClick(View v){
}
を追記し、View のところに赤い波線でエラーが出ているので
これにマウスを持っていくと、メニューがでてくるので
import ‘View'(android.view)
をクリックすると、自動的に
Eclipse へ追記されます
Eclipse には、このようにいろいろと自動処理してくれる機能があるので
便利なのですが、使い慣れないとかなり混乱します
ちなみに、今後 このimport という機能は多々使うことになります
もちろん、自分で最初に import の部分を記述してもいいのですが
なれないうちは、最初にソースを丸写しし
とりあえずインポートできるものはインポートする
ぐらいに考えておいたほうが混乱せずにすみます
今回、インテントの機能を使うために
次に追記するところがあるのですが
これも
同じようにインポートしないとエラーになります
Intent intent = newIntent(Intent.ACTION_VIEW,Uri.parse(“http://itpro.nikkeibp.co.jp”));
startActivity(intent);
これを追記します
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“http://itpro.nikkeibp.co.jp”));
startActivity(intent);
}
というようになるのですが、
このときに Intent の部分にまたエラーがでますので、
前回と同じように
マウスをもっていき、
import ‘Intent'(android.content)
を選択してインポートします
また、Intent.ACTION_VIEW
のような . の後に続く文は .を書いた後にリスト表示されることが
あるので、この中から選択することでタイプミスのリスクを
軽減できます
このインテントですが、
アクションとデータで構成されているようです
Intent.ACTION_VIEW の部分がアクションで
このデータを表示して
という意味になっているようです
,Uri.parse(“http://itpro.nikkeibp.co.jp”)
で、この指定したURLを表示するようにしています
ちょっと応用するなら、
http://itpro.nikkeibp.co.jp
の部分を
http://www.yahoo.co.jp
にすれば、表示するのは Yahoo! の画面になります
もうちょっと変更するなら、
main.xml でText の部分を
インテントを使う
ではなく、
Yahoo へジャンプ!
と書いて、とぶURLを yahoo にすることもできます
ソースをちょっと改造することが理解のコツです

Android アプリ作成(インテント編)

今回も日経Linux 2011-05 を参考に、
Android のプログラミングを行っています

今回、作成するアプリは
インテントという機能をつかったもののようです
このインテントですが
アプリから別のアプリの機能を呼び出し
処理をするようなものらしいです
マッシュアップのようなかんじですかね
まずは、いつものように新しく作成していきます
ちなみに、私の環境はubuntu で
Eclipse は日本語化していません
ゆえに、以下のログは
英語のメニューになっています
まず Eclipse を立ち上げ
File > new > Project

Android project を選択し、next をクリック
Project Name に
本にあるように
Test4
Build Target へ
Android 2.2
Application name へ
Test4
Package name へは
jp.co.nikkeibp.test4
create Activity には
TestActivity
Min SDK Version へは
4
とします
できあがったプロジェクトの中の
res/layout/main.xml
を編集していきます
今回、行う作業は
Graphical Layout を使ったものになりそうです
いつもなら、そのまま雑誌の内容を再現するのですが
今回は少し変わっていますので
その変更点をメモしてみました
まず、ボタンの配置ですが
Form Widgets
の中に
Button というGUIのパーツがあるので、これを
ドラッグ&ドロップで配置してみました
次に、プロパティをだす方法ですが
ボタンの上で右クリックし、
次に
Show in > Propeties
を選択することで表示されます
このなかにある値で
Text
という項目を探します
アルファベット純に並んでいるので、
比較的見つけやすいと思います
この項目の Value
のところを変更します
この value は値という意味です
Text の value は、表示する文字ですので
これを変更することで、ボタンの表示文字が変わります
私の環境の場合、初期値は
Button でした
(書籍では @+id/Button01でした)
書籍では
Layout_width
を wrap_content から fill_parent にしていますが
とくに不便はないため
これは放置
wrap_content は
自動調整
fill_parent は画面と同じ幅で文字を表示という意味です
また、
on click の value のところに
onClick
としておくことで、イベントリスナーの
処理コードを書くのを省略できるようです

今回の日経Linux はおもしろそう

今回、日経 Linux 2011-05 を購入したのですが
かなり興味深い記事がありました

まだ、実際に実験に使う機材が届いていないので
今回は紹介だけです
まず。
低価格な Android タブレットPC Ziio 7″
のroot 権限奪取です
今回購入したのは、以下の機種になります

そして、プラグコンピュータを改造して
サーバーにするというものです
いままでは、仮想化を使うことで
サーバーの構築やプログラミング環境をつくったりしていますが
今回、もう少しスキルアップするために
ハードウェアの改造を行っていこうと思います
ポゴプラグというプラグコンピュータを改造するのですが
検索してみた結果では、いまいちわかりませんでした
参考記事として
pogoplugを買いました。
の記事をみながら、どの機材を購入するか、現在検討中です

IS04 ようやくアップデート

IS04 がようやくアップデートされます
情報ソースは
KDDI、「REGZA Phone IS04」のEメールなどを改善するソフトウェア更新を実施
からです
今回のアップデートにより
充電器に8時間以上接続し続けた場合、以降の充電が停止する
受信したEメールが文字化けする
ヘッダサイズの大きいEメールが受信できない
Eメールのあて先入力欄に表れるメールアドレス一覧が
ランダムに表示
という不具合が改善されるようです
IS04からの場合
「設定」→「システム設定」→
「ケータイアップデート」からアップデート
でアップデートできます
ただし、所要時間は最大約135分
約2時間ちょっとかかるようです
PC経由でのアップデートの所要時間は約20分
なのですが、
こちらは
S04に登録されたアドレス帳、
ダウンロードデータ、ユーザーが設定した情報、
インストールしたアプリなどのデータはすべて削除される
(初期化される?)
ようなので、やめました
PCからアップデートする場合、
富士通のWebサイトから「ソフトウェア更新」ファイルをダウンロードし、
PCと接続したIS04にインストール
するらしいのですが
家のネット速度が現在 28 kbps なので
ダウンロードは絶望的なのでやめました
家の回線は、YahooBB 26 Mbps なのですが
実測値は全然出ません
一番よくても、1.4Mbpsです
(まぁベストエフォートなので、実際に26Mbps はでません)
RedhatEnterPrise 6 の無償版をダウンロードするときには
友人の家で行って着ました
自宅でダウンロードの予想終了時間は24時間8分後でしたが
友人宅で
光回線(NTT西日本)でダウンロードしたときには
6分で終了しました

電子書籍作成公開サービス

最近、ようやく電子書籍が増えてきました
この背景には、iPhone や Android の影響もあり、
電子書籍を読む端末が増えてきたこともあるような気がします
今回、おもしろいと思ったのが、
週刊アスキーに載っていた
パブーというサービスです
利用そのものは無料で
自分で電子書籍の販売ができるようです
このときの売上の7割が収入となり、3割はパブーのものになります
なんだか、Android や iPhone アプリのようです
ちなみに、こちらのアプリ生成で得た利益の7割が収入になります
まぐまぐの有料メルマガの場合、作者には6割だったと思いました
肝心の利用方法(閲覧手段)ですが
iPhone iPad iPod touch なら
標準アプリの iBooks で読めます
(iTuneが必要になるようです)
Firefox で閲覧するならば、EPUBReader というプラグインを入れます
Android の場合なら、Androbook で
閲覧可能のようです
アプリ作成や電子書籍出版、有料メルマガ発行など
アイデアと実行力次第ではいろいろな収入源がつくれそうです
もっとも、簡単にはできませんが、苦労する甲斐はありそうです