Я изучаю Android и webservices
. У меня есть приложение для Android, которое отправляет данные с использованием okHttp
, и мне нужно глотать эти данные на моем сервере и помещать их в базу данных. У меня есть небольшой опыт вызова и получения данных от webservices
, но они никогда не получали данных.ASP.NET Как получить данные HTTP из приложения Android, используя OkHttp
Как я понимаю, в ASP.Net мне нужно будет использовать HttpHandler
, и я видел несколько примеров, но они всегда возвращают данные по запросу. Как вы сохраняете HttpHandler
, всегда слушая эти данные?
Вот код из моего приложения для Android.
public class MainActivity extends Activity {
TextView outputText;
Button sendData;
EditText edtUser, edtPass;
final String URL = "http://serviceapi.skholingua.com/open-feeds/display_received_params.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
outputText = (TextView) findViewById(R.id.textView1);
outputText.setMovementMethod(new ScrollingMovementMethod());
sendData = (Button) findViewById(R.id.button1);
edtUser = (EditText) findViewById(R.id.editText1);
edtPass = (EditText) findViewById(R.id.editText2);
sendData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String userName = edtUser.getText().toString();
String passWord = edtPass.getText().toString();
OkHttpHandler handler = new OkHttpHandler(userName, passWord);
String result = null;
try {
result = handler.execute(URL).get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
outputText.append(result + "\n");
}
});
}
Класс
public class OkHttpHandler extends AsyncTask<String, Void, String> {
OkHttpClient client = new OkHttpClient();
String userName, passWord;
public OkHttpHandler(String userName, String passWord) {
// TODO Auto-generated constructor stub
this.userName = userName;
this.passWord = passWord;
}
@Override
protected String doInBackground(String... params) {
RequestBody formBody = new FormEncodingBuilder()
.add("name", userName)
.add("pass", passWord)
.build();
Request request = new Request.Builder()
.url(params[0]).post(formBody)
.build();
try {
Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response.toString());
return response.body().string();
} catch (Exception e) {
}
return null;
}
URL
будет изменено на то, что я создаю на моем сервере. Мой вопрос: какой тип данных будет отправлен? Что мне нужно создать на моем сервере, чтобы глотать его? Если у кого-то есть пример, который был бы очень полезен.
Эй .. Спасибо для справки. Я сейчас изучаю веб-API, но все еще запутался ... Не могли бы вы рассказать о том, что ваш пример выше? Поиск веб-API Я нахожу множество примеров о том, как получать данные из веб-службы, но не так много, как слушать отправку данных на ваш сервис. – meyvn
обновленный пример – Mattias