Java 我无法从异步任务中获得结果?
这段代码是真的吗?我正在使用from AsyncTask获取结果,但看不到任何结果,我正在使用WampServer。我认为我的逻辑错误在我的Java 我无法从异步任务中获得结果?,java,android,mysql,multithreading,android-asynctask,Java,Android,Mysql,Multithreading,Android Asynctask,这段代码是真的吗?我正在使用from AsyncTask获取结果,但看不到任何结果,我正在使用WampServer。我认为我的逻辑错误在我的getter/setter中: public class NotesActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConten
getter/setter
中:
public class NotesActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebPageTask task = new WebPageTask();
task.execute(new String[] { "http://192.168.5.170:8081/note-server/" });
}
private class WebPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
for (String url : urls) {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(
new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(String result) {
ArrayList<StructTask> nettasks = new ArrayList<StructTask>();
JSONObject object = null;
JSONArray tasks = null;
StructTask task = new StructTask();
try {
tasks = new JSONArray(result);
for (int i = 0; i < tasks.length(); i++) {
object = tasks.getJSONObject(i);
task.setid(object.getLong("task_id"));
task.settitle(object.getString("task_title"));
task.setdesc(object.getString("task_desc"));
task.settone(object.getBoolean("task_done"));
nettasks.add(task);
}
} catch (JSONException e) {
e.printStackTrace();
}
Log.i("LOG","dd");
for (StructTask taskesss : nettasks) {
Log.i("LOG", "Taskes: " + taskesss.getid()+"|"+taskesss.gettitle()+"|"+taskesss.getdesc() + "-" + taskesss.getdone());
}
}
}
}
public class StructTask {
private long id;
private String title;
private String desc;
private boolean done;
public long getid() {
return this.id;
}
void setid(long id) {
this.id = id;
}
public String gettitle() {
return this.title;
}
void settitle(String title) {
this.title = title;
}
public String getdesc() {
return this.desc;
}
void setdesc(String desc) {
this.desc = desc;
}
public boolean getdone() {
return this.done;
}
void setdone(boolean done) {
this.done = done;
}
}
以下代码不返回任何结果:
for (StructTask taskesss : nettasks) {
Log.i("LOG", "Taskes: " + taskesss.getid()+"|"+taskesss.gettitle()+"|"+taskesss.getdesc() + "-" + taskesss.getdone());
}
这是我的sql页面:
您的代码是正确的。但是: 1-在你的
getter/setter
课程中:
private boolean done;
public boolean getdone() {
return this.done;
}
void setdone(boolean done) {
this.done = done;
}
改为:
private int done;
public int getdone() {
return this.done;
}
void setdone(int done) {
this.done = done;
}
2-并更改为:
private int done;
public int getdone() {
return this.done;
}
void setdone(int done) {
this.done = done;
}
…你的密码
@Override
protected void onPostExecute(String result) {
ArrayList<StructTask> nettasks = new ArrayList<StructTask>();
try {
JSONArray tasks = new JSONArray(result);
for (int i = 0; i < tasks.length(); i++) {
JSONObject object = tasks.getJSONObject(i);
StructTask task = new StructTask();
task.setid(object.getLong("task_id"));
task.settitle(object.getString("task_title"));
task.setdesc(object.getString("task_desc"));
task.setdone(object.getInt("task_done"));
nettasks.add(task);
}
} catch (JSONException e) {
e.printStackTrace();
}
@覆盖
受保护的void onPostExecute(字符串结果){
ArrayList nettasks=新的ArrayList();
试一试{
JSONArray任务=新JSONArray(结果);
对于(int i=0;i
…你的密码
@Override
protected void onPostExecute(String result) {
ArrayList<StructTask> nettasks = new ArrayList<StructTask>();
try {
JSONArray tasks = new JSONArray(result);
for (int i = 0; i < tasks.length(); i++) {
JSONObject object = tasks.getJSONObject(i);
StructTask task = new StructTask();
task.setid(object.getLong("task_id"));
task.settitle(object.getString("task_title"));
task.setdesc(object.getString("task_desc"));
task.setdone(object.getInt("task_done"));
nettasks.add(task);
}
} catch (JSONException e) {
e.printStackTrace();
}
3-并使用粘贴和Wi-Fi热点连接到您的pc和android
此选项位于您的设置中
手机,然后通过Wi-Fi pc连接到您的手机。现在您可以看到您喜欢的结果
好看这是什么样的错误?从哪里得到的?你能在android浏览器中得到URL吗?值日志是什么。我和值设置正确吗?是的,我能得到URL等等。我知道我的逻辑错误在:task.setid(object.getLong(“task_id”);task.settitle(object.getString(“task_title”));task.setdesc(object.getString(“task_desc”);task.settone(object.getBoolean(“task_done”);nettask.add(task);