1

PythonサーバーからAndroidクライアントにソケットを介してファイル(具体的にはpng)を送信しようとしています。私のpythonサーバーがデータを送信していることは知っていますが、Android側でデータを受信する方法がわかりません。ファイルを受け取るコードは次のようになります。

    String path = Environment.getExternalStorageDirectory().toString() +"/tmp/test.png";     
        try {
            socket = new Socket("192.168.1.129", 29877);

             is = socket.getInputStream();
             out = new FileOutputStream(path);
            byte[] temp = new byte[1024];
            for(int c = is.read(temp,0,1024); c > 0; c = is.read(temp,0,1024)){
                out.write(temp,0,c);
                Log.d("debug tag", out.toString());
            }
            Log.d("debug tag", temp.toString());

            Bitmap myBitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);
            imageView.setImageBitmap(myBitmap);

アドバイスをありがとう。

4

1 に答える 1

1

ソケットから 1K チャンクで読み取り、それらをファイルに保存しています。次に、最後のチャンクをビットマップとして解釈しようとします。これはうまくいきません。

保存した後にファイルから画像を読み取るか、すべてをメモリにバッファリングします。

于 2012-09-11T20:16:16.523 に答える