草庐IT

inputstreams

全部标签

Android InputStream 丢弃前两个字节(修改后的 BluetoothChat)

我使用BluetoothChat示例中的代码从蓝牙秤发送和接收字节数据。秤从设备接收命令,然后发回一个字节数组。{2,198,48,48,48,48,199,3}在我们的通信协议(protocol)中,2=STX,198=数据包开始,199=数据包结束,3=ETX。一切正常,除了BluetoothChatService.java中的以下代码react异常,因为它丢弃了前两个字节。/***Thisthreadrunsduringaconnectionwitharemotedevice.*Ithandlesallincomingandoutgoingtransmissions.*/priv

java - 无法在 Android 平台上为蓝牙套接字使用 InputStream 创建 ObjectInputStream

我正在为Android手机编写一款多人游戏。通信是通过蓝牙进行的。我已经设法使用输入/输出流将字节从一部手机发送到另一部手机。因为我需要能够传输对象,所以我想要对象流。但是,当我尝试使用我的流创建对象流时,我的程序在指令上挂起。publicclassConnectedThreadextendsThread{privatestaticfinalStringTAG="ConnectedThread";privatefinalBluetoothSocketmmSocket;privatefinalInputStreammmInStream;privatefinalOutputStreammm

android - 如何从 InputStream 而不是 File 获取 Exif 数据?

我问这个的原因是因为文件选择器Intent的回调返回一个Uri。通过Intent打开文件选择器:Intentintent=newIntent();intent.setType("image/*");intent.setAction(Intent.ACTION_GET_CONTENT);startActivityForResult(Intent.createChooser(intent,"SelectPicture"),CHOOSE_IMAGE_REQUEST);回调:@OverridepublicvoidonActivityResult(intrequestCode,intresult

android - 如何获取位图信息,然后从 internet-inputStream 解码位图?

背景假设我有一个来自互联网的某个图像文件的inputStream。我希望获取有关图像文件的信息,然后才对其进行解码。它有多种用途,例如下采样以及在显示图像之前预览信息。问题我试图通过用BufferedInputStream包装inputStream来标记和重置inputStream,但它没有用:inputStream=newBufferedInputStream(inputStream);inputStream.mark(Integer.MAX_VALUE);finalBitmapFactory.Optionsoptions=newBitmapFactory.Options();opt

android - 在 Android 的 BluetoothSocket inputstream.read() 中实现超时

是否可以在Android中的BluetoothSocket的inputstream.read()函数中实现超时?我试过使用Thread.sleep()但这只会暂停我的Activity。---更新---我有一个想法,在此处编写2个线程代码(t1和t2),其中每个线程中断其他线程,其中一个线程(t1)执行sleep(5000)然后中断另一个线程(t2),从另一侧其他线程(t2)如果在读取输入流时检测到某些字符为0x0D会中断另一个线程(t1),但这是我的问题,有人可以帮助我吗?因为我没有使用线程的interrupt()方法,希望有人能帮帮我,谢谢...---更新---publicvoidr

android - 如果 'x' 时间已经过去,则创建一个取消 InputStream.read() 调用的线程

我目前有一个来自Android的BluetoothChatExample的有效I/O流,但遇到了问题。我的应用程序通过蓝牙连接到蓝牙模块,蓝牙模块又向模块物理连接的设备发送信号。我的程序在输入流上调用read(),如果有数据正在发送,程序会顺利执行,没有任何问题。但是,流的实现方式无法防止连接中断。如果模块从设备上物理移除,或者如果设备没有发回任何信号,我的代码只是简单地等待InputStream.read()调用。我的read()调用如下所示:try{Log.i("1)I/O","availablebits:"+mmInStream.available());bytes=mmInSt

android - 你如何在 MediaPlayer 上播放 Android InputStream?

所以我的Assets文件夹中有一个小音频文件,我想打开一个InputStream写入缓冲区,然后写入一个临时文件,然后我打开MediaPlayer播放那个临时文件。问题是,当媒体播放器点击mp.Prepare()时,它不会播放并且永远不会到达toast。以前有人做过吗?publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);InputStreamstr;try{str=this.getAssets().open("onest

java - 从批处理文件的进程中读取 InputStream 会跳到下一行

我正在尝试使用Runtime.exec()运行批处理文件,然后将其InputStream输出到JTextArea。我所拥有的作品,但只是部分作品。批处理文件运行时会发生什么,但是如果它执行的命令不是“echo”之类的命令,该命令会立即终止并执行下一行。例如,假设我尝试像这样运行一个简单的批处理文件:@echooffechohello.waiting5seconds.timeout/t5/nobreak>NULechofinished.goodbye.批处理文件执行,JTextArea说hello.waiting5seconds.finished.goodbye.但它不会在中间等待5秒。

inputstream - 在 Kotlin 中,如何将 InputStream 的全部内容读入字符串?

我最近在Kotlin中看到了将InputStream的全部内容读入String的代码,例如://inputisoftypeInputStreamvalbaos=ByteArrayOutputStream()input.use{it.copyTo(baos)}valinputAsString=baos.toString()还有:valreader=BufferedReader(InputStreamReader(input))try{valresults=StringBuilder()while(true){valline=reader.readLine()if(line==null)b

inputstream - 在 Kotlin 中,如何将 InputStream 的全部内容读入字符串?

我最近在Kotlin中看到了将InputStream的全部内容读入String的代码,例如://inputisoftypeInputStreamvalbaos=ByteArrayOutputStream()input.use{it.copyTo(baos)}valinputAsString=baos.toString()还有:valreader=BufferedReader(InputStreamReader(input))try{valresults=StringBuilder()while(true){valline=reader.readLine()if(line==null)b