android BlutoothChatService在多个类中使用

android BlutoothChatService在多个类中使用,第1张

概述我使用BluetoothChat示例来建立蓝牙通信.我已经创建了SecondView.java,我想从那里发送和接收数据,而不必重新连接到蓝牙.我有没有办法将BluetoothChat.java示例中使用的发送和接收方法访问我的SecondView.java?我发现一种有效的方法是使用绑定服务,但是我不知道如何实现.解决方法:如

我使用BluetoothChat示例来建立蓝牙通信.我已经创建了SecondVIEw.java,我想从那里发送和接收数据,而不必重新连接到蓝牙.我有没有办法将BluetoothChat.java示例中使用的发送和接收方法访问我的SecondVIEw.java?我发现一种有效的方法是使用绑定服务,但是我不知道如何实现.

解决方法:

如果您遵循的是蓝牙聊天示例,那么您将使用线程进行蓝牙通信,例如一个具有用于蓝牙通信的读写方法的已连接线程.

实际上,从应用程序中的任何位置进行读写都非常简单.您只需要为您的应用程序对该线程进行全局引用即可.

在androID应用中,该应用的上下文是整个应用的全局上下文.您可以从任何活动中使用getApplication()方法获取此信息.要在“应用程序”上下文中设置自己的变量,您需要扩展应用程序类,并将清单指向该类.

这是一个例子.我扩展了应用程序类,并使用getter和setter方法为连接的线程创建了一个变量.

class MyAppApplication extends Application {        private ConnectedThread mBluetoothConnectedThread;        @OverrIDe        public voID onCreate() {            super.onCreate();        }        public ConnectedThread getBluetoothConnectedThread() {            return mBluetoothConnectedThread;        }        public voID setBluetoothConnectedThread(ConnectedThread mBluetoothConnectedThread) {            this.mBluetoothConnectedThread = mBluetoothConnectedThread;        }    }

为了将清单指向该类,您需要将application元素的androID:name属性设置为我们上面创建的应用程序类的类名.例如.

 <application        androID:name="com.myapp.package.MyApplication"        androID:icon="@drawable/ic_launcher"        androID:label="@string/app_name"        androID:theme="@style/Apptheme">

完成 *** 作后,您可以通过调用任何活动来访问ConnectedThread

MyAppApplication.getBluetoothConnectedThread().write()MyAppApplication.getBluetoothConnectedThread().read()

请注意,一旦创建模型,您需要首先将线程设置为模型:

MyAppApplication.setBluetoothConnectedThread(MyNewConnectedThread);

希望能有所帮助.

总结

以上是内存溢出为你收集整理的android BlutoothChatService在多个类中使用全部内容,希望文章能够帮你解决android BlutoothChatService在多个类中使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存