サーバー経由で画像データを送信する Android アプリケーションを構築したいと考えています。まず、テキスト データをアプリからマシンの localhost に送信したいと考えました。WAMP サーバーを使用しています。
私はEclipseでこのコードを書き、C:/wamp/www/フォルダーにmypage.phpを作成しました
package com.example.httpexample;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://localhost/mypage.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("fname", "vinod"));
nameValuePairs.add(new BasicNameValuePair("fphone", "1234567890"));
nameValuePairs.add(new BasicNameValuePair("femail", "abc@gmail.com"));
nameValuePairs.add(new BasicNameValuePair("fcomment", "Help"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
しかし、エミュレーターを実行すると、データがエミュレーターからローカルホストの mytest.php ファイルに送信されていることがわかりません。
私はこの分野に不慣れで、おそらくいくつかのことを正しく行っていません。抜け道を提案してください。必要に応じて詳細を尋ねてください。また、私の研究所はプロキシサーバーを使用していることを伝えたいと思います(しかし、私は自分のマシンに接続しているので問題はないはずです).