bluetoothを使ったアプリケーション開発

448 views
Skip to first unread message

KATO

unread,
Jan 22, 2014, 11:47:19 AM1/22/14
to android-g...@googlegroups.com
お世話になっております。

Bluetoothを利用したAndroidアプリケーション開発をしています。

接続したBluetooth機器との通信を、アクティビティ遷移後も維持したいです。

stackoverflowに下のような質問を見つけました。


やりたいことは同じだと思いますが、分かるようで分かりません。

上記の解決方法がお分かりでしたら、解説いただければと思います。

よろしくお願いします。

さわださとし

unread,
Jan 22, 2014, 12:11:25 PM1/22/14
to android-g...@googlegroups.com
さわだです。
似たようなことをブログに書いたことあります。

アプリ全体でリソースを共有するには
http://d.hatena.ne.jp/satoshis/20111130/p1

あと、こちらも参考にしてください。
MVCアーキテクチャについて少しですが説明してます。
ActivityはViewなのでUI以外の処理を書いたら負けです。

Activityのソース巨大化を防止するには
http://d.hatena.ne.jp/satoshis/20130626/p1

--
さわださとし
http://www.satoshis.com/

KATO

unread,
Jan 23, 2014, 7:39:43 AM1/23/14
to android-g...@googlegroups.com
さわださん。ありがとうございます。

今回の場合は、ConnectedThread をアプリケーションを継承したクラスに、持たせれば良いんですかね。

一度やってみます。

Makoto Yamazaki

unread,
Jan 23, 2014, 8:12:30 AM1/23/14
to android-g...@googlegroups.com
zaki です。

対象となるオブジェクトがアプリケーション内で一つのものは
さわださんが書いたように Application に持たせる方法を、
Activity 毎に存在するものは以下の様な方法でインスタンスを保持できます。

・ onRetainNonConfigurationInstance/getLastNonConfigurationInstance を使う方法(昔のやり方)
・ onRetainCustomNonConfigurationInstance/getLastCustomNonConfigurationInstance を使う方法(support package の FragmentActivity を使うときのやり方)
・ setRetainInstance(true) を呼んだ Fragment を使う方法




2014/1/23 KATO <sukek...@gmail.com>
さわださん。ありがとうございます。

今回の場合は、ConnectedThread をアプリケーションを継承したクラスに、持たせれば良いんですかね。

一度やってみます。



--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
YAMAZAKI Makoto

KATO

unread,
Jan 25, 2014, 9:16:58 AM1/25/14
to android-g...@googlegroups.com
お世話になっております。

一度Bluetooth接続をした際に、接続デバイスのMACアドレスをアプリケーションクラスに保持(set)するよう変更し、アクティビティ側では保持したMACアドレスを使用して接続するようにしてみましたが、やはりアクティビティを移ると切断されてしまうようです。
他に保持しておくべき情報があるのでしょうか。

ベースに使用しているのは、androidSDKのサンプルのbluetoothchatです。

アクティビティのオプションメニューから、bluetooth接続先を選択するアクティビティに遷移し、接続先を選択させて別クラスで接続先と繋ぎ、接続先の情報を最初のアクティビティに返して、データのやり取りをしているといった様子です。

さわださとし

unread,
Jan 25, 2014, 8:34:26 PM1/25/14
to android-g...@googlegroups.com
さわだです。

接続して通信するところはすべてApplicationContextの中に実装します。

Bluetooth経由のデータが必要なActivityは、ApplicationContextのメソッドを
呼び出してデータをリクエストし、ApplicationContextが通信を行って、
その結果をActivityに返すように実装します。
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
さわださとし
http://www.satoshis.com/
Reply all
Reply to author
Forward
0 new messages