-1
我正在學習android和webservices
。我有一個使用okHttp
發送數據的android應用程序,我需要在我的服務器上獲取這些數據並將其放入數據庫。我有一點經驗調用並從webservices
獲取數據,但從未收到數據。ASP.NET如何使用OkHttp從Android應用程序接收HTTP數據
據我所知,在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");
}
});
}
的Class
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
將改爲無論我在我的服務器上創建。我的問題是......這將發送什麼類型的數據?我需要在我的服務器上創建什麼來攝取它? 如果有人有一個很有幫助的例子。
嘿..謝謝幫助...我現在正在研究Web API,但仍然困惑......請你詳細說明你的示例是什麼?查找Web API我發現了大量關於如何從Web服務獲取數據的示例,但沒有太多關於如何監聽數據發佈到您的服務的示例。 – meyvn
已更新的示例 – Mattias