Отправка данных из приложения Android в веб-приложение

#android #android-intent #web-applications

#Android #android-намерение #веб-приложения

Вопрос:

Я новичок в 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 в веб-приложение.

Комментарии:

1. что здесь означает «веб-приложение»? это ваше собственное приложение?

2. @harvey_slash приложение Grails, разработанное мной

3. и с помощью «отправки» вы хотите запустить свое приложение и получить доступ к строке, верно?

Ответ №1:

Вероятно, вы хотите выполнить 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

Ответ №2:

Вы можете передать строку, используя intents

вот как вы можете отправлять:

     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");
  

Комментарии:

1. как я могу использовать Intent в веб-приложении Java или grails?