我尝试解析 json,但我有问题,当我运行我的应用程序时,我有下一个错误。我尝试打印日志,但没有打印出来。他看不懂我的 rss.json?还是另一个问题?
我收到 FATAL EXCEPTION : AsyncTask #1 这个错误在 log cat 我能够在 AVD 4.1.2 上运行代码
日志猫
FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:64)
at java.io.InputStreamReader.<init>(InputStreamReader.java:79)
at com.gazetaimage.MainActivity$backTask.doInBackground(MainActivity.java:112)
at com.gazetaimage.MainActivity$backTask.doInBackground(MainActivity.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 5 more
异步任务代码
class backTask extends AsyncTask<String, Void, JSONObject>{
InputStream ips;
String jstring = null;
JSONObject jsonObj = null;
MainActivity activity;
@Override
protected JSONObject doInBackground(String... params) {
try {
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://mysite.com/RSS/gazeta.js");
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();
ips = entity.getContent();
Log.d("Log", ips.toString());
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
//MainActivity.java:112 ERROR --->
BufferedReader bufff = new BufferedReader(new InputStreamReader(ips, "UTF-8"));
Log.d("Log", bufff.toString());
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = bufff.readLine()) != null){
sb.append(line + "\n");
}
ips.close();
jstring = sb.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
jsonObj = new JSONObject(jstring);
} catch (JSONException e) {
e.printStackTrace();
}
return jsonObj;
}
protected void onPostExecute(JSONObject result){
super.onPostExecute(result);
}
public void link(MainActivity mainActivity) {
activity = mainActivity;
}
public void unlink() {
activity = null;
}
}