在我的Android的項目,我需要檢索從MySQL通過PHP的一些數據..我不知道是否有比這更好的辦法,這是我的代碼:這是更好的方式連接到Android的MySQL數據庫?
public class test extends AppCompatActivity {
TextView text;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_activity);
text = (TextView) findViewById(R.id.Name);
AsyncTaskClass asyncTaskClass = new AsyncTaskClass();
asyncTaskClass.execute();
}
private class AsyncTaskClass extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
String getNameURL = "http://10.0.2.2/getName.php";
try {
URL url = new URL(getNameURL);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
try {
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(), "iso-8859-1"));
StringBuilder result = new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
result.append(line).append("\n");
}
bufferedReader.close();
JSONObject jsonObject = new JSONObject(result.toString());
return jsonObject.getString("Name");
} finally {
httpURLConnection.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (result != null) {
text.setText("Your name is " + result);
}
}
}}
有沒有錯碼。
但是請注意,在每一個活動中,如果它需要獲取一些數據,我會在其中放置一個AsyncTask ..我沒有太多的android和java經驗。 是我的HTTP連接有問題,因爲我看到一些使用HTTPClient和URI而不是URL的例子! setRequset方法GET和POST有什麼不同?
在此先感謝我欣賞任何幫助:)!
你沒有連接到任何MySQL數據庫在此代碼其他HTTP庫。您正在對一些PHP腳本執行常規HTTP請求。 –
創建將執行HTTP請求,讓您用自己的聽衆的幫助下,響應我猜 –
一個更好的辦法是徹底的一個實際的HTTP庫擺脫的AsyncTask的...排球,改造,離子共同類, AsyncHttpClient等... –