将数据从Android应用程序发送到Web应用程序

时间:2014-07-04 09:04:43

标签: android android-intent web-applications

我在android中的新手。

要求是我需要从网络应用程序调用Android应用程序,然后我需要从Android应用程序发送一个字符串到网络应用程序。

这就是我为此所做的。

1)创建从网络应用到移动应用的链接(可行)

<a href="intent:#Intent;action=com.appname.demo;end">click to load</a>

2)移动应用程序有一个文本框和一个按钮,我需要在点击按钮时将文本框的值发送到网络应用程序。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Intent i = new Intent();
    i.setAction("com.example.helloapp");
    Log.e("IntentTest", i.toUri(Intent.URI_INTENT_SCHEME));

    mButton = (Button)findViewById(R.id.button);
    mEdit   = (EditText)findViewById(R.id.editText);

    mButton.setOnClickListener(
        new View.OnClickListener()
        {
            public void onClick(View view)
            {
                Log.v("EditText", mEdit.getText().toString());
                value = mEdit.getText().toString();
        // I need to send value to web application

            }
      });
}

如何将EditText值发送到Web应用程序。

2 个答案:

答案 0 :(得分:0)

您想要做的可能是执行HTTP POST。这在Java中非常简单,只需使用HttpURLConnection类。

例如,你可以做这样的事情。

URL url = new URL("www.yoursite.com");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();   

//Send request
DataOutputStream wr = new DataOutputStream (urlConnection.getOutputStream ());
wr.writeBytes (urlParameters);
wr.flush ();
wr.close ();

try {
 InputStream in = new BufferedInputStream(urlConnection.getInputStream());
 readStream(in); // Your function that reads the result from the server
finally {
 urlConnection.disconnect();
  }
}

http://developer.android.com/reference/java/net/HttpURLConnection.html

答案 1 :(得分:0)

您可以使用意图传递字符串

这是您发送的方式:

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
emailIntent.putExtra("VALUE", valueofthestringyouwanttosend);
    startActivity(intent);

并接收(从您的网络应用程序运行)

Intent intent = getIntent();
String value= intent.getStringExtra("VALUE");