凉茶木木 凉茶木木
关注数: 83 粉丝数: 260 发帖数: 5,843 关注贴吧数: 47
求解线程问题,安卓开发,在线等,谢谢 package com.jeckstan.s01_07_wifioperation; import java.util.List; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.net.wifi.ScanResult; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class WifiActivity extends Activity { /** Called when the activity is first created. */ private TextView allNetWork; private Button scan; private Button start; private Button stop; private Button check; private WifiAdmin mWifiAdmin; // 扫描结果列表 private List<ScanResult> list; private ScanResult mScanResult; private StringBuffer sb=new StringBuffer(); Timer timer = new Timer(); Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: scan.performClick(); break; } super.handleMessage(msg); } }; TimerTask task = new TimerTask(){ public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; class ButtonListener implements OnClickListener{ @Override public void onClick(View arg0) { timer.schedule(task,0, 1*1000); getAllNetWorkList(); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); scan.performClick(); mWifiAdmin = new WifiAdmin(WifiActivity.this); init(); } public void init(){ allNetWork = (TextView) findViewById(R.id.allNetWork); scan = (Button) findViewById(R.id.scan); start = (Button) findViewById(R.id.start); stop = (Button) findViewById(R.id.stop); check = (Button) findViewById(R.id.check); scan.setOnClickListener(new ButtonListener()); start.setOnClickListener(new MyListener()); stop.setOnClickListener(new MyListener()); check.setOnClickListener(new MyListener()); } private class MyListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()){ // case R.id.scan://扫描网络 // getAllNetWorkList(); // break; case R.id.start://打开Wifi mWifiAdmin.openWifi(); Toast.makeText(WifiActivity.this, "当前wifi状态为:"+mWifiAdmin.checkState(), 1).show(); break; case R.id.stop://关闭Wifi mWifiAdmin.closeWifi(); Toast.makeText(WifiActivity.this, "当前wifi状态为:"+mWifiAdmin.checkState(), 1).show(); break; case R.id.check://Wifi状态 Toast.makeText(WifiActivity.this, "当前wifi状态为:"+mWifiAdmin.checkState(), 1).show(); break; default: break; } } } public void getAllNetWorkList(){ // 每次点击扫描之前清空上一次的扫描结果 if(sb!=null){ sb=new StringBuffer(); } //开始扫描网络 mWifiAdmin.startScan(); list=mWifiAdmin.getWifiList(); if(list!=null){ for(int i=0;i<list.size();i++){ //得到扫描结果 mScanResult=list.get(i); sb=sb.append(mScanResult.BSSID+" ").append(mScanResult.SSID+" ") .append(mScanResult.capabilities+" ").append(mScanResult.frequency+" ") .append(mScanResult.level+"\n\n"); } allNetWork.setText("扫描到的wifi网络:\n"+sb.toString()); } } } 报的错误, 04-17 15:56:50.561: E/PhonePolicy(17019): Could not preload class for phone policy: com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback 04-17 15:56:51.001: E/AndroidRuntime(17019): FATAL EXCEPTION: main 04-17 15:56:51.001: E/AndroidRuntime(17019): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jeckstan.s01_07_wifioperation/com.jeckstan.s01_07_wifioperation.WifiActivity}: java.lang.NullPointerException 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.ActivityThread.access$600(ActivityThread.java:128) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.os.Handler.dispatchMessage(Handler.java:99) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.os.Looper.loop(Looper.java:137) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.ActivityThread.main(ActivityThread.java:4517) 04-17 15:56:51.001: E/AndroidRuntime(17019): at java.lang.reflect.Method.invokeNative(Native Method) 04-17 15:56:51.001: E/AndroidRuntime(17019): at java.lang.reflect.Method.invoke(Method.java:511) 04-17 15:56:51.001: E/AndroidRuntime(17019): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 04-17 15:56:51.001: E/AndroidRuntime(17019): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760) 04-17 15:56:51.001: E/AndroidRuntime(17019): at dalvik.system.NativeStart.main(Native Method) 04-17 15:56:51.001: E/AndroidRuntime(17019): Caused by: java.lang.NullPointerException 04-17 15:56:51.001: E/AndroidRuntime(17019): at com.jeckstan.s01_07_wifioperation.WifiActivity.onCreate(WifiActivity.java:68) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.Activity.performCreate(Activity.java:4470) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 04-17 15:56:51.001: E/AndroidRuntime(17019): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 04-17 15:56:51.001: E/AndroidRuntime(17019): ... 11 more
1 下一页