2017-11-01 6 views
1

サーバーソケットを使用してImageViewに表示するイメージを送受信しようとしていますが、サーバーソケットを使用してイメージを復号化したいが動作しません。このようなServerSocket Serviceを使用してイメージを送受信する方法は?

画像のURL:

http://localhost:4545/sdcard0/emulated/test.img; 

サービス:

public class ImageDecrptService extends Service { 

    private ServerSocket serverSocket; 
    private Socket socket; 

    void acceptRequestNDecryptFile() { 
     try { 
      try { 
       serverSocket = new ServerSocket(4545); 
      } catch (Exception e) { 
      } 

      while (true) { 
       Log.e("", "thread called true"); 
       socket = serverSocket.accept(); 
       //some thing code 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       serverSocket.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 

    Thread thread = new Thread(new Runnable() { 
     @Override 
     public void run() { 
      try { 
       acceptRequestNDecryptFile(); 
       Log.e("", "thread called "); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     try { 
      thread.start(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     return START_STICKY; 
    } 

} 

がどのようにサーバソケットに画像のURLを渡すことができますか?

注:ビットマップを使用してイメージを表示することは望ましくありません。

+0

セットアップをよりよく説明してください。誰が画像をダウンロードしようとしていますか?誰がそれを提供していますか? – greenapps

+0

@ greenapps ..イメージをダウンロードしていない、ローカルストレージ(ディレクトリ)に存在し、イメージを復号化するローカルサービスから表示し、ImageViewへの表示 –

+0

????あなたは十分ではないと言った。解読?サービス?ローカル画像のみを表示するには?どうしたの?あなたはセットアップをもっとうまく伝えるべきです。今私たちは推測する必要があります。また、あなたのクライアントの何かを伝えるよりもサーバーがある場合。 – greenapps

答えて

0

ウェブサーバーにイメージのhttp URLがある場合、イメージを取得するにはクライアントが必要です。

あなたのServerSocketは無駄です。

また、クライアントソケットは適切な方法ではありません。

イメージをダウンロードするには、httpコンポーネントまたはライブラリを使用する必要があります。

また、DownloadManagerを起動します。

関連する問題