A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

做个记号,下次好找!
回复 使用道具 举报
喜闻乐见!!
回复 使用道具 举报
阳哥威武, 笔记很详细,学习之
回复 使用道具 举报
感谢杨哥分享
回复 使用道具 举报
android 代码怎么看它的执行顺序
回复 使用道具 举报
下面的这段代码的执行顺序是什么?求指教。。。。。
  1. package com.cbt.SHDemo;

  2. import com.cbtService.AndroidSDK.HardwareControler;

  3. import android.annotation.SuppressLint;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.os.Handler;
  7. import android.os.Looper;
  8. import android.os.Message;
  9. import android.util.Log;
  10. import android.view.View;
  11. import android.view.View.OnClickListener;
  12. import android.widget.Button;
  13. import android.widget.ImageView;
  14. import android.widget.ProgressBar;
  15. import android.widget.TextView;

  16. public class EnvActivity extends Activity {
  17.         public static final String TAG = "EnvActivity";
  18.         ImageView gas, body;
  19.         Button exit;
  20.         TextView temp_tv, hum_tv, body_tv, gas_tv;
  21.         ProgressBar temp, hum;
  22.         public static int hum_state;
  23.         public static int temp_state;
  24.         int ret, serial_fd = 0;
  25.         private Thread mRecvThread;
  26.         public static byte[] buf = new byte[46];
  27.         public static byte[] buf1 = new byte[43];
  28.         public static byte[] buf_th = new byte[43];
  29.         public static byte[] buf_body = new byte[43];
  30.         public static byte[] buf_gas = null;
  31.         private final static int MSG_REFRESH = 1;
  32.        
  33.         @SuppressLint("HandlerLeak")
  34.         private Handler mHandler = new Handler() {
  35.                 public void handleMessage(Message msg) {
  36.                         switch (msg.what) {
  37.                         case MSG_REFRESH:
  38.                                 refreshUI();
  39.                         default:
  40.                                 break;
  41.                         }
  42.                 }
  43.         };

  44.         @Override
  45.         protected void onCreate(Bundle savedInstanceState) {
  46.                 super.onCreate(savedInstanceState);
  47.                 setContentView(R.layout.activity_env);
  48.                 HardwareControler._init();
  49.                 serial_fd = HardwareControler.openSerialPort("/dev/s3c2410_serial2",
  50.                                 115200, 8, 1);
  51.                 init();
  52.         }
  53.      //init方法在onCreate中被调用
  54.         private void init() {
  55.                 // 初始化温湿度显示组件;
  56.                 temp_tv = (TextView) findViewById(R.id.temp_tv);
  57.                 hum_tv = (TextView) findViewById(R.id.hum_tv);
  58.                 hum = (ProgressBar) findViewById(R.id.pBar_hum);
  59.                 temp = (ProgressBar) findViewById(R.id.pBar_temp);
  60.                 temp.setProgress(28);
  61.                 temp.setMax(35);
  62.                 hum.setProgress(16);
  63.                 hum.setMax(80);

  64.                 gas = (ImageView) findViewById(R.id.gas_iv);
  65.                 body = (ImageView) findViewById(R.id.body_iv);
  66.                 body_tv = (TextView) findViewById(R.id.tv_body);
  67.                 gas_tv = (TextView) findViewById(R.id.tv_gas);
  68.                 exit = (Button) findViewById(R.id.button1);
  69.                 exit.setOnClickListener(mClick);
  70.         }
  71.    //退出的监听mClick在init()中被调用
  72.         private OnClickListener mClick = new OnClickListener() {
  73.                 @Override
  74.                 public void onClick(View v) {
  75.                         EnvActivity.this.finish();
  76.                 }
  77.         };
  78. //getData()方法在onResume()中被调用
  79.         public void getData() {
  80.                 mRecvThread = new Thread(new Runnable() {
  81.                         @Override
  82.                         public void run() {
  83.                                 Log.d(this.toString(), Thread.currentThread().getName()
  84.                                                 + "---->" + "-------------===获取节点信息");
  85.                                 Looper.prepare();
  86.                                 while (!Thread.interrupted()) {
  87.                                         ret = HardwareControler.select(serial_fd, 2, 5);
  88.                                         if (ret == 1) {
  89.                                                 HardwareControler.read(serial_fd, buf, 1);
  90.                                                 if ((buf[0] & 0xFF) == 0xEE) {
  91.                                                          HardwareControler.read(serial_fd, buf, 1);
  92.                                                         if ((buf[0] & 0xFF) == 0xCC) {
  93.                                                                 HardwareControler.read(serial_fd, buf, 1);
  94.                                                                 if ((buf[0] & 0xFF) == 0x01) {
  95.                                                                         HardwareControler.read(serial_fd, buf1, 43);
  96.                                                                         if ((buf1[42] & 0xFF) == 0xFF) {
  97.                                                                                 switch (buf1[31]) {
  98.                                                                                 case 0x0B:
  99.                                                                                         buf_gas = buf1;
  100.                                                                                         System.out.printf(
  101.                                                                                                         "buf_gas---------------->",
  102.                                                                                                         buf_gas[39] & 0xFF);
  103.                                                                                         break;
  104.                                                                                 case 0x0A:
  105.                                                                                         buf_th = buf1;
  106.                                                                                         hum_state = (int) (((buf_th[36] & 0xFF) << 8) | (buf_th[37] & 0xFF));
  107.                                                                                         temp_state = (int) (((buf_th[38] & 0xFF) << 8) | (buf_th[39] & 0xFF));
  108.                                                                                         break;
  109.                                                                                 case 0x07:
  110.                                                                                         buf_body = buf1;
  111.                                                                                         for (int i = 0; i < buf_body.length; i++) {
  112.                                                                                                 System.out
  113.                                                                                                                 .printf("buf_body[%d]---------------->%X\n",
  114.                                                                                                                                 i,
  115.                                                                                                                                 buf_body[i] & 0xFF);
  116.                                                                                         }
  117.                                                                                         break;

  118.                                                                                 }// eof-switch
  119.                                                                                 Message msg = Message.obtain();
  120.                                                                                 msg.what = MSG_REFRESH;
  121.                                                                                 mHandler.sendMessage(msg);
  122.                                                                         }
  123.                                                                 }// eof-buf[2]
  124.                                                         }// eof-buf[1]
  125.                                                 }// eof-buf[0]

  126.                                         } else if (ret == 0) {
  127.                                                 System.out.println("没有接收到串口数据");
  128.                                                 Log.i("Java Handler", "timeout");
  129.                                         } else {
  130.                                                 System.out.println("接收到串口数据出错");
  131.                                                 Log.i("Java Handler", "read error");
  132.                                         }
  133.                                 }// eof-while
  134.                                 try {
  135.                                         Thread.sleep(3000);
  136.                                 } catch (InterruptedException e) {
  137.                                         // TODO Auto-generated catch block
  138.                                         e.printStackTrace();
  139.                                 }
  140.                                 Looper.loop();
  141.                         }
  142.                 });
  143.                 mRecvThread.setDaemon(true);
  144.                 mRecvThread.start();
  145.         }// eof-getData
  146.    //refreshUI方法在mHandler对象中被调用
  147.         private void refreshUI() {
  148.                 if (buf_th != null && buf_th[31] == 0x0A) {
  149.                         temp_tv.setText(String.valueOf((temp_state / 10.0) + "℃"));
  150.                         hum_tv.setText(String.valueOf((hum_state / 10.0) + "%"));
  151.                         temp.setProgress((temp_state / 10) - 10);
  152.                         hum.setProgress((hum_state / 10) - 10);
  153.                 }
  154.                 if (buf_body != null && buf_body[31] == 0x09) {
  155.                         switch (buf_body[39]) {
  156.                         case (byte) 0x00:
  157.                                 body.setBackgroundResource(R.drawable.nousers);
  158.                                 body_tv.setText("无人");
  159.                                 break;
  160.                         case (byte) 0x01:
  161.                                 body.setBackgroundResource(R.drawable.haveuser);
  162.                                 body_tv.setText("有人");
  163.                                 break;
  164.                         }
  165.                 }
  166.                 if (buf_gas != null && buf_gas[31] == 0x07) {
  167.                         switch (buf_gas[39]) {
  168.                         case (byte) 0x00:
  169.                                 gas_tv.setText("正常");
  170.                                 gas.setBackgroundResource(R.drawable.burnoff);
  171.                                 break;
  172. //                        case (byte) 0x01:
  173. //                                gas_tv.setText("警报");
  174. //                                gas.setBackgroundResource(R.drawable.burn);
  175. //                                break;
  176.                         }
  177.                 }
  178.         }

  179.         @Override
  180.         protected void onDestroy() {
  181.                 Log.d(TAG, "onDestroy");
  182.                 EnvActivity.this.finish();
  183.                 super.onDestroy();
  184.         }

  185.         @Override
  186.         protected void onPause() {
  187.                 Log.d(TAG, "onPause");
  188.                 if (mRecvThread != null) {
  189.                         mRecvThread.interrupt();
  190.                 }
  191.                 super.onPause();
  192.         }

  193.         @Override
  194.         protected void onRestart() {
  195.                 Log.d(TAG, "onRestart");
  196.                 // TODO Auto-generated method stub
  197.                 super.onRestart();
  198.         }

  199.         @Override
  200.         protected void onResume() {
  201.                 Log.d(TAG, "onResume");
  202.                 getData();
  203.                 super.onResume();
  204.         }

  205.         @Override
  206.         protected void onStart() {
  207.                 Log.d(TAG, "onStart");
  208.                 // TODO Auto-generated method stub
  209.                 super.onStart();
  210.         }

  211.         @Override
  212.         protected void onStop() {
  213.                 Log.d(TAG, "onStop");
  214.                 // TODO Auto-generated method stub
  215.                 super.onStop();
  216.         }
  217. }
复制代码
回复 使用道具 举报
yanggev587
回复 使用道具 举报
很棒的资料!!!!!!!
回复 使用道具 举报
11了 下下下
回复 使用道具 举报
谢谢杨哥
回复 使用道具 举报
多谢分享
回复 使用道具 举报
先跟着阳哥学好Android基础,并做好一个APP作为铺垫,然后去黑马好好学习
回复 使用道具 举报
学习学习膜拜大神
回复 使用道具 举报
看完感觉差距还好大,我要好好学习!
回复 使用道具 举报
最后一个发表的全是我
回复 使用道具 举报
一页一页的下, 还有60秒回复限制....好:dizzy:呀
回复 使用道具 举报
不错,支持一下
回复 使用道具 举报
路过看看
回复 使用道具 举报
好厉害啊感觉诶,什么时候我技术也能这样子啊。
回复 使用道具 举报
正需要呢:victory:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马