Created
February 16, 2014 15:04
-
-
Save YuuichiAkagawa/9035717 to your computer and use it in GitHub Desktop.
konashi-android-sdkでSBBLEのLチカサンプル
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.ammlab.android.konashitest; | |
import android.os.Bundle; | |
import android.util.Log; | |
import android.view.View; | |
import android.widget.Button; | |
import android.widget.CompoundButton; | |
import android.widget.RelativeLayout; | |
import android.widget.ToggleButton; | |
import android.widget.CompoundButton.OnCheckedChangeListener; | |
import com.uxxu.konashi.lib.*; | |
public class MainActivity extends KonashiActivity { | |
private static final String TAG = "KonashiSample"; | |
private RelativeLayout mContainer; | |
private Button mFindButton; | |
private ToggleButton mToggleButton; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
// ボタン全体のコンテナ | |
mContainer = (RelativeLayout)findViewById(R.id.container); | |
mContainer.setVisibility(View.GONE); | |
//LED用トグルボタン | |
mToggleButton = (ToggleButton) findViewById(R.id.toggleButton1); | |
// 一番上に表示されるボタン。konashiにつないだり、切断したり | |
mFindButton = (Button)findViewById(R.id.find_button); | |
mFindButton.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if(!getKonashiManager().isReady()){ | |
// konashiを探して接続。konashi選択ダイアログがでます | |
getKonashiManager().find(MainActivity.this, false); | |
// SBBLEを明示的に指定して、選択ダイアログを出さない | |
//getKonashiManager().findWithName(MainActivity.this, "SBBLE"); | |
} else { | |
// konashiバイバイ | |
getKonashiManager().disconnect(); | |
mFindButton.setText(getText(R.string.find_button)); | |
mContainer.setVisibility(View.GONE); | |
} | |
} | |
}); | |
mToggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { | |
@Override | |
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { | |
if(isChecked){ | |
getKonashiManager().digitalWrite(Konashi.PIO0, Konashi.LOW); // LOWでLEDが消灯 | |
}else{ | |
getKonashiManager().digitalWrite(Konashi.PIO0, Konashi.HIGH); // HIGHでLEDが点灯 | |
} | |
} | |
}); | |
// konashiのイベントハンドラを設定。定義は下の方にあります | |
getKonashiManager().addObserver(mKonashiObserver); | |
} | |
/** | |
* konashiのイベントハンドラ | |
*/ | |
private final KonashiObserver mKonashiObserver = new KonashiObserver(MainActivity.this) { | |
@Override | |
public void onReady(){ | |
Log.d(TAG, "onKonashiReady"); | |
// findボタンのテキストをdisconnectに | |
mFindButton.setText(getText(R.string.disconnect_button)); | |
// ボタンを表示する | |
mContainer.setVisibility(View.VISIBLE); | |
// konashiのポートの定義。LED2〜5を出力に設定。 | |
getKonashiManager().pinMode(Konashi.PIO0, Konashi.OUTPUT); | |
} | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment