Eclipse的logcat中信息如下所示:
04-17 20:41:18.804: D/AndroidRuntime(24923): Shutting down VM
04-17 20:41:18.804: E/AndroidRuntime(24923): FATAL EXCEPTION: main
04-17 20:41:18.804: E/AndroidRuntime(24923): Process: com.bn.xwglxt, PID: 24923
04-17 20:41:18.804: E/AndroidRuntime(24923): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.widget.SimpleAdapter.getItem(int)' on a null object reference
04-17 20:41:18.804: E/AndroidRuntime(24923):  at com.bn.xwglxt.MainActivity$1.handleMessage(MainActivity.java:85)
04-17 20:41:18.804: E/AndroidRuntime(24923):  at android.os.Handler.dispatchMessage(Handler.java:111)
04-17 20:41:18.804: E/AndroidRuntime(24923):  at android.os.Looper.loop(Looper.java:207)
04-17 20:41:18.804: E/AndroidRuntime(24923):  at android.app.ActivityThread.main(ActivityThread.java:5795)
04-17 20:41:18.804: E/AndroidRuntime(24923):  at java.lang.reflect.Method.invoke(Native Method)
04-17 20:41:18.804: E/AndroidRuntime(24923):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
04-17 20:41:18.804: E/AndroidRuntime(24923):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)
04-17 20:41:18.815: I/Process(24923): Sending signal. PID: 24923 SIG: 9
04-17 20:41:19.613: I/System(24948): FinalizerDaemon: finalize objects = 1
04-17 20:41:19.632: W/System(24948): ClassLoader referenced unknown path: /data/app/com.bn.xwglxt-2/lib/arm64
04-17 20:41:19.652: D/AccessibilityManager(24948): current package=com.bn.xwglxt, accessibility manager mIsFinalEnabled=false, mOptimizeEnabled=false, mIsUiAutomationEnabled=false, mIsInterestedPackage=false
04-17 20:41:19.652: W/System(24948): ClassLoader referenced unknown path: /system/app/MiuiContentCatcher/lib/arm64
04-17 20:41:19.676: I/System.out(24948): [CDS][DNS] getAllByNameImpl netId = 0
04-17 20:41:19.677: D/libc-netbsd(24948): [getaddrinfo]: mtk hostname=10.16.189.95; servname=(null); netid=0; =0
04-17 20:41:19.677: D/libc-netbsd(24948): getaddrinfo( app_uid:10182
04-17 20:41:19.677: D/libc-netbsd(24948): getaddrinfo() uid prop:
04-17 20:41:19.677: D/libc-netbsd(24948): getaddrinfo() getuid():10182
04-17 20:41:19.677: D/libc-netbsd(24948): [getaddrinfo]: mtk ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
04-17 20:41:19.677: E/NetworkUtilities(24948): [MTK_net]ss.ss_family:10
04-17 20:41:19.678: E/NetworkUtilities(24948): [MTK_net]ss.ss_family:2
04-17 20:41:19.678: D/ActivityThread(24948): ACT-AM_ON_RESUME_CALLED ActivityRecord{732bc9f token=android.os.BinderProxy@80cf1ec {com.bn.xwglxt/com.bn.xwglxt.MainActivity}}
04-17 20:41:19.678: I/System.out(24948): [CDS]connect[/10.16.189.95:31418]
04-17 20:41:19.678: D/Posix(24948): [Posix_connect Debug]Process com.bn.xwglxt :31418 
04-17 20:41:19.678: E/NetworkUtilities(24948): [MTK_net]ss.ss_family:2
04-17 20:41:19.679: E/NetworkUtilities(24948): [MTK_net]ss.ss_family:2
04-17 20:41:19.680: I/System.out(24948): java.net.ConnectException: failed to connect to /10.16.189.95 (port 31418): connect failed: ENETUNREACH (Network is unreachable)
04-17 20:41:19.680: W/System.err(24948): java.net.ConnectException: failed to connect to /10.16.189.95 (port 31418): connect failed: ENETUNREACH (Network is unreachable)
04-17 20:41:19.680: W/System.err(24948):  at libcore.io.IoBridge.connect(IoBridge.java:129)
04-17 20:41:19.680: W/System.err(24948):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:188)
04-17 20:41:19.680: W/System.err(24948):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:168)
04-17 20:41:19.680: W/System.err(24948):  at java.net.Socket.startupSocket(Socket.java:618)
04-17 20:41:19.680: W/System.err(24948):  at java.net.Socket.tryAllAddresses(Socket.java:136)
04-17 20:41:19.680: W/System.err(24948):  at java.net.Socket.<init>(Socket.java:186)
04-17 20:41:19.680: W/System.err(24948):  at java.net.Socket.<init>(Socket.java:158)
04-17 20:41:19.680: W/System.err(24948):  at com.bn.util.SocketUtil.getDataConnection(SocketUtil.java:24)
04-17 20:41:19.680: W/System.err(24948):  at com.bn.util.SocketUtil.sendAndGetMsg(SocketUtil.java:43)
04-17 20:41:19.680: W/System.err(24948):  at com.bn.xwglxt.MainActivity.getLmByNet(MainActivity.java:339)
04-17 20:41:19.680: W/System.err(24948):  at com.bn.xwglxt.MainActivity.access$7(MainActivity.java:336)
04-17 20:41:19.680: W/System.err(24948):  at com.bn.xwglxt.MainActivity$2.run(MainActivity.java:270)
04-17 20:41:19.680: W/System.err(24948): Caused by: android.system.ErrnoException: connect failed: ENETUNREACH (Network is unreachable)
04-17 20:41:19.680: W/System.err(24948):  at libcore.io.Posix.connect(Native Method)
04-17 20:41:19.680: W/System.err(24948):  at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
04-17 20:41:19.680: W/System.err(24948):  at libcore.io.IoBridge.connectErrno(IoBridge.java:144)
04-17 20:41:19.680: W/System.err(24948):  at libcore.io.IoBridge.connect(IoBridge.java:127)
04-17 20:41:19.680: W/System.err(24948):  ... 11 more
04-17 20:41:19.680: W/System.err(24948): java.lang.NullPointerException: Attempt to read from field 'java.io.DataOutputStream com.bn.util.SocketIOData.dout' on a null object reference
04-17 20:41:19.680: W/System.err(24948):  at com.bn.util.SocketUtil.sendAndGetMsg(SocketUtil.java:45)
04-17 20:41:19.680: W/System.err(24948):  at com.bn.xwglxt.MainActivity.getLmByNet(MainActivity.java:339)
04-17 20:41:19.681: W/System.err(24948):  at com.bn.xwglxt.MainActivity.access$7(MainActivity.java:336)
04-17 20:41:19.681: W/System.err(24948):  at com.bn.xwglxt.MainActivity$2.run(MainActivity.java:270)
04-17 20:41:19.681: W/System.err(24948): java.lang.NullPointerException: Attempt to invoke virtual method 'void com.bn.util.SocketIOData.close()' on a null object reference
04-17 20:41:19.681: W/System.err(24948):  at com.bn.util.SocketUtil.sendAndGetMsg(SocketUtil.java:55)
04-17 20:41:19.681: W/System.err(24948):  at com.bn.xwglxt.MainActivity.getLmByNet(MainActivity.java:339)
04-17 20:41:19.681: W/System.err(24948):  at com.bn.xwglxt.MainActivity.access$7(MainActivity.java:336)
04-17 20:41:19.681: W/System.err(24948):  at com.bn.xwglxt.MainActivity$2.run(MainActivity.java:270)
04-17 20:41:19.682: D/WindowClient(24948): Add to mViews: com.android.internal.policy.PhoneWindow$DecorView{ecd40d8 I.E...... R.....ID 0,0-0,0}, this = android.view.WindowManagerGlobal@8019695
04-17 20:41:19.682: D/OpenGLRenderer(24948): Dumper init 5 threads <0x7f75153400>
04-17 20:41:19.682: D/OpenGLRenderer(24948): <com.bn.xwglxt> is running.
04-17 20:41:19.684: D/OpenGLRenderer(24948): Use EGL_SWAP_BEHAVIOR_PRESERVED: true
04-17 20:41:19.685: D/OpenGLRenderer(24948): CanvasContext() 0x7f705eb000
04-17 20:41:19.690: I/[MALI][Gralloc](24948): [+]r_hnd(0x7f75459400), client(41), share_fd(39)
04-17 20:41:19.690: D/GraphicBuffer(24948): register, handle(0x7f75459400) (w:1856 h:2048 s:1856 f:0x1 u:0x000100)
04-17 20:41:19.691: D/ViewRootImpl(24948): hardware acceleration is enabled, this = ViewRoot{ccb3aa com.bn.xwglxt/com.bn.xwglxt.MainActivity,ident = 0}
根据错误提示,我推测错误可能出现在我的MainActivity.java 中,但找不出解决方法。部代码如下:
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == -1)// -1代表网络不通
{
Toast.makeText(MainActivity.this, "网络不通,请稍候再试",
Toast.LENGTH_SHORT).show();
//不能联网直从本地获得数据
                                //下面这行有类型转换不安全的警告
String lmid_first = ((Map<String, String>) gridview_adpter.getItem(0)).get("lmid");
getNewsByDataBase(0, lmid_first,0,lineSize);
} else if (msg.what == -2)// -2代表从网络获得栏目数据成功
{
// 从数据库访问后更新显示
getLmByDataBase();
} else if (msg.what > 0) {
int lmid = msg.what;
int index = msg.arg1;
int startId=msg.arg2;
// 从数据库访问后更新显示
getNewsByDataBase(index, String.valueOf(lmid),startId,lineSize);
}请各位帮忙分析下~~