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