人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

AndroidとVisual basicのTCP/IP通信するアプリを作ろうと思います。Androidからボタンを教えたら数字の1を送るだけです。そのようなサンプルか情報はございますでしょうか。

●質問者: mai_mai_mail
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント

まず、クライアント側から。
http://blog.ayakix.com/2010/04/android.html
http://team-pag.interprism.co.jp/member/okazawa/blog/?p=687

manifest ファイルでパーミッションを与えるところ以外は、普通の java で socket 通信をするプログラムと同じです。
通信相手が java と特定できない場合には、数値を送るにしてもシリアライズを使うのではなく、文字列として送ります。


今度は、サーバ側。
VB.NET です。
http://dobon.net/vb/dotnet/internet/tcpclientserver.html
http://homepage2.nifty.com/nonnon/SoftSample/CS.NET/SampleTcpIpSvr.html

TcpListener で待ち受けて、TcpClient から GetStream() で NetworkStream のインスタンスを取得して Read() です。
"1" 程度ならエンコードは気にする必要はあるかもしれませんが、java 側に合わせて UTF-8 にしておくのが簡単だと思います。


mai_mai_mailさんのコメント
ありがとうございます。教えていただいたAndroid側は http://team-pag.interprism.co.jp/member/okazawa/blog/?p=687 VB側(PC側)はこちらを使いました。 http://homepage2.nifty.com/nonnon/SoftSample/CS.NET/SampleTcpIpSvr.html AndroidでUnfortunately,MyApplicationTCP2 has stoppedというエラーが出てしまいます。どうしてもエラーの理由がわかりません。教えてください。 package com.example.wa2.myapplicationtcp2; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.net.Socket; import java.io.IOException; import java.net.UnknownHostException; import java.io.PrintWriter; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView textView = (TextView) findViewById(R.id.textView); Button button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ textView.setText("Button pushed"); String address = "192.168.0.103"; String strPort = "8888"; int port = Integer.parseInt(strPort); Socket socket = null; try { socket = new Socket(address,port); PrintWriter pw = new PrintWriter(socket.getOutputStream(),true); String sendTxt ="テスト"; pw.println(sendTxt); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } if( socket != null){ try { socket.close(); socket = null; } catch (IOException e) { e.printStackTrace(); } } } }); } }

a-kuma3さんのコメント
Android アプリの開発は経験がないのですが、ログが確認できるのですよね? まずは、例外のクラス名、メッセージ、スタックトレースを確認してみましょう。 http://blog.kmckk.com/archives/2902690.html

mai_mai_mailさんのコメント
ハードル高いですが、やって見ます。ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ