スマホだけでアプリが作れる!

「Androidでプログラミング」
特別講座	
テクニカルライター 大澤文孝	
書籍「Androidでプログラミング」	
	
(株)工学社より、発売中	
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1669-8
Android「で」プログラミング?	
従来の開発	
 SL4A(エスエルフォーエイ)での開発	
パソコン不要	
いままでよりカンタン
に作れる	
パソコンで開発して、	
スマホに転送。	
利用言語は「Java」。	
開発が大変!	
スマホだけで開発。	
JavaScriptやPerl、Pythonなどのス
クリプト言語で作れる	
※SL4A = Scripting Layer for Android
QRコードでプログラムを入力できる	
load("/sdcard/
com.googlecode.rhinoforandroid/extras/rhino/
android.js");	
  
var	
  droid	
  =	
  new	
  Android();	
  
droid.viewMap('東京ディズニーランド');	
①カメラで撮影	
②プログラムを
入力できる
SL4Aで、できること	
•  電話をかける/メールを送信する	
•  連絡先を編集・取得する	
•  電話の設定を変更する	
•  カメラで撮影する/ビデオを撮影する	
•  音楽を鳴らす	
•  音声で喋らせる/音声認識する	
などなど…
SL4Aを使うのに必要な準備	
•  QRコードリーダーのインストール	
•  メーカー製のものがあっても、SL4Aから利用できるものを別途利用する必要がある	
•  SL4A本体のインストール	
•  Google Playでは配布されていないので、「提供元不明のアプリ」を許可しなければ
ならない(後述)	
•  JavaScript(ジャバスクリプト)などの言語のインストール
•  他にも、Perl(パール)やPython(パイソン)などが使える
SL4Aをインストールしよう	
「QRコードリーダー」と「SL4A本体」のインストール
QRコードスキャナをインストールする	
①「zxing」で検索	
②「QRコードス
キャナ」をタップ	
③[インストール]
をタップ
提供元不明のアプリを許可する	
①[セキュリティ]を
タップ	
②[提供元不明ア
プリ]をタップ
SL4Aをインストールする①	
■SL4Aのホームページ	
http://code.google.com/p/android-scripting/	
ここをカメラで撮影	
このQRコードをカメ
ラで撮影すると、ダ
ウンロードできます。
SL4Aをインストールする②	
保存する	
ダウンロードした
ファイルを開く
SL4Aをインストールする③	
インストールする	
SL4Aがインストー
ルされた
SL4Aを使ってみよう	
簡単なサンプルを動かしてみる
SL4Aを、実行する	
アイコンをタップ
簡単なサンプルを実行する	
①メニューキーを
押す	
②[Add]をタップ	
③[Scan Barcode]
をタップ
QRコードを読み取る
QRコードを読み取る	
「example.sh」として
プログラムが取り
込まれた
保存されたプログラムの操作	
ターミナルで実行	
バックグラウンドで
実行	
編集	
 名前の変更	
 削除
プログラムを実行する	
①ターミナルで実
行をタップ
[Yes]をタップして
閉じる	
左上の拡大図
文字サイズを変更する	
[Preferences]を
タップ	
[Font size(pt)]を
タップ	
フォントサイズ
を入力	
Terminalのほうを
変える
プログラムのソースを見てみよう	
編集	
①	
②	
①はメッセージを表示	
②は指定した秒数だけ待つ	
	
という命令
言語をインストールしよう	
JavaScript(Rhino)をインストールする
SL4Aが対応する言語	
•  Shell(シェル) 	
標準でインストールされている	
•  BeanShell(ビーンシェル) 上記の拡張版	
•  JRuby(ジェイルビー)Ruby言語	
•  Lua(ルア) ゲームや各種制御で使われるスクリプト言語	
•  PHP(ピーエイチピー) Webシステム開発で使われるスクリプト言語	
•  Perl(パール) Webシステム開発で使われるスクリプト言語	
•  Python(パイソン) Webシステム開発やサーバのプログラムなどで使われる言語	
•  Rhino(ライノー) 	
JavaScriptの実装
インストールされている言語を確認する	
[View]をクリック	
[Interpreters]
をクリック
JavaScript(Rhino)をインストールする①	
[Add]をクリック	
[Rhino]を選択	
ダウンロードして保
存する
JavaScript(Rhino)をインストールする②	
インストールする
JavaScript(Rhino)をインストールする③	
[開く]をタップ	
[Install]をタップ
Rhinoがインストールされた	
[戻る]をタップ	
Rhinoがインストー
ルされた	
「hello_world.js」と
いうサンプル
サンプルを実行してみる	
[バックグラウンド
で実行]をタップ	
画面に、「Hello, Android!」と、一瞬表示される。	
Rhinoで書かれたプログラムを実行するときは、(ター
ミナルではなく)バックグラウンドで実行
スクリプトからAndroidを制御する方法	
//	
  ライブラリの読み込み	
load("/sdcard/
com.googlecode.rhinoforandroid/extras/
rhino/android.js");	
	
//	
  SL4A	
  APIのオブジェクト	
var	
  droid	
  =	
  new	
  Android();	
	
  
//	
  メソッドの呼び出し	
droid.makeToast("Hello,	
  Android!");	
APIオブジェクト	
makeToastという機
能を呼び出す
SL4A APIのオブジェクト	
スクリプト	
 SL	
4	
A API	
電話機能	
カメラ	
マルチ・メディア	
位置	
センサー	
検索	
地図	
…	
SL	
4	
A API	
オブジェクト	
(	
droid	
変数	
)	
Android 	
API	
メソッド	
呼	
び	
出	
し	
戻	
り	
値	
何を呼び出すかによって、さ
まざまな機能が使える
さまざまな実例	
電話をかけたりカメラで撮影したり、音声で喋らせてみたり…
実例の前に… 日本語の文字化け対策	
左のQRコードのプログラム(fixAndroid.js)を
実行してください。	
Rhinoで日本語変換処理がおかしい部分が
修正されます。
実例① 電話をかける	
var	
  droid	
  =	
  new	
  Android();	
  
droid.phoneDialNumber(電話番号);
実例② カメラで撮影する	
var	
  droid	
  =	
  new	
  Android();	
  
var	
  result	
  =	
  droid.	
  
cameraCapturePicture('/sdcard/
photoexample.jpg');
実例③ 地図で場所を検索する	
var	
  droid	
  =	
  new	
  Android();	
  
droid.viewMap('東京ディズニーランド');
実例④ 音声を喋らせる	
var	
  droid	
  =	
  new	
  Android();	
  
droid.ttsSpeak('Hello	
  SL4A');
実例⑤ 音声認識する	
var	
  droid	
  =	
  new	
  Android();	
  
//	
  音声認識を起動	
var	
  text	
  =	
  droid.recognizeSpeech('検
索語句を話してください');	
  
Q&A	
ご質問を、どうぞ
ご静聴 ありがとうございました	
「Androidでプログラミング」(工学社刊)は、
全国の書店で購入できます!
付録)パソコンでQRコードを作る	
●QRコードジェネレータ	
http://zxing.appspot.com/generator/	
	
(テキストをQRコードに変換できるものなら
ば、他の変換サイトでも問題ありません)。	
1行目はファイル
名。2行目以降を
プログラムにする

スマホだけでアプリが作れる!「Androidでプログラミング」特別講座