打开一个网站,并使用Android应用程序将数据传递给它

时间:2014-03-11 12:53:41

标签: android forms webpage

请问如何将我的Android表单数据的内容传递到网页,这些数据会显示在网页上。

从本质上讲,当我点击" ok"我的Android表单数据的按钮,我希望打开的网页显示那些数据。

感谢。

我正在使用下面的代码段打开网页

  public void onClick(View v) {
      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://10.0.2.2/test/confirmPayment.php"));      
      new MyAsyncTask().execute(ntwk);
      startActivity(browserIntent);
  }

我尝试使用以下代码传递表单数据。

  public class MyAsyncTask extends AsyncTask<String, Integer, Double>{

@Override
protected Double doInBackground(String... params) {
    // TODO Auto-generated method stub
    postData(params[0]);
    return null;
}

protected void onPostExecute(Double result){
    //pb.setVisibility(View.GONE);
    Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
}


private Context getApplicationContext() {
    // TODO Auto-generated method stub
    return null;
}

public void postData(String valueIWantToSend) {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://10.0.2.2/test/confirmPayment.php");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("names", valueIWantToSend));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}

  }

问题是网页打开但表单数据没有通过。请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

首先修复getApplicationContext方法。它返回由Toast使用的null。其次,如果我没有弄错的话,你打开一个默认浏览器,并将Http帖子发送到另一个与浏览器连接完全不同的连接。我建议您在Web视图中打开表单或其他任何内容并覆盖javascript方法,以便将数据发布到该Web视图。