Android アプリでArduinoのLEDをON/OFFしてみたい(2) [Android]
前回、Androidでアプリの画面モックまで作成しました。今回はその画面モックにArduinoと通信するためのネットワーク機能を追加したいと思います。
今回、Androidで修正するファイルは下記の二つです。さらにネットワーク用のクラスを一つ追加します。
AndroidManifest.xml では、アプリからINTERNETを使えるようにするための設定を追加します。
次にネットワーク用のクラス AsyncSocketを追加します。
AsyncSocketを実装します。サーバーとなるArduinoのIPアドレス(xxx.xxx.xxx.xxx)とポート番号(5000)は仮の値を設定しておきます。
新たにクラスを追加した理由について疑問に思った人がいると思います。それはこちらのサイトに記述されています。
「AsyncTask」利用:android.os.NetworkOnMainThreadExceptionエラーへの対応方法
http://garnote.com/2012/10/android-os-networkonmainthreadexception.html
また、AsyncTaskの使い方については下記のサイトが参考になります。(簡単にAsyncTask<Param, Progress, Result>の引数について説明すると、最初のParamは execute関数で渡す値の型、Progressは処理の進捗を渡す値の型、Resultは処理結果を渡す値の型を指定します。)
AsyncTaskの使い方考察
http://d.hatena.ne.jp/Nagise/20120309/1331265123
最後に、PlaceholderFragmentクラスに修正を加えます。色の濃い部分が前回からの変更部分です。わずか3行です。(^^;
Android側のネットワーク機能はこれで実装が出来ました。しかし、まだ相手となるArduinoの実装がないので動作確認ができません。次は、いよいよArduino側の実装を行いたいと思います。
(^_^)/~
関連記事
Android アプリでArduinoのLEDをON/OFFしてみたい(3)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-04
Android アプリでArduinoのLEDをON/OFFしてみたい(1)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-01
今回、Androidで修正するファイルは下記の二つです。さらにネットワーク用のクラスを一つ追加します。
AndroidManifest.xml では、アプリからINTERNETを使えるようにするための設定を追加します。
次にネットワーク用のクラス AsyncSocketを追加します。
AsyncSocketを実装します。サーバーとなるArduinoのIPアドレス(xxx.xxx.xxx.xxx)とポート番号(5000)は仮の値を設定しておきます。
新たにクラスを追加した理由について疑問に思った人がいると思います。それはこちらのサイトに記述されています。
「AsyncTask」利用:android.os.NetworkOnMainThreadExceptionエラーへの対応方法
http://garnote.com/2012/10/android-os-networkonmainthreadexception.html
また、AsyncTaskの使い方については下記のサイトが参考になります。(簡単にAsyncTask<Param, Progress, Result>の引数について説明すると、最初のParamは execute関数で渡す値の型、Progressは処理の進捗を渡す値の型、Resultは処理結果を渡す値の型を指定します。)
AsyncTaskの使い方考察
http://d.hatena.ne.jp/Nagise/20120309/1331265123
最後に、PlaceholderFragmentクラスに修正を加えます。色の濃い部分が前回からの変更部分です。わずか3行です。(^^;
Android側のネットワーク機能はこれで実装が出来ました。しかし、まだ相手となるArduinoの実装がないので動作確認ができません。次は、いよいよArduino側の実装を行いたいと思います。
(^_^)/~
関連記事
Android アプリでArduinoのLEDをON/OFFしてみたい(3)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-04
Android アプリでArduinoのLEDをON/OFFしてみたい(1)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-01
Android StudioではじめるAndroidプログラミング入門
- 作者: 掌田 津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2014/04
- メディア: 単行本
スマートにプログラミング Android入門編 第3版 SDK4.x対応
- 作者: 堀切 堤
- 出版社/メーカー: リックテレコム
- 発売日: 2013/05/11
- メディア: 単行本(ソフトカバー)
Android アプリでArduinoのLEDをON/OFFしてみたい(1) [Android]
Android SDK r22.6 のショックで気持ちが少し萎えましたが、いろいろ調べてみると、見た目の違いは多少あるものの使い勝手はそれほど変わらなさそうです。気を取り直してアプリを作ってみることにしました。
目標は、スマートフォンからネットワーク経由で Arduino のLEDを ON/OFF するアプリです。 「NetLed」と名付けてプロジェクトを生成しました。
今回は、Androidアプリの画面作りまで行います。編集するファイルは下記の二つです。
fragment_main.xml は、Graphical Layout ツールでGUI部品を配置します。今回はテキストとボタン二つを配置しました。ガイド機能がついて配置がとてもやりやすくなりました。(赤字はGUI部品のIDです)
次に、PlaceholderFragmentクラスを編集します。カラーになっているところが追加したところです。
ボタンからの通知を受けとるために View.OnClickListener を加えます。さらに、ボタンがクリックされた時に通知が来るように、setOnClickListener でボタンに自分自身を登録します。
ボタンがクリックされると、onClick関数が呼ばれます。どのボタンが押されたか ID を調べてテキストの表示を変更します。
それでは実際の動きを見てみましょう。
う~ん、シンプル過ぎてつまらないアプリですねぇ。次はこのアプリにネットワーク機能を追加したいと思います。
(^_^)/~
関連記事
Android アプリでArduinoのLEDをON/OFFしてみたい(3)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-04
Android アプリでArduinoのLEDをON/OFFしてみたい(2)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-03
目標は、スマートフォンからネットワーク経由で Arduino のLEDを ON/OFF するアプリです。 「NetLed」と名付けてプロジェクトを生成しました。
今回は、Androidアプリの画面作りまで行います。編集するファイルは下記の二つです。
fragment_main.xml は、Graphical Layout ツールでGUI部品を配置します。今回はテキストとボタン二つを配置しました。ガイド機能がついて配置がとてもやりやすくなりました。(赤字はGUI部品のIDです)
次に、PlaceholderFragmentクラスを編集します。カラーになっているところが追加したところです。
ボタンからの通知を受けとるために View.OnClickListener を加えます。さらに、ボタンがクリックされた時に通知が来るように、setOnClickListener でボタンに自分自身を登録します。
ボタンがクリックされると、onClick関数が呼ばれます。どのボタンが押されたか ID を調べてテキストの表示を変更します。
それでは実際の動きを見てみましょう。
う~ん、シンプル過ぎてつまらないアプリですねぇ。次はこのアプリにネットワーク機能を追加したいと思います。
(^_^)/~
関連記事
Android アプリでArduinoのLEDをON/OFFしてみたい(3)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-04
Android アプリでArduinoのLEDをON/OFFしてみたい(2)
http://makers-with-myson.blog.so-net.ne.jp/2014-05-03
15歳からはじめるAndroidわくわくゲームプログラミング教室
- 作者: 掌田津耶乃
- 出版社/メーカー: ラトルズ
- 発売日: 2011/01/07
- メディア: 単行本(ソフトカバー)
スマートにプログラミング Android入門編 第3版 SDK4.x対応
- 作者: 堀切 堤
- 出版社/メーカー: リックテレコム
- 発売日: 2013/05/11
- メディア: 単行本(ソフトカバー)
Android SDK がいつの間にか様変わりしていたでござるの巻。。。 [Android]
息子に作らせる前に、おさらいの為に自分でも Android アプリを作ってみようかと思い Eclipse を使ってプログラミングをしてみました。サクサクっと Arduino と Android を連携させたアプリでも作ってみるかと軽く考えていたのですが、、、、
なんだこれ!??プロジェクト構造がまったく変わっているではないですか!Σ( ̄△ ̄;)
レイアウト定義のファイルが二つあったり、よく分からないプロジェクトが追加されたりと、戸惑うことばかりです。少し触らない間に、いつの間にか慣れ親しんだ作り方がすっかり古いものになってました。
Fragmentという新しいテクノロジーが r22.3 から r22.6 へバージョンアップしたときに標準となったようで、それに伴う変更のようです。なんでこんな大変更をマイナーバージョンアップで行うのか意図がさっぱり分かりません。
もしやと思い、昨日購入した『中学生でもわかるAndroidアプリ開発講座』の中身を見てみたら。。。やはり、古いSDKがベースとなっていました。2014年1月6日初版なんですが、すでに古本とは…(;゚д゚)
”技術の進化は早い”なんてもんじゃないですね。これは。。。
グーグル先生で "Android r22.3 r22.6"で検索をかけると出てくる出てくる。しかも r22.6.1 までバグまであったみたいでかなり混乱していたようです。
う~ん、息子にはもう少し落ち着いてからやらせたほうがいいかなぁ。。。。
┐(´―`;)┌
なんだこれ!??プロジェクト構造がまったく変わっているではないですか!Σ( ̄△ ̄;)
レイアウト定義のファイルが二つあったり、よく分からないプロジェクトが追加されたりと、戸惑うことばかりです。少し触らない間に、いつの間にか慣れ親しんだ作り方がすっかり古いものになってました。
Fragmentという新しいテクノロジーが r22.3 から r22.6 へバージョンアップしたときに標準となったようで、それに伴う変更のようです。なんでこんな大変更をマイナーバージョンアップで行うのか意図がさっぱり分かりません。
もしやと思い、昨日購入した『中学生でもわかるAndroidアプリ開発講座』の中身を見てみたら。。。やはり、古いSDKがベースとなっていました。2014年1月6日初版なんですが、すでに古本とは…(;゚д゚)
”技術の進化は早い”なんてもんじゃないですね。これは。。。
グーグル先生で "Android r22.3 r22.6"で検索をかけると出てくる出てくる。しかも r22.6.1 までバグまであったみたいでかなり混乱していたようです。
う~ん、息子にはもう少し落ち着いてからやらせたほうがいいかなぁ。。。。
┐(´―`;)┌
2014年最新版 アンドロイドは初期設定で使うな (日経BPパソコンベストムック)
- 作者:
- 出版社/メーカー: 日経BP社
- 発売日: 2014/01/16
- メディア: 単行本
アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229))
- 作者: フィリップ・K・ディック
- 出版社/メーカー: 早川書房
- 発売日: 1977/03/01
- メディア: 文庫
Android アプリ開発のための参考書を買う [Android]
息子にAndroidのプログラミングをさせてみようと思ったのですが、私の持っている参考書はどれも専門的すぎて息子には難しすぎます。
そこで中学生の息子にも理解できそうな参考書がないか本屋に物色しに行きました。ノーアイディアの時はAmazonではなく、普通の本屋に行くのが不思議です。
入門書はいろいろあったのですが、私の要望にピッタリの参考書を見つけました!
『中学生でもわかる Android アプリ開発講座』
演習は中学生の興味を引きそうなゲーム制作に的を絞っています。複雑すぎず、単純すぎず、応用が効きそうな内容です。プログラミングの書籍らしくなく、文字は大きくイラストも多用していてとても見やすい。
とてもバランスのよい参考書です。著者のセンスを感じます。これなら息子も飽きずに進められそうです。
息子に買い与えたウォークマンでもアプリ開発ができることを確認しましたので、これからしばらくAndroidアプリ制作の特訓をしようと思います。そのうち大ヒットアプリを作って、自分の小遣いは自分で稼いでくれよー。
(^_^)/~
そこで中学生の息子にも理解できそうな参考書がないか本屋に物色しに行きました。ノーアイディアの時はAmazonではなく、普通の本屋に行くのが不思議です。
入門書はいろいろあったのですが、私の要望にピッタリの参考書を見つけました!
『中学生でもわかる Android アプリ開発講座』
演習は中学生の興味を引きそうなゲーム制作に的を絞っています。複雑すぎず、単純すぎず、応用が効きそうな内容です。プログラミングの書籍らしくなく、文字は大きくイラストも多用していてとても見やすい。
とてもバランスのよい参考書です。著者のセンスを感じます。これなら息子も飽きずに進められそうです。
息子に買い与えたウォークマンでもアプリ開発ができることを確認しましたので、これからしばらくAndroidアプリ制作の特訓をしようと思います。そのうち大ヒットアプリを作って、自分の小遣いは自分で稼いでくれよー。
(^_^)/~
アプリを作ろう! ANDROID入門 (アプリを作ろう! シリーズ)
- 作者: WINGSプロジェクト
- 出版社/メーカー: 日経BP社
- 発売日: 2012/09/13
- メディア: 単行本
スマートにプログラミング Android入門編 第3版 SDK4.x対応
- 作者: 堀切 堤
- 出版社/メーカー: リックテレコム
- 発売日: 2013/05/11
- メディア: 単行本(ソフトカバー)
Android SDK をインストールしてみた [Android]
Arduino とスマホを連携させたいと思い、Android SDK をパソコンにインストールしてみました。Androidの開発環境は、下記のサイトでダウンロードできます。
http://developer.android.com/sdk/index.html?hl=sk
インストールは簡単です。ダウンロードしたZIPファイル(例えば、Win 64bit版ならadt-bundle-windows-x86_64-20140321.zip)を解凍するだけです。昔に比べると楽になったものです。
解凍すると、今回の場合「adt-bundle-windows-x86_64-20140321」 というフォルダが展開されます。
フォルダ内には「eclipse」と「sdk」 という二つのフォルダと、「SDK Manager.exe」という実行ファイルが展開されています。
開発ツールは「SDK Manger.exe」 ではなく、「eclipse」 フォルダ内にあります。この中の「eclipse.exe」が開発ツールの実体です。クリックしましょう。
起動画面が現れた後、「Welcome!」画面が表示されます。ここで「New Android Application...」ボタンをクリックします。
プロジェクト生成ウィザードが現れます。アプリケーション名を「myfirstapp」にします。
プロジェクトの設定が終わると、開発環境の画面が出てきます。これで設定が完了です。
しかし、これだけでは作成したアプリケーションをスマートフォン上で動作させることはできません。PCにAndroid 用のドライバ「ADB Driver」をインストールしなければなりません。
「ADB Driver」は、各メーカーから提供されていますのでメーカーサイトで入手します。比較的新しい機種は、AndroidのDeveloperサイトから入手できます。
OEM USB Drivers
http://developer.android.com/tools/extras/oem-usb.html
ドライバの準備ができたら、スマートフォンとPCをUSBケーブルで接続します。
次にスマートフォンの設定を変更します。「設定」→「{}開発者向けオプション」内のメニューの中にある「USBデバッグ」をチェックします。
デバイスマネージャーに、「Android Phone」→「Android Composite ADB Interface」と出てくればインストールは成功です。
「eclipse」に戻ってメニュー上の「Run」ボタンを押します。「Android Device Chooser」ウィンドウが表示されますので、そこで接続されているスマートフォンを選択します。
しばらくすると、スマートフォン上に「myfirstapp」がインストールされ、作成したアプリが表示されます。
アプリメニューの中にもしっかりとインストールされていました。
これでAndroidの開発環境が整いました。結構面倒ですが、一度設定してしまえばボタン一つで開発したアプリをスマートフォン上で動かすことができるのでよしとしましょう。
┐(´―`;)┌
※補足
少し古いスマートフォンのADB Driver は、Windows 8 では「指定されたカタログファイルにファイルのハッシュがありません。」と出てインストールできない場合があります(私がそうでした)。その場合の回避方法が下記サイトで紹介されています。
Windows 8で署名の無いドライバをインストールする方法(テストモード無し)
http://www.teradas.net/archives/9922/
Windows7と同等なので問題ないと思いますが、設定変更は自己責任でお願いしますね~。
(^_^)/~
http://developer.android.com/sdk/index.html?hl=sk
インストールは簡単です。ダウンロードしたZIPファイル(例えば、Win 64bit版ならadt-bundle-windows-x86_64-20140321.zip)を解凍するだけです。昔に比べると楽になったものです。
解凍すると、今回の場合「adt-bundle-windows-x86_64-20140321」 というフォルダが展開されます。
フォルダ内には「eclipse」と「sdk」 という二つのフォルダと、「SDK Manager.exe」という実行ファイルが展開されています。
開発ツールは「SDK Manger.exe」 ではなく、「eclipse」 フォルダ内にあります。この中の「eclipse.exe」が開発ツールの実体です。クリックしましょう。
起動画面が現れた後、「Welcome!」画面が表示されます。ここで「New Android Application...」ボタンをクリックします。
プロジェクト生成ウィザードが現れます。アプリケーション名を「myfirstapp」にします。
プロジェクトの設定が終わると、開発環境の画面が出てきます。これで設定が完了です。
しかし、これだけでは作成したアプリケーションをスマートフォン上で動作させることはできません。PCにAndroid 用のドライバ「ADB Driver」をインストールしなければなりません。
「ADB Driver」は、各メーカーから提供されていますのでメーカーサイトで入手します。比較的新しい機種は、AndroidのDeveloperサイトから入手できます。
OEM USB Drivers
http://developer.android.com/tools/extras/oem-usb.html
ドライバの準備ができたら、スマートフォンとPCをUSBケーブルで接続します。
次にスマートフォンの設定を変更します。「設定」→「{}開発者向けオプション」内のメニューの中にある「USBデバッグ」をチェックします。
デバイスマネージャーに、「Android Phone」→「Android Composite ADB Interface」と出てくればインストールは成功です。
「eclipse」に戻ってメニュー上の「Run」ボタンを押します。「Android Device Chooser」ウィンドウが表示されますので、そこで接続されているスマートフォンを選択します。
しばらくすると、スマートフォン上に「myfirstapp」がインストールされ、作成したアプリが表示されます。
アプリメニューの中にもしっかりとインストールされていました。
これでAndroidの開発環境が整いました。結構面倒ですが、一度設定してしまえばボタン一つで開発したアプリをスマートフォン上で動かすことができるのでよしとしましょう。
┐(´―`;)┌
※補足
少し古いスマートフォンのADB Driver は、Windows 8 では「指定されたカタログファイルにファイルのハッシュがありません。」と出てインストールできない場合があります(私がそうでした)。その場合の回避方法が下記サイトで紹介されています。
Windows 8で署名の無いドライバをインストールする方法(テストモード無し)
http://www.teradas.net/archives/9922/
Windows7と同等なので問題ないと思いますが、設定変更は自己責任でお願いしますね~。
(^_^)/~
はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)
- 作者: 山田 祥寛
- 出版社/メーカー: 秀和システム
- 発売日: 2012/11
- メディア: 単行本