#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?