Schreiben einer Library zur automatisch richtigen Initialisierung bei verschiedenen Betriebssystemen
(EN google-translate)
(PL google-translate)
Da in der Processing-ide selber es keine Möglichkeit gibt, Klassen anders als als innere Klassen der Sketch-Klasse zu schreiben und diese entweder Android ODER Android-VR ODER "PC-Java-Libraries" einbindet, kann man eine automatische Initialisierung nur durch Entwicklung einer eigenen Library realisieren. Dies geschieht hier mit BlueJ.
Hinweise:
|
thbvr2.zip - Processing-Library in ~/sketchbook/libraries entpacken. Danach Beispiel dieser Library testen.
Schritt 1: Betriebssystem und Android-Version feststellen können
initializer.zip - BlueJ-Projekt mit der Klasse Systemanalyse.Systemanalyse.isAndroid() liefert 0 bei Linux-PC/Windows/MAC und es liefert die Android-Version als einfache Zahl 1,2,3,... bei Android-Devices.
package info.kramann.vr; import java.util.Properties; import android.os.Build.VERSION; public class Systemanalyse { /** * 0==PC / Linux / Windows / MAC * 1..8 Android-Versionen */ public static int isAndroid() { Properties prop = System.getProperties(); String betriebssystem = prop.getProperty("os.name"); String javaversion = prop.getProperty("os.version"); String GENERIC = "generic"; if(!betriebssystem.equals("Linux")) return 0; else if(javaversion.length()>=GENERIC.length() && javaversion.substring(javaversion.length()-GENERIC.length(),javaversion.length()).equals(GENERIC) ) { return 0; //generic Linux } else { //wird nur aufgerufen, wenn es ein Android-System ist! String version = VERSION.RELEASE; String v = version.substring(0,1); return (int)Double.parseDouble(v); } } }
Code 0-1: Quelltext der Klasse Systemanalyse im Projekt thbvr2.zip