如题  从朋友那儿拿来的工程文件  运行时Console里面显示正常  但模拟器里边说程序意外停止,请重试LogCat里边报错为:
java.lang.NullPointerException
  at com.network.ui.MobileActivity.updateItems(MobileActivity.java:141)
  at com.network.ui.MobileActivity.access$0(MobileActivity.java:133)
  ...后面省略在朋友那儿能正常运行  但在我这儿就罢工了  这问题怎么解决啊  求高人解答

解决方案 »

  1.   

    空指针错误吧~需要看到MobileActivity.java 的141行的地方
      

  2.   


    private void updateItems() {
    // 更新本日流量信息
    items[5] = myFormat.format(receiver.getGprsRx_KbValue()) + "Kb";// 上行wifi流量
    items[6] = myFormat.format(receiver.getGprsTx_KbValue()) + "Kb";// 下行wifi流量
    items[7] = myFormat.format(receiver.getGprsRx_KbValue()
    + receiver.getGprsTx_KbValue())+ "Kb";//总的wifi流量
    // Test
    // 更新本周流量信息
    items[9] = myFormat.format(receiver.getNetInfo().getWeekGprs()[0]/1024f) + "Kb";// 上行wifi流量
    items[10] = myFormat.format(receiver.getNetInfo().getWeekGprs()[1]/1024f) + "Kb";// 下行wifi流量
    items[11] = myFormat.format(receiver.getNetInfo().getWeekGprs()[0]/1024f
    + receiver.getNetInfo().getWeekGprs()[1]/1024f)+ "Kb";//总的wifi流量
    // 更新本月流量信息
    items[13] = myFormat.format(receiver.getNetInfo().getMonthGprs()[0]/1024f/1024) + "Mb";// 上行wifi流量
    items[14] = myFormat.format(receiver.getNetInfo().getMonthGprs()[1]/1024f/1024) + "Mb";// 下行wifi流量
    items[15] = myFormat.format(receiver.getNetInfo().getMonthGprs()[0]/1024f/1024
                 + receiver.getNetInfo().getMonthGprs()[1]/1024f/1024)+"Mb";
    // 更新总流量信息
    items[17] = myFormat.format(receiver.getNetInfo().getTotalGprs()[0]/1024f/1024) + "Mb";// 上行wifi流量
    items[18] = myFormat.format(receiver.getNetInfo().getTotalGprs()[1]/1024f/1024) + "Mb";// 下行wifi流量
    items[19] = myFormat.format(receiver.getNetInfo().getTotalGprs()[0]/1024f/1024
           +receiver.getNetInfo().getTotalGprs()[1]/1024f/1024)+ "Mb";
    }items[9] = myFormat.format(receiver.getNetInfo().getWeekGprs()[0]/1024f) + "Kb";// 上行wifi流量   这是第141行
      

  3.   

    怀疑是 receiver.getNetInfo().getWeekGprs() 为 null 
      

  4.   

    用debug设断点嘛。到那一行的时候,用watch看一下各个参数的值。
      

  5.   

    我设置断点看了下 watch不会用。。   看了下debug里面的variables  不过没看明白 新手刚学  代码是找朋友要的  毕业设计用  
      

  6.   


    在断点工作时,选中你想看的变量、函数等 点鼠标右键 有一个watch选项 可以看到详细的内容。直接把光标放在相关的变量上 也有会提示的。
      

  7.   


    显示的是NULL  那就奇怪了 为什么我这儿运行就要出错
      

  8.   


    public class MainActivity extends TabActivity {
    private TabHost tabHost;// 标签管理
    private Context context; @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    context = this;
    tabHost = getTabHost(); Intent intent = new Intent(context, NetMonitorService.class);
    startService(intent);// 启动服务
    Log.i("net", "Main to startService"); tabHost.addTab(tabHost
    .newTabSpec("tab_1")
    .setIndicator("2G/3G",
    getResources().getDrawable(R.drawable.mobile))
    .setContent(new Intent(context, MobileActivity.class))); tabHost.addTab(tabHost
    .newTabSpec("tab_2")
    .setIndicator("WiFi",
    getResources().getDrawable(R.drawable.wifi))
    .setContent(new Intent(context, WiFiActivity.class)));
    }}
    我将其中的tab_1也就是监控2G/3G流量的标签注释掉  再运行程序时就成功了 只是仅仅只能统计WiFi的流量  我想问  是不是在模拟器上不能监控2G/3G的流量 而导致我运行程序时会报NULL错误 应为根本就没有数据?