0
我想在一個應用程序,講述了一個遠程MySQL數據庫的一些值設置爲從1到0的Android的AsyncTask更新查詢遠程MySQL服務器
這就是所謂的resetSentValues.php
PHP腳本並運行從AsyncTask
一個簡單的查詢當我在瀏覽器中訪問該文件時,數據庫中的值會更改。所以我可以說腳本起作用。
我想要的是,我可以點擊一個按鈕,並重置我的數據庫中的所有值(使用工作腳本)。我試圖用一個簡單的AsyncTask
如下:
public class MessageSentResetter extends AsyncTask<Void, String, String> {
private URL urlMsgtSateResetScript;
HttpURLConnection urlConnectionMsgStateReset = null;
@Override
protected void onPreExecute() {
try {
urlMsgtSateResetScript = new URL("http://freerunnl.nl/smsSender/webservice/resetSentValues.php");
System.out.println("message sent resetter on pre execute tried");
} catch (MalformedURLException e) {
e.printStackTrace();
}
super.onPreExecute();
}
@Override
protected String doInBackground(Void... voids) {
try {
urlConnectionMsgStateReset = (HttpURLConnection) urlMsgtSateResetScript.openConnection();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
System.out.println("Onpostexecute is reached, now disconnect the httpurlconnection");
urlConnectionMsgStateReset.disconnect();
super.onPostExecute(s);
}
}
而且我把它叫做是這樣的:
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void sendSMS() {
MessageSentResetter resetter = new MessageSentResetter();
resetter.execute();
Toast.makeText(MainActivity.this, "The message sent values are reset", Toast.LENGTH_LONG).show();
}
當點擊事件被實例化,像這樣:
btnSendSMS.setOnClickListener(new OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void onClick(View view) {
sendSMS();
}
});
有什麼建議?我已經建立了相似的設置,以便我可以從數據庫中選擇和分析JSON對象,以便連接起作用。但我只想通過點擊一下按鈕來執行這個腳本。
非常感謝您抽出時間!
你只是打開一個連接,但沒有任何獲取或發佈網址的請求。 –
我只想運行php文件,我想我忘了調用'urlConnectionMsgStateReset.connect();' ?我現在要試試這個。 – robertjuh
,我做了urlConnectionMsgStateReset.setRequestMethod(「POST」); – robertjuh