我是Android的新手,并试图在互联网上找到任何推荐/教程但尚未修复我的问题
我有这段代码来显示值:
List<Contact> contacts = db.test();
for (Contact cn : contacts) {
String log = "Audit Name "+cn.getName()+" ,CountAudit " + cn.getAudit()+" ,CountFlag "
+ cn.getFlag();
if(String.valueOf(cn.getFlag()).equals(cn.getAudit())){
Log.d("Berhasil", "Sama Cok");
}
Log.d("Name: ", log);
}
logcat显示:
Audit Name 12447 ,CountAudit 1 ,CountFlag 1
现在我需要创建可以将HttpURLConnection
值存储到API
Audit Name
我正在创建新课程:
private class sendget extends AsyncTask<Void, String, Void >
{
@Override
protected Void doInBackground(String audit) {
try {
URL url = new URL("myurl"+"?"+ audit);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Accept", "application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
DataOutputStream os = new DataOutputStream(conn.getOutputStream());
//os.writeBytes(URLEncoder.encode(jsonParam.toString(), "UTF-8"));
os.writeBytes(audit);
os.flush();
os.close();
conn.disconnect();
} catch (JSONException | IOException e) {
e.printStackTrace();
}
}
}
但是我犯了太多错误,
我的目标是使用此代码:
List<Contact> contacts = db.test();
for (Contact cn : contacts) {
String log = "Audit Name "+cn.getName()+" ,CountAudit " + cn.getAudit()+" ,CountFlag "
+ cn.getFlag();
if(String.valueOf(cn.getFlag()).equals(cn.getAudit())){
// add this code to calling httpurlconnection class with parameter from cn.getName()
sendget.execute(cn.getName);
// so the complete url gonna be myurl?audit=12447
Log.d("Berhasil", "Sama Cok");
}
Log.d("Name: ", log);
}
请有人指导我创建适用于上述代码的HttpURLConnection
课程,任何教程都会很高兴
答案 0 :(得分:0)
doInBackground
需要变量参数。例如,
private class sendget extends AsyncTask<Void, String, Void >
{
@Override
protected Void doInBackground(String... audit) {
URL url = new URL("myurl"+"?"+ audit[0]);
但是,如果您要发送JSON数据,您应该1)考虑一次发送整个数组而不是单个值(您的设备电池会感谢您),以及2)使用a different networking library。编写AsyncTasks(正确)基本上是浪费时间。
顺便说一句,如果您尝试在手机上实现数据库以与Web服务器数据库同步 - 当其他设备在外部更新Web服务器时,您将遇到很多问题你自己的应用程序。 如何收到变更通知?