Androidアプリケーション層のLEDランプ作成
Androidアプリケーション層のLEDランプ作成
Java応用層でLEDランプの色を修正しました。これは半日かかりました。やっとこの機能を実現しました。
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。
Java応用層でLEDランプの色を修正しました。これは半日かかりました。やっとこの機能を実現しました。
public class LEDActivity extends Activity implements View.OnClickListener {
private static final String TAG = "LED";
Button mLedTest;
int mLedStatus = 0;
private final int mLedColorRed = 0xFFFF0000;
final byte[] LIGHT_ON = { '2', '5', '5' };
final byte[] LIGHT_OFF = { '0' };
private final int RED = 0;
private int color = RED;
String RED_LED_DEV = " /sys/class/leds/torch/brightness";
public void onCreate(Bundle paramBundle) {
super.onCreate(paramBundle);
setContentView(R.layout.led_test);
mLedTest = ((Button)findViewById(R.id.ledcolor));
mLedTest.setOnClickListener(this);
// setledlightcolor(color);
// mLedTest.setTextColor(mLedColorRed);
// mLedTest.setText("RED");
// mLedStatus = 1;
}
public void onClick(View v) {
Log.d("LEDActivity", "---onClick---mLedStatus=" + mLedStatus);
switch (v.getId()) {
case R.id.ledcolor:
if(mLedStatus == 0) {
mLedTest.setText(" ");
mLedStatus = 1
}else if(mLedStatus == 1) {
mLedTest.setText(" ");
mLedStatus = 0;
}
break;
}
}
@Override
public void finish() {
setledlightcolor(-1);
super.finish();
}
private void setledlightcolor(int color) {
logd("set:" + color);
boolean red = false;
switch (color) {
case RED:
red = true;
break;
default:
break;
}
try {
FileOutputStream foRed = new FileOutputStream(RED_LED_DEV);
Log.d(TAG, "foRed" + foRed);
fRed.write(red ? LIGHT_ON : LIGHT_OFF);
fRed.close();
} catch (Exception e) {
loge(e);
}
}
void logd(Object d) {
Log.d(TAG, "" + d);
}
void loge(Object e) {
Log.e(TAG, "" + e);
}
}
直接にxmlにButtonと書いて、ボタンをクリックすることを実現します。実は簡単です。ソースのledランプの経路を取り出して、出力フローを使って、Stringを変換して、ランプの状態を読み取ります。直接運行すれば、この機能を実現できます。読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。