相关疑难解决方法(0)

如何在Java中读取/转换InputStream为String?

如果你有一个java.io.InputStream对象,你应该如何处理该对象并产生一个String


假设我有一个InputStream包含文本数据,并且我想将其转换为a String,所以例如我可以将其写入日志文件.

采取InputStream并将其转换为最简单的方法是String什么?

public String convertStreamToString(InputStream is) {
    // ???
}
Run Code Online (Sandbox Code Playgroud)

java string io inputstream stream

3864
推荐指数
37
解决办法
203万
查看次数

通过蓝牙从作为客户端的PC向作为服务器的移动设备发送字符串

我需要通过蓝牙将字符串从PC传输到Android移动设备来获得帮助.Android移动设备应充当服务器并在设备屏幕上显示字符串消息.作为客户端的PC应该将字符串发送到移动设备.

我希望服务器对提取的字符串做出反应(通过蓝牙传输).这意味着在一侧服务器总是必须监听新的字符串到达​​,但另一方面仍然必须能够对这些消息作出反应(例如,从一个菜单导航到另一个菜单).

我尝试使用BlueCove(2.1.1)作为BluetoothStack(我将BlueCove中的jar作为库添加到两个项目中)并结合我在此处找到的服务器 - 客户端通信示例.

更新:

感谢user_CC使用RFComm服务器连接从服务器更新了代码:

public class RFCommServer extends Thread{

//based on java.util.UUID
private static UUID MY_UUID = UUID.fromString("446118f0-8b1e-11e2-9e96-0800200c9a66");

// The local server socket
private BluetoothServerSocket mmServerSocket;

// based on android.bluetooth.BluetoothAdapter
private BluetoothAdapter mAdapter;
private BluetoothDevice remoteDevice;

private Activity activity;

public RFCommServer(Activity activity) {
    this.activity = activity;
}

public void run() {
    BluetoothSocket socket = null;
    mAdapter = BluetoothAdapter.getDefaultAdapter();        

    // Listen to the server socket if we're not connected
    while (true) { …
Run Code Online (Sandbox Code Playgroud)

java android client-server bluetooth bluecove

22
推荐指数
1
解决办法
6万
查看次数

从android中的蓝牙设备读取数据

我正在使用蓝牙聊天来连接和接收来自蓝牙设备的数据.

我使用以下代码来读取数据:

public void run() {
    byte[] buffer = new byte[1024];
    int bytes;
    Log.v("MR", "start listening....");

    // Keep listening to the InputStream while connected
    while (true) {
        try {
            // Read from the InputStream
            Log.d("MR", "buffer in try");

            bytes = mmInStream.read(buffer);
            Log.d("MR", "input stream :"+(new String(buffer)));
            // Send the obtained bytes to the UI Activity
            mHandler.obtainMessage(Conn.MESSAGE_READ, bytes, -1, buffer).sendToTarget();
            Log.d("MR", "buffer after");

        } catch (Exception e) {
            Log.e("MR", "Error :"+e.getMessage());
            //
            connectionLost();
           // break;
        }

        Log.d("MR", "buffer after while");
    } …
Run Code Online (Sandbox Code Playgroud)

java android bluetooth

15
推荐指数
1
解决办法
3万
查看次数

在Android上使用SPP而不是蓝牙的数据传输错误

我在使用Android上的蓝牙RFCOMM插槽时遇到了数据完整性问题.我连接没有任何问题,但我收到的数据是乱码,与发送的数据不同.数据由RS232设备通过手机连接的蓝牙适配器发送.适配器没有问题,因为如果我连接笔记本电脑,数据会被正确接收.

我的蓝牙连接是基于Android开发人员网站(http://developer.android.com/resources/samples/BluetoothChat/index.html)上的BluetoothChat示例应用程序处理的,没有任何更改.发送的数据是纯文本和控制字符(在显示给用户之前被删除).我遇到的具体问题是缺少一些文本,其中一些是重复的,等等.有趣的是,如果我连接到具有终端应用程序的计算机并输入,那么数据就可以正常传输.此外,如果我使用GetBlue应用程序连接到设备,数据将被正确接收.

所以我想问题是GetBlue可能做些什么来处理其蓝牙数据传输,或者是否有其他方式通过Android上的RFCOMM插槽接收蓝牙数据?

android bluetooth rfcomm

11
推荐指数
1
解决办法
7896
查看次数

标签 统计

android ×3

bluetooth ×3

java ×3

bluecove ×1

client-server ×1

inputstream ×1

io ×1

rfcomm ×1

stream ×1

string ×1