你这是空异常,应该是JSON为空造成的,检查一下是否服务器返回了正确的JSON,然后看看有没有网络连接异常。
解决方案 »
- AutoCompleteTextView的下拉内容是白色字,看不清楚肿么办哦
- 关于 Android composer->captureScreen 截屏问题
- c中opengl截图,java中解析为空,求解答
- 怎么在TabHost里显示MapView???
- 对于自定义的listview,如何去掉他外面的边框,看起来和下面的按钮更协调呢
- 看这种效果如何实现?
- android的一些基本类
- [新手求助]三个数组合并成一个并且显示在listview上
- android如何实现微信显示好友动态时显示好友发的图片,点击图片看大图
- android.os.NetworkOnMainThreadException
- 在线音乐播放器
- 关于安卓
public final static String[] imageUrlsOfBIL() {
GetJson urlimage = new GetJson();
if(urlimage.getStrings(urlimage.jsonType("BIL"))==null)
{
final String[] test = new String[] {
"http://b268.photo.store.qq.com/psb?/V116Z8Jx12bQOL/Yy5CuxGLYrfNYQGlgOELGsFTlFTesSSvj5qBNwbUPdo!/b/dPikwJ*iIAAA&bo=WAIgAwAAAAABAF4!&rf=photoDetail",
"http://b268.photo.store.qq.com/psb?/V116Z8Jx12bQOL/Yy5CuxGLYrfNYQGlgOELGsFTlFTesSSvj5qBNwbUPdo!/b/dPikwJ*iIAAA&bo=WAIgAwAAAAABAF4!&rf=photoDetail",
"http://b228.photo.store.qq.com/psb?/V116Z8Jx12bQOL/.3xnkX57HGyxDB*igkiYx*xjnwuSSa00ZohC0*nFjCo!/b/dFlC8ocILQAA&bo=gAJYAwAAAAAKAPU!&rf=photoDetail",
"http://b233.photo.store.qq.com/psb?/V116Z8Jx12bQOL/DhBmngo1u3sRXYgvZR3MVVdghxGiEefUeACM1N9*ts4!/b/dNs77Yq5KAAA&bo=gAJ*AwAAAAAKANI!&rf=photoDetail",
"http://b229.photo.store.qq.com/psb?/V116Z8Jx12bQOL/0mg2WV4Q5rh5pgiLWonSN8fwzNqJr1O0dI.BA7hA3hU!/b/dJd7kogBJQAA&bo=gAJYAwAAAAAKAPU!&rf=photoDetail",
"http://b228.photo.store.qq.com/psb?/V116Z8Jx12bQOL/C6ap*ExKPtoyiBXcmMJsDg0UE8E1huVJ8w8.Sad5jlQ!/b/dE2q6ocYLQAA&bo=gALeAQAAAAABAHo!&rf=photoDetail",
"http://b228.photo.store.qq.com/psb?/V116Z8Jx12bQOL/C6ap*ExKPtoyiBXcmMJsDg0UE8E1huVJ8w8.Sad5jlQ!/b/dE2q6ocYLQAA&bo=gALeAQAAAAABAHo!&rf=photoDetail",
"http://b269.photo.store.qq.com/psb?/V116Z8Jx12bQOL/yrepKOjK71F2.MGsuZo8.YDm*Gvpawf0n8lAMIzEHGs!/b/dExAXKDqGQAA&bo=zwGAAgAAAAABAGs!&rf=photoDetail",
"http://b259.photo.store.qq.com/psb?/V116Z8Jx12bQOL/rlydZygqs9P9OKladeHBsedBwW.9N81mNgPwP8uGM0w!/b/dKeMbJpEFQAA&bo=qQEDAgAAAAADAIw!&rf=photoDetail",
"http://b259.photo.store.qq.com/psb?/V116Z8Jx12bQOL/ts.D1gWgnS.7PdJvGdTq1lkV.YqOvykQjat2O9vnSEk!/b/dOVoZpo6IQAA&bo=gAJVAwAAAAABAPM!&rf=photoDetail",
"http://b269.photo.store.qq.com/psb?/V116Z8Jx12bQOL/Y2agxCf.HtcRVhymB6*CUxfR0d.Nars8dJ12gFpgkoc!/b/dJHYYKBRJQAA&bo=gAJVAwAAAAABAPM!&rf=photoDetail",
"http://b269.photo.store.qq.com/psb?/V116Z8Jx12bQOL/ut9IaqogexhDtki3QdSBzn0bJFPVmULaF9qsrUT.FzY!/b/dL5qX6BEJQAA&bo=gAJVAwAAAAABAPM!&rf=photoDetail&rf=photoDetail",
"http://www.dazhihui008.cn/pic.asp?url=http://img01.mopimg.cn/xianyang/forum/201305/16/115549af37ij4t4i2l6f4u.gif",
};
return test;
}
else
{
return urlimage.getStrings(urlimage.jsonType("BIL"));
}
}
}这个是报错
12-23 22:04:50.448: D/AndroidRuntime(1061): Shutting down VM
12-23 22:04:50.448: W/dalvikvm(1061): threadid=1: thread exiting with uncaught exception (group=0xb3a75b90)
12-23 22:04:50.678: D/com.umeng.common.b(1061): Could not get location from GPS or Cell-id, lack ACCESS_COARSE_LOCATION or ACCESS_COARSE_LOCATION permission?
12-23 22:04:50.698: D/MobclickAgent(1061): cache buffer success
12-23 22:04:50.768: E/AndroidRuntime(1061): FATAL EXCEPTION: main
12-23 22:04:50.768: E/AndroidRuntime(1061): Process: com.PicGenie, PID: 1061
12-23 22:04:50.768: E/AndroidRuntime(1061): java.lang.NullPointerException
12-23 22:04:50.768: E/AndroidRuntime(1061): at com.entity.GetJson.jsonType(GetJson.java:171)
12-23 22:04:50.768: E/AndroidRuntime(1061): at com.example.photowallfallsdemo.ImagesBIL.imageUrlsOfBIL(ImagesBIL.java:9)
12-23 22:04:50.768: E/AndroidRuntime(1061): at com.example.photowallfallsdemo.MyScrollViewBIL.loadMoreImages(MyScrollViewBIL.java:198)
12-23 22:04:50.768: E/AndroidRuntime(1061): at com.example.photowallfallsdemo.MyScrollViewBIL.onLayout(MyScrollViewBIL.java:174)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.View.layout(View.java:14785)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewGroup.layout(ViewGroup.java:4631)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.View.layout(View.java:14785)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewGroup.layout(ViewGroup.java:4631)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.View.layout(View.java:14785)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewGroup.layout(ViewGroup.java:4631)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.View.layout(View.java:14785)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewGroup.layout(ViewGroup.java:4631)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.View.layout(View.java:14785)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewGroup.layout(ViewGroup.java:4631)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1985)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1742)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5582)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.Choreographer.doFrame(Choreographer.java:532)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.os.Handler.handleCallback(Handler.java:733)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.os.Handler.dispatchMessage(Handler.java:95)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.os.Looper.loop(Looper.java:137)
12-23 22:04:50.768: E/AndroidRuntime(1061): at android.app.ActivityThread.main(ActivityThread.java:4998)
12-23 22:04:50.768: E/AndroidRuntime(1061): at java.lang.reflect.Method.invokeNative(Native Method)
12-23 22:04:50.768: E/AndroidRuntime(1061): at java.lang.reflect.Method.invoke(Method.java:515)
12-23 22:04:50.768: E/AndroidRuntime(1061): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-23 22:04:50.768: E/AndroidRuntime(1061): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-23 22:04:50.768: E/AndroidRuntime(1061): at dalvik.system.NativeStart.main(Native Method)
12-23 22:04:51.008: D/dalvikvm(1061): GC_FOR_ALLOC freed 360K, 22% free 15719K/20048K, paused 95ms, total 101ms
01-02 04:01:25.280: W/System.err(1143): android.os.NetworkOnMainThreadException
01-02 04:01:25.390: W/System.err(1143): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
01-02 04:01:25.390: W/System.err(1143): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
01-02 04:01:25.390: W/System.err(1143): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
01-02 04:01:25.400: W/System.err(1143): at libcore.io.IoBridge.connect(IoBridge.java:112)
01-02 04:01:25.400: W/System.err(1143): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
01-02 04:01:25.400: W/System.err(1143): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
01-02 04:01:25.400: W/System.err(1143): at java.net.Socket.connect(Socket.java:843)
01-02 04:01:25.460: W/System.err(1143): at com.android.okhttp.internal.Platform.connectSocket(Platform.java:131)
01-02 04:01:25.460: W/System.err(1143): at com.android.okhttp.Connection.connect(Connection.java:101)
01-02 04:01:25.510: W/System.err(1143): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
01-02 04:01:25.510: W/System.err(1143): at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
01-02 04:01:25.510: W/System.err(1143): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
01-02 04:01:25.520: W/System.err(1143): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
01-02 04:01:25.520: W/System.err(1143): at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
01-02 04:01:25.530: W/System.err(1143): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
01-02 04:01:25.530: W/System.err(1143): at com.entity.GetPostUtil.sendPost(GetPostUtil.java:106)
01-02 04:01:25.530: W/System.err(1143): at com.entity.GetJson.jsonType(GetJson.java:161)
01-02 04:01:25.530: W/System.err(1143): at com.example.photowallfallsdemo.ImagesBIL.imageUrlsOfBIL(ImagesBIL.java:9)
01-02 04:01:25.530: W/System.err(1143): at com.example.photowallfallsdemo.MyScrollViewBIL.loadMoreImages(MyScrollViewBIL.java:198)
01-02 04:01:25.580: W/System.err(1143): at com.example.photowallfallsdemo.MyScrollViewBIL.onLayout(MyScrollViewBIL.java:174)
01-02 04:01:25.580: W/System.err(1143): at android.view.View.layout(View.java:14785)
01-02 04:01:25.580: W/System.err(1143): at android.view.ViewGroup.layout(ViewGroup.java:4631)
01-02 04:01:25.600: I/Choreographer(360): Skipped 70 frames! The application may be doing too much work on its main thread.
01-02 04:01:25.670: W/System.err(1143): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
01-02 04:01:25.670: W/System.err(1143): at android.view.View.layout(View.java:14785)
01-02 04:01:25.680: W/System.err(1143): at android.view.ViewGroup.layout(ViewGroup.java:4631)
01-02 04:01:25.680: W/System.err(1143): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
01-02 04:01:25.680: W/System.err(1143): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
01-02 04:01:25.780: W/System.err(1143): at android.view.View.layout(View.java:14785)
01-02 04:01:25.780: W/System.err(1143): at android.view.ViewGroup.layout(ViewGroup.java:4631)
01-02 04:01:25.780: W/System.err(1143): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
01-02 04:01:25.840: W/System.err(1143): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
01-02 04:01:25.840: W/System.err(1143): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
01-02 04:01:25.850: W/System.err(1143): at android.view.View.layout(View.java:14785)
01-02 04:01:25.850: W/System.err(1143): at android.view.ViewGroup.layout(ViewGroup.java:4631)
01-02 04:01:25.850: W/System.err(1143): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
01-02 04:01:25.850: W/System.err(1143): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
01-02 04:01:25.860: W/System.err(1143): at android.view.View.layout(View.java:14785)
01-02 04:01:25.860: W/System.err(1143): at android.view.ViewGroup.layout(ViewGroup.java:4631)
01-02 04:01:25.860: W/System.err(1143): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1985)
01-02 04:01:25.860: W/System.err(1143): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1742)
01-02 04:01:25.870: W/System.err(1143): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
01-02 04:01:25.870: W/System.err(1143): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5582)
01-02 04:01:25.880: I/Choreographer(360): Skipped 36 frames! The application may be doing too much work on its main thread.
01-02 04:01:25.950: W/System.err(1143): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
01-02 04:01:25.950: W/System.err(1143): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
01-02 04:01:26.030: W/System.err(1143): at android.view.Choreographer.doFrame(Choreographer.java:532)
01-02 04:01:26.040: W/System.err(1143): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
01-02 04:01:26.090: W/System.err(1143): at android.os.Handler.handleCallback(Handler.java:733)
01-02 04:01:26.120: W/System.err(1143): at android.os.Handler.dispatchMessage(Handler.java:95)
01-02 04:01:26.120: W/System.err(1143): at android.os.Looper.loop(Looper.java:137)
01-02 04:01:26.120: W/System.err(1143): at android.app.ActivityThread.main(ActivityThread.java:4998)
01-02 04:01:26.120: W/System.err(1143): at java.lang.reflect.Method.invokeNative(Native Method)
01-02 04:01:26.120: W/System.err(1143): at java.lang.reflect.Method.invoke(Method.java:515)
01-02 04:01:26.140: I/Choreographer(360): Skipped 35 frames! The application may be doing too much work on its main thread.
01-02 04:01:26.240: W/System.err(1143): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
01-02 04:01:26.240: W/System.err(1143): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
01-02 04:01:26.260: W/System.err(1143): at dalvik.system.NativeStart.main(Native Method)
01-02 04:01:26.260: W/System.err(1143): org.json.JSONException: End of input at character 0 of 以下是请求的代码部分
public List<FilesEntity> jsonType(String type){
List<FilesEntity> filesEntities = new ArrayList<FilesEntity>();
String params = "type=\""+type+"\"";
String url = "http://192.168.0.106:8080/androidServlet/servlet/TypeServlet";
String finish = GetPostUtil.sendPost(url, params);
JSONArray jsonArray = null;
try {
jsonArray = new JSONArray(finish);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0;i<jsonArray.length();i++ ){
JSONObject jsonObject = null;
try {
List<String> list = new ArrayList<String>();
jsonObject = jsonArray.getJSONObject(i);
FilesEntity filesEntity = new FilesEntity();
JSONArray jsonArray2 = new JSONArray(jsonObject.getString("review"));
for(int j=0;j<jsonArray2.length();j++){
JSONObject jsonObject2 = jsonArray2.getJSONObject(j);
list.add(jsonObject2.getString("review"+j));
}
filesEntity.setUrl(jsonObject.getString("url"));
filesEntity.setExplains(jsonObject.getString("explains"));
filesEntity.setFavoritenum(jsonObject.getLong("Favoritenum"));
filesEntity.setReviewList(list);
filesEntities.add(filesEntity);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return filesEntities;
}
adb shell tcpdump -s 0 -w /data/xxx.pcap
看见android.os.NetworkOnMainThreadException了么?用线程去访问网络。别放在主线程里。
new Thread(){
public void run() {
@SuppressWarnings("unused")
String[] next = urlimage.getStrings(urlimage.jsonType("BIL"));
}
}.start();
不过报错是这样的
01-03 20:13:38.696: E/AndroidRuntime(1307): FATAL EXCEPTION: main
01-03 20:13:38.696: E/AndroidRuntime(1307): Process: com.PicGenie, PID: 1307
01-03 20:13:38.696: E/AndroidRuntime(1307): java.lang.NullPointerException
01-03 20:13:38.696: E/AndroidRuntime(1307): at com.entity.GetJson.jsonType(GetJson.java:171)
01-03 20:13:38.696: E/AndroidRuntime(1307): at com.example.photowallfallsdemo.ImagesBIL.imageUrlsOfBIL(ImagesBIL.java:21)
01-03 20:13:38.696: E/AndroidRuntime(1307): at com.example.photowallfallsdemo.MyScrollViewBIL.loadMoreImages(MyScrollViewBIL.java:198)
01-03 20:13:38.696: E/AndroidRuntime(1307): at com.example.photowallfallsdemo.MyScrollViewBIL.onLayout(MyScrollViewBIL.java:174)
出现错误的四个地方是这四个
GetJson171************
for(int i=0;i<jsonArray.length();i++ ){
JSONObject jsonObject = null;
try {
List<String> list = new ArrayList<String>();
jsonObject = jsonArray.getJSONObject(i);
FilesEntity filesEntity = new FilesEntity();
JSONArray jsonArray2 = new JSONArray(jsonObject.getString("review"));
for(int j=0;j<jsonArray2.length();j++){
JSONObject jsonObject2 = jsonArray2.getJSONObject(j);
list.add(jsonObject2.getString("review"+j));
}
ImageBIL.java21***********
public final static String[] imageUrlsOfBIL() {
final GetJson urlimage = new GetJson();
String[] next = null;
new Thread(){
public void run() {
@SuppressWarnings("unused")
String[] next = urlimage.getStrings(urlimage.jsonType("BIL"));
}
}.start();
return urlimage.getStrings(urlimage.jsonType("BIL"));
}
MyScrollView****************
public void loadMoreImages() {
if (hasSDCard()) {
int startIndex = page * PAGE_SIZE;
int endIndex = page * PAGE_SIZE + PAGE_SIZE;
if (startIndex < ImagesBIL.imageUrlsOfBIL().length) {
Toast.makeText(getContext(), "Loading...", Toast.LENGTH_SHORT).show();
if (endIndex > ImagesBIL.imageUrlsOfBIL().length) {
endIndex = ImagesBIL.imageUrlsOfBIL().length;
}
for (int i = startIndex; i < endIndex; i++) {
LoadImageTask task = new LoadImageTask();
taskCollection.add(task);
task.execute(i);
}
page++;最后一个
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
if (changed && !loadOnce) {
scrollViewHeight = getHeight();
scrollLayout = getChildAt(0);
firstColumn = (LinearLayout) findViewById(R.id.first_column);
secondColumn = (LinearLayout) findViewById(R.id.second_column);
columnWidth = firstColumn.getWidth();
loadOnce = true;
loadMoreImages();
}
1:Bean类的数据机构构造错误。
2:前后台字段没对上。把取回来的Json串打印一下,然后按后台的数据结构构造Bean类,字段对应上不就OK了吗。