私はアンドロイド開発が初めてです。私は基本的なアプリを試しています。私の要件は、Android アプリのテキスト ボックスから、POST メソッドを使用してネット上でホストされている PHP ページにデータを送信する必要があることです。この方法に関するチュートリアルのサイトを多数閲覧しましたが、適切なサイトが見つかりませんでした。postメソッドを使用して、Androidアプリの1つのテキストボックスからPHPページにデータを送信するためのサンプルコードを教えてください。前もって感謝します。
質問する
1868 次
1 に答える
4
このようなもの:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText input = (EditText)findViewById(R.id.yourinput);
input.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String text = input.getText().toString();
new UploadTask().execute(text);
}
});
}
private class UploadTask extends AsyncTask<String, Integer, String> {
private ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Uploading...");
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.show();
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://yourwebsite.com/commit.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs
.add(new BasicNameValuePair("username", params[0]));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
if (response != null) {
InputStream in = response.getEntity().getContent();
String responseContent = inputStreamToString(in);
return responseContent;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
if (progressDialog != null) {
progressDialog.dismiss();
}
// process the result
super.onPostExecute(result);
}
private String inputStreamToString(InputStream is) throws IOException {
String line = "";
StringBuilder total = new StringBuilder();
// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
// Read response until the end
while ((line = rd.readLine()) != null) {
total.append(line);
}
// Return full string
return total.toString();
}
}
于 2013-11-01T12:58:22.217 に答える