Android kontrollerad LED Strip (IOIO drivs) (4 / 4 steg)
Steg 4: Den roliga delen
För folk som vet Arduino, kodning Android är lite svårare men inte så illa, du får kläm på det ganska snabbt. Här är den traditionella "hello world" ansökan om IOIO och Android. Läs igenom koden tillsammans med kommentarerna i Fet kursiv stil och du får kontentan.
paketet ioio.examples.hello;
Importera ioio.examples.hello.R;
Importera ioio.lib.api.DigitalOutput;
Importera ioio.lib.api.exception.ConnectionLostException;
Importera ioio.lib.util.AbstractIOIOActivity;
Importera android.os.Bundle;
Importera android.widget.ToggleButton;
/**
* Detta är den viktigaste verksamheten i programmet HelloIOIO exempel.
*
* En växlingsknapp visas på skärmen, som möjliggör kontroll av den
* ombord LED. Detta exempel visar en mycket enkel användning av IOIO, med hjälp av
* klassen {AbstractIOIOActivity}. En mer avancerad användningsfall, finns det
* HelloIOIOPower exempel.
*/
offentliga klass MainActivity sträcker sig AbstractIOIOActivity {
privat ToggleButton button_;
/**
* Kallas när aktiviteten skapas. Här vi normalt initiera
* våra GUI.
*/
offentliga void onCreate (bunt savedInstanceState) {
Super.onCreate(savedInstanceState); //all android app har denna linje, bara se till det finns det och oroa dig inte om det.
setContentView (R.layout. huvudsakliga); //in android, skärmlayout kommer från en XML-fil du närmare ange, main.xml här
button_ = (ToggleButton) findViewById (R.id. knappen);
}
/**
* Detta är den tråd på vilken alla IOIO verksamhet händer. Det kommer att köras
* varje gång programmet är återupptogs och avbröts när det är pausad. Den
* metoden setup() anropas direkt efter en anslutning med IOIO har
* varit etablerad (vilket kan hända flera gånger!). Då loop() kommer att
* anropas upprepade tills IOIO blir bortkopplad.
*/
klass IOIOThread sträcker sig AbstractIOIOActivity.IOIOThread {
/ ** Ombord LED. */
privat DigitalOutput led_;
/**
* Kallas varje gång en anslutning med IOIO har etablerats.
* Vanligtvis används för att öppna stift.
*
* ConnectionLostException
* När IOIO anslutningen förloras.
*
* ioio.lib.util.AbstractIOIOActivity.IOIOThread#setup()
*/
skyddade void setup() kastar ConnectionLostException {
led_ = ioio_.openDigitalOutput (0, true);
}
/**
* Ringde upprepade medan IOIO förbinds.
*
* ConnectionLostException
* När IOIO anslutningen förloras.
*
* ioio.lib.util.AbstractIOIOActivity.IOIOThread#loop()
*/
skyddade void loop() kastar ConnectionLostException {
led_.write(!button_.isChecked());
försök {
Sleep(100);
} { fånga (InterruptedException e)
}
}
}
/**
* En metod för att skapa våra IOIO tråd.
*
* ioio.lib.util.AbstractIOIOActivity#createIOIOThread()
*/
skyddade AbstractIOIOActivity.IOIOThread createIOIOThread() {
returnera new IOIOThread();
}
}