友善之臂Mini6410之Android开发学习笔记源码同步更新,请使用git工具进行同步。关于Git工具更多信息,请参考:http://progit.org/book/zh/
git clone https://code.google.com/p/androiddemoformini6410/
LEDActivity.java
package com.mini6410.LED; import com.friendlyarm.AndroidSDK.HardwareControler; import com.mini6410.R; import android.app.Activity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.ToggleButton; /** * * ClassName:LEDActivity * Reason: LED Demo * * @author snowdream * @version * @since Ver 1.1 * @Date 2011 2012-03-11 16:07 * * @see */ public class LEDActivity extends Activity implements ToggleButton.OnCheckedChangeListener { /*四个LED灯,编号ID依次为:LED 0,LED_1,LED_2,LED_3*/ public static final int LED_0 = 0; public static final int LED_1 = 1; public static final int LED_2 = 2; public static final int LED_3 = 3; /*LED灯的状态: ON 表示点亮, OFF表示熄灭*/ public static final int OFF = 0; public static final int ON = 1; private int mledID = LED_0; private int mledState = OFF; private boolean mStop = false; /*LED编号数组*/ private int[] mleds = new int[]{LED_0,LED_1,LED_2,LED_3}; /*5个开关按钮*/ private ToggleButton mToggleButton_led0 = null; private ToggleButton mToggleButton_led1 = null; private ToggleButton mToggleButton_led2 = null; private ToggleButton mToggleButton_led3 = null; private ToggleButton mToggleButton_ledrandom = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.leddemo); initUI(); } /** * * initUI: 初始化UI * * @param * @return * @throws */ public void initUI(){ mToggleButton_led0 = (ToggleButton)findViewById(R.id.button_led0); mToggleButton_led1 = (ToggleButton)findViewById(R.id.button_led1); mToggleButton_led2 = (ToggleButton)findViewById(R.id.button_led2); mToggleButton_led3 = (ToggleButton)findViewById(R.id.button_led3); mToggleButton_ledrandom = (ToggleButton)findViewById(R.id.button_ledrandom); mToggleButton_led0.setOnCheckedChangeListener(this); mToggleButton_led1.setOnCheckedChangeListener(this); mToggleButton_led2.setOnCheckedChangeListener(this); mToggleButton_led3.setOnCheckedChangeListener(this); mToggleButton_ledrandom.setOnCheckedChangeListener(this); } /** * * onCheckedChanged: 开关按钮监听器 * * @param buttonView 当前被按下的按钮对象;isChecked表示该按钮的开关状态 * @return * @throws */ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { ToggleButton mToggleButton = (ToggleButton)buttonView; if(isChecked) mledState = ON; else mledState = OFF; switch (mToggleButton.getId()) { case R.id.button_led0: mledID = LED_0; setLedState(mledID, mledState); break; case R.id.button_led1: mledID = LED_1; setLedState(mledID, mledState); break; case R.id.button_led2: mledID = LED_2; setLedState(mledID, mledState); break; case R.id.button_led3: mledID = LED_3; setLedState(mledID, mledState); break; case R.id.button_ledrandom: if(isChecked){ mStop = false; RandomLight(); }else{ mStop = true; setALlLightsOff(); } break; default: break; } } /** * * setLedState: 设置LED灯的开关 * * @param ledID LED灯编号;ledState LED灯的开关状态 * @return true,表示操作成功;否则返回 false。 * @throws */ public boolean setLedState(int ledID, int ledState){ boolean ret = false; int result = -1; result = HardwareControler.setLedState(ledID, ledState); if(result == 0) ret = true; else ret = false; return ret; } /** * * RandomLight: 随机点亮LED灯 * * @param * @return * @throws */ public void RandomLight(){ new Thread(){ int mledNum = mleds.length; int mrandom = 0; @Override public void run() { while(!mStop){ /*从0 1 2 3范围内产生一个整数随机数*/ mrandom = (int)(Math.random()*(mledNum)); /*随机点亮一盏LED灯,然后关闭其他的LED灯*/ for(int i = 0; i <mleds.length; i++){ if(i == mrandom){ setLedState(mleds[i], ON); }else{ setLedState(mleds[i], OFF); } } try { sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } }}.start(); } /** * * setALlLightsOff: 熄灭全部的LED灯 * * @param * @return * @throws */ public void setALlLightsOff(){ for(int i = 0; i <mleds.length; i++){ setLedState(mleds[i], OFF); } } /** * * setALlLightsOn: 点亮全部的LED灯 * * @param * @return * @throws */ public void setALlLightsOn(){ for(int i = 0; i <mleds.length; i++){ setLedState(mleds[i], ON); } } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <LinearLayout android:id="@+id/linear_led0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dip" android:orientation="vertical" > <TextView android:id="@+id/textview_led0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/led0" > </TextView> <ToggleButton android:id="@+id/button_led0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="@string/textoff" android:textOn="@string/texton" > </ToggleButton> </LinearLayout> <LinearLayout android:id="@+id/linear_led1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dip" android:orientation="vertical" > <TextView android:id="@+id/textview_led1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/led1" > </TextView> <ToggleButton android:id="@+id/button_led1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="@string/textoff" android:textOn="@string/texton" > </ToggleButton> </LinearLayout> <LinearLayout android:id="@+id/linear_led2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dip" android:orientation="vertical" > <TextView android:id="@+id/textview_led2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/led2" > </TextView> <ToggleButton android:id="@+id/button_led2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="@string/textoff" android:textOn="@string/texton" > </ToggleButton> </LinearLayout> <LinearLayout android:id="@+id/linear_led3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dip" android:orientation="vertical" > <TextView android:id="@+id/textview_led3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/led3" > </TextView> <ToggleButton android:id="@+id/button_led3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="@string/textoff" android:textOn="@string/texton" > </ToggleButton> </LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/linear_ledrandom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dip" android:orientation="vertical" > <TextView android:id="@+id/textview_ledrandom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/ledrandom" > </TextView> <ToggleButton android:id="@+id/button_ledrandom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textOff="@string/textoff" android:textOn="@string/texton" > </ToggleButton> </LinearLayout> </LinearLayout>