次のようなソケットクライアント接続を準備しました:
Socket socket = new Socket();
socket.setSoTimeout(500);
hostname = "XX.YY.ZZ.XX";
socket.connect(new InetSocketAddress(hostname, port), 6000);
out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
false);
in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
そして、次のコードを使用してデータを読み取ります。
if (in.ready() == true) {
String message = in.readLine();
Log.e("MyApplication", "data=" + message);
}
logcat を見ると? すべての国別文字の代わりに char を使用します。Androidアプリケーションに送信するデータはutf-8文字セットにあると確信しているため、次のようなコードを使用しようとしました:
UTF8Str = new String(message.getBytes(),"UTF-8");
または次のように BufferReader を作成します。
in = new BufferedReader(new InputStreamReader(
socket.getInputStream(),"UTF-8"));
しかし、すべてが成功しませんでした。問題の変換文字を解決して、logcat に国別文字として表示するのを手伝ってもらえますか (私の主な目標は、TextView に表示することです)。2 週間前にはすべてが機能していましたが、Eclipse の再構成 (古い設定に戻すことはできません) の後、停止しました。
〜Artik