SSブログ

Android アプリでArduinoのLEDをON/OFFしてみたい(2) [Android]

前回、Androidでアプリの画面モックまで作成しました。今回はその画面モックにArduinoと通信するためのネットワーク機能を追加したいと思います。

今回、Androidで修正するファイルは下記の二つです。さらにネットワーク用のクラスを一つ追加します。


package explorer.png


AndroidManifest.xml では、アプリからINTERNETを使えるようにするための設定を追加します。


androidmanifest.png


次にネットワーク用のクラス AsyncSocketを追加します。


AsyncSocket.png


AsyncSocketを実装します。サーバーとなるArduinoのIPアドレス(xxx.xxx.xxx.xxx)とポート番号(5000)は仮の値を設定しておきます。


AsyncSocketClass.png



新たにクラスを追加した理由について疑問に思った人がいると思います。それはこちらのサイトに記述されています。


「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行です。(^^;


MainActivity OnClick.png


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アプリ開発講座

中学生でもわかる Androidアプリ開発講座

  • 作者: 蒲生 睦男
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2013/12/21
  • メディア: 単行本(ソフトカバー)



Android StudioではじめるAndroidプログラミング入門

Android StudioではじめるAndroidプログラミング入門

  • 作者: 掌田 津耶乃
  • 出版社/メーカー: 秀和システム
  • 発売日: 2014/04
  • メディア: 単行本



スマートにプログラミング Android入門編 第3版 SDK4.x対応

スマートにプログラミング Android入門編 第3版 SDK4.x対応

  • 作者: 堀切 堤
  • 出版社/メーカー: リックテレコム
  • 発売日: 2013/05/11
  • メディア: 単行本(ソフトカバー)




Android アプリでArduinoのLEDをON/OFFしてみたい(1) [Android]

Android SDK r22.6 のショックで気持ちが少し萎えましたが、いろいろ調べてみると、見た目の違いは多少あるものの使い勝手はそれほど変わらなさそうです。気を取り直してアプリを作ってみることにしました。

目標は、スマートフォンからネットワーク経由で Arduino のLEDを ON/OFF するアプリです。 「NetLed」と名付けてプロジェクトを生成しました。

今回は、Androidアプリの画面作りまで行います。編集するファイルは下記の二つです。


PackageExplorerNetLed.png


fragment_main.xml は、Graphical Layout ツールでGUI部品を配置します。今回はテキストとボタン二つを配置しました。ガイド機能がついて配置がとてもやりやすくなりました。(赤字はGUI部品のIDです)


fragment_main_portrait.png


次に、PlaceholderFragmentクラスを編集します。カラーになっているところが追加したところです。


MainActivityModifiedAll.png


ボタンからの通知を受けとるために 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






中学生でもわかる Androidアプリ開発講座

中学生でもわかる Androidアプリ開発講座

  • 作者: 蒲生 睦男
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2013/12/21
  • メディア: 単行本(ソフトカバー)



15歳からはじめるAndroidわくわくゲームプログラミング教室

15歳からはじめるAndroidわくわくゲームプログラミング教室

  • 作者: 掌田津耶乃
  • 出版社/メーカー: ラトルズ
  • 発売日: 2011/01/07
  • メディア: 単行本(ソフトカバー)



スマートにプログラミング Android入門編 第3版 SDK4.x対応

スマートにプログラミング Android入門編 第3版 SDK4.x対応

  • 作者: 堀切 堤
  • 出版社/メーカー: リックテレコム
  • 発売日: 2013/05/11
  • メディア: 単行本(ソフトカバー)




Android SDK がいつの間にか様変わりしていたでござるの巻。。。 [Android]

息子に作らせる前に、おさらいの為に自分でも Android アプリを作ってみようかと思い Eclipse を使ってプログラミングをしてみました。サクサクっと Arduino と Android を連携させたアプリでも作ってみるかと軽く考えていたのですが、、、、


Android Developer Tools.png



なんだこれ!??プロジェクト構造がまったく変わっているではないですか!Σ( ̄△ ̄;)


レイアウト定義のファイルが二つあったり、よく分からないプロジェクトが追加されたりと、戸惑うことばかりです。少し触らない間に、いつの間にか慣れ親しんだ作り方がすっかり古いものになってました。


package explorer.png


Fragmentという新しいテクノロジーが r22.3 から r22.6 へバージョンアップしたときに標準となったようで、それに伴う変更のようです。なんでこんな大変更をマイナーバージョンアップで行うのか意図がさっぱり分かりません。


もしやと思い、昨日購入した『中学生でもわかるAndroidアプリ開発講座』の中身を見てみたら。。。やはり、古いSDKがベースとなっていました。2014年1月6日初版なんですが、すでに古本とは…(;゚д゚)

”技術の進化は早い”なんてもんじゃないですね。これは。。。

グーグル先生で "Android r22.3 r22.6"で検索をかけると出てくる出てくる。しかも r22.6.1 までバグまであったみたいでかなり混乱していたようです。

う~ん、息子にはもう少し落ち着いてからやらせたほうがいいかなぁ。。。。
┐(´―`;)┌






2014年最新版 アンドロイドは初期設定で使うな (日経BPパソコンベストムック)

2014年最新版 アンドロイドは初期設定で使うな (日経BPパソコンベストムック)

  • 作者:
  • 出版社/メーカー: 日経BP社
  • 発売日: 2014/01/16
  • メディア: 単行本



アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229))

アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229))

  • 作者: フィリップ・K・ディック
  • 出版社/メーカー: 早川書房
  • 発売日: 1977/03/01
  • メディア: 文庫




タグ:Fragment Android

Android アプリ開発のための参考書を買う [Android]

息子にAndroidのプログラミングをさせてみようと思ったのですが、私の持っている参考書はどれも専門的すぎて息子には難しすぎます。

そこで中学生の息子にも理解できそうな参考書がないか本屋に物色しに行きました。ノーアイディアの時はAmazonではなく、普通の本屋に行くのが不思議です。

入門書はいろいろあったのですが、私の要望にピッタリの参考書を見つけました!


Android Study book for kids.JPG
『中学生でもわかる Android アプリ開発講座』



演習は中学生の興味を引きそうなゲーム制作に的を絞っています。複雑すぎず、単純すぎず、応用が効きそうな内容です。プログラミングの書籍らしくなく、文字は大きくイラストも多用していてとても見やすい。

とてもバランスのよい参考書です。著者のセンスを感じます。これなら息子も飽きずに進められそうです。

息子に買い与えたウォークマンでもアプリ開発ができることを確認しましたので、これからしばらくAndroidアプリ制作の特訓をしようと思います。そのうち大ヒットアプリを作って、自分の小遣いは自分で稼いでくれよー。
(^_^)/~






中学生でもわかる Androidアプリ開発講座

中学生でもわかる Androidアプリ開発講座

  • 作者: 蒲生 睦男
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2013/12/21
  • メディア: 単行本(ソフトカバー)



アプリを作ろう!  ANDROID入門 (アプリを作ろう! シリーズ)

アプリを作ろう! ANDROID入門 (アプリを作ろう! シリーズ)

  • 作者: WINGSプロジェクト
  • 出版社/メーカー: 日経BP社
  • 発売日: 2012/09/13
  • メディア: 単行本



スマートにプログラミング Android入門編 第3版 SDK4.x対応

スマートにプログラミング Android入門編 第3版 SDK4.x対応

  • 作者: 堀切 堤
  • 出版社/メーカー: リックテレコム
  • 発売日: 2013/05/11
  • メディア: 単行本(ソフトカバー)




Android SDK をインストールしてみた [Android]

Arduino とスマホを連携させたいと思い、Android SDK をパソコンにインストールしてみました。Androidの開発環境は、下記のサイトでダウンロードできます。


0 Android SDK page.png
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」 というフォルダが展開されます。


1 adt-bundle-windows-x86_64.png


フォルダ内には「eclipse」と「sdk」 という二つのフォルダと、「SDK Manager.exe」という実行ファイルが展開されています。


2 inside of adt bundle win.png


開発ツールは「SDK Manger.exe」 ではなく、「eclipse」 フォルダ内にあります。この中の「eclipse.exe」が開発ツールの実体です。クリックしましょう。


3 eclipse window.png


起動画面が現れた後、「Welcome!」画面が表示されます。ここで「New Android Application...」ボタンをクリックします。

4 ADT welcome.png


プロジェクト生成ウィザードが現れます。アプリケーション名を「myfirstapp」にします。

5 MyFirstApp.png


プロジェクトの設定が終わると、開発環境の画面が出てきます。これで設定が完了です。

6 ADT IDE.png


しかし、これだけでは作成したアプリケーションをスマートフォン上で動作させることはできません。PCにAndroid 用のドライバ「ADB Driver」をインストールしなければなりません。

「ADB Driver」は、各メーカーから提供されていますのでメーカーサイトで入手します。比較的新しい機種は、AndroidのDeveloperサイトから入手できます。


OEM USB Drivers
http://developer.android.com/tools/extras/oem-usb.html


ドライバの準備ができたら、スマートフォンとPCをUSBケーブルで接続します。

7 SmatPhone connecting to PC.JPG


次にスマートフォンの設定を変更します。「設定」→「{}開発者向けオプション」内のメニューの中にある「USBデバッグ」をチェックします。

8 USB Debug Setting in Setting Menu.png


デバイスマネージャーに、「Android Phone」→「Android Composite ADB Interface」と出てくればインストールは成功です。


9 ADB Installed.png


「eclipse」に戻ってメニュー上の「Run」ボタンを押します。「Android Device Chooser」ウィンドウが表示されますので、そこで接続されているスマートフォンを選択します。

a Android Device Chooser.png


しばらくすると、スマートフォン上に「myfirstapp」がインストールされ、作成したアプリが表示されます。

c myfirstapp.png


アプリメニューの中にもしっかりとインストールされていました。

b installed myapp.png


これでAndroidの開発環境が整いました。結構面倒ですが、一度設定してしまえばボタン一つで開発したアプリをスマートフォン上で動かすことができるのでよしとしましょう。
┐(´―`;)┌



※補足
少し古いスマートフォンのADB Driver は、Windows 8 では「指定されたカタログファイルにファイルのハッシュがありません。」と出てインストールできない場合があります(私がそうでした)。その場合の回避方法が下記サイトで紹介されています。


Windows 8で署名の無いドライバをインストールする方法(テストモード無し)
http://www.teradas.net/archives/9922/


Windows7と同等なので問題ないと思いますが、設定変更は自己責任でお願いしますね~。
(^_^)/~






はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

  • 作者: 山田 祥寛
  • 出版社/メーカー: 秀和システム
  • 発売日: 2012/11
  • メディア: 単行本



本格アプリを作ろう! Androidプログラミングレシピ

本格アプリを作ろう! Androidプログラミングレシピ

  • 作者: Dave Smith
  • 出版社/メーカー: インプレスジャパン
  • 発売日: 2011/12/22
  • メディア: 単行本(ソフトカバー)



初歩からわかるAndroid最新プログラミング 増補改訂版

初歩からわかるAndroid最新プログラミング 増補改訂版

  • 作者: 柴田 文彦
  • 出版社/メーカー: インプレスジャパン
  • 発売日: 2013/12/19
  • メディア: 単行本(ソフトカバー)




この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。