ぶろぐ

2013-05-08

AndroidアプリからPOSTでデータ送信する

まずAndroidマニフェスト

<uses-permission android:name="android.permission.INTERNET" />

を記述しないと、プログラムからインターネットに接続できない。

apache-mime4j-0.6.jar
httpmime-4.0.jar

をそれぞれ、
http://james.apache.org/mime4j/ の Download - Releases から
http://hc.apache.org/downloads.cgi の HttpClient から
ダウンロードしてlibs下に置く。

プログラム側はこんな感じ↓

HttpClient httpclient  = new DefaultHttpClient();
	try {
		// ファイルのアップロード処理
		HttpPost httppost = new httpPost("url");
		FileBody bin = new FileBody(saveFile);
			
		MultipartEntity reqEntity = new MultipartEntity();
		reqEntity.addPart("bin", bin);
		
		httppost.setEntity(reqEntity);
		HttpResponse response = httpclient.execute(httppost); // ファイル送信
		
		Toast.makeText(_context, "送信されました", Toast.LENGTH_SHORT).show();
	} catch (Exception e) {
		Toast.makeText(_context,  e.getMessage(), Toast.LENGTH_SHORT).show();
		return;
	}

【追記】
Android3以降はメインプロセスで通信やると怒られるらしいから
スレッド作ってやらなかんらしー。
このライブラリが超便利。
http://loopj.com/android-async-http/

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ka0_0ak/20130508/1367981376
リンク元