kramann.info
© Guido Kramann

Login: Passwort:










9.2 Schreiben einer Library zur automatisch richtigen Initialisierung bei verschiedenen Betriebssystemen

9.2 Write a library for automatically correct initialization on different operating systems (EN google-translate)

9.2 Napisz bibliotekę do automatycznego poprawnego inicjowania w różnych systemach operacyjnych (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.

Since there is no possibility in the processing ide itself, classes other than to write as inner classes of the Sketch class and integrates with either Android OR Android VR or PC Java libraries, You can do an automatic initialization just by developing a realize your own library. This happens here with Blue

Ponieważ nie ma możliwości w samym przetwarzaniu ide, klasy poza pisaniem jako klasy wewnętrzne klasy Sketch i integruje się z bibliotekami Java Android lub Android VR lub PC Java, Możesz przeprowadzić automatyczną inicjalizację tylko przez rozwinięcie uświadom sobie własną bibliotekę. Tak dzieje się tutaj z Blue

Hinweise:
Hints:
Uwagi:
  • Alle .jar-Files, die zusätzlich benötigt werden, müssen bei BlueJ nach /usr/share/bluej/userlib/ gelegt werden.
  • Erfahrungswert: BlueJ 4 funktioniert, wenn Oracle JDK 8 installiert wird, siehe Anleitung auf bluej.org, 3er-Versionen gehen auch mit der Open JDK-Installation.
  • Das Kompilieren und die Bildung des jar-Files erfolgen am besten über Konsolenbefehle.
userlib.zip - Beispiel
thbvr2.zip - Processing-Library in ~/sketchbook/libraries entpacken. Danach Beispiel dieser Library testen.

Schritt 1: Betriebssystem und Android-Version feststellen können

Step 1: Detect operating system and Android version

Krok 1: Wykryj system operacyjny i wersję Androida

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.

System Analysis.isAndroid () returns 0 for Linux PC / Windows / MAC and it returns the Android version as simple number 1,2,3, ... for Android devices.

System Analysis.isAndroid () zwraca 0 dla Linux PC / Windows / MAC i zwraca wartość Wersja Androida jako prosta numer 1,2,3, ... na urządzenia z systemem Android.

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 9.2-1: Quelltext der Klasse Systemanalyse im Projekt thbvr2.zip