Skip to content

Instantly share code, notes, and snippets.

@YuuichiAkagawa
Created February 16, 2014 15:04
Show Gist options
  • Save YuuichiAkagawa/9035717 to your computer and use it in GitHub Desktop.
Save YuuichiAkagawa/9035717 to your computer and use it in GitHub Desktop.
konashi-android-sdkでSBBLEのLチカサンプル
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