0

私の目標は、SD カードのファイルを読み取り、プログラムで処理することです。

すべてが Android エミュレーターで正常に動作します!!!!

残念ながら、スマートフォンで作業すると、まったく機能しませんでした。

     public void receiveVideoRawData() throws IOException{
      byte[] buf_rcv = new byte[153600];
      File file = new File("/mnt/sdcard/Bluetooth/ardrone.raw");
      ByteArrayOutputStream ous = new ByteArrayOutputStream();
      InputStream ios = new FileInputStream(file);
      int read = 0;
      while ( (read = ios.read(buf_rcv)) != -1 ) {
                ous.write(buf_rcv, 0, read);
             }
                ous.close();
                ios.close();

    ReadRawFileImage readMyRawData=new ReadRawFileImage();
    image = readMyRawData.readUINT_RGBImage(buf_rcv);
        File outputfile = new File("/mnt/sdcard/Bluetooth/ardroneCVT1.jpg");
        OutputStream _outStream  = new FileOutputStream(outputfile);
        Bitmap pBitmap = image ;
        pBitmap.compress(Bitmap.CompressFormat.JPEG, 90, _outStream);       
          _outStream.flush();
          _outStream.close();       

}

}

4

1 に答える 1

1

デバイスによって異なる可能性があるため、外部ストレージへのパスを直接ハードコードすることは想定されていません。代わりに getExternalStorageDirectory() を使用してください。

File file = new File(Environment.getExternalStorageDirectory()
                      .getAbsolutePath(), filename);
于 2013-03-01T04:29:25.203 に答える