2

Bluetooth 経由でファイルを転送するように、Android BluetoothChat サンプル プロジェクトを変更しました。テキスト ファイルを正常に転送し、それらを ListActivity に出力しました。画像で同じことをしたいのですが、うまくいきませんでした。InputStream で受信したバイト配列を UserInterface に送信する Handler オブジェクトがあります。そこで、このバイト配列を画像に変換する必要があります。私は次のことを試しましたが、うまくいきません:

    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
        case MESSAGE_STATE_CHANGE:
            if(D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1);
            switch (msg.arg1) {
        case MESSAGE_READ:
            byte[] readBuf = (byte[]) msg.obj;
            // construct a string from the valid bytes in the buffer
            myImg.setImageBitmap(BitmapFactory.decodeByteArray(readBuf, 0, readBuf.length));
            //the following lines would actually display the text of the file in the ListActivity
            //String readMessage = new String(readBuf, 0, msg.arg1);
            //mConversationArrayAdapter.add(mConnectedDeviceName+":  " + readMessage);
            break;
        }
    }
};

UI にメッセージを送信するハンドラー コードは次のようになります。

mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1,buffer).sendToTarget();

ANSWER 私は他の多くの投稿を読み、それをうまく機能させた他の誰かを見つけました. 彼は私を救ったちょっとしたトリックを使いました。質問ページでより良い方法で説明されているため、ここでは答えませんBluetooth経由でAndroidからPCに画像を送信する

助けてくれてありがとう

4

1 に答える 1

0

BitmapFactory.decodeByteArray(byte[] data, int offset, int length)メソッドを使用して、バイト配列からビットマップを取得してみてください。

于 2012-11-21T13:40:06.220 に答える