[Android] Bildschirm aktiv lassen

Android Robot

Wer kennt es nicht? Man ist gerade dabei jemandem etwas auf dem Android Handy oder Tablet zu präsentieren, hat dieses dazu auf den Tisch gestellt und nach ein paar Sekunden oder Minuten geht einfach der Bildschirm aus.

Dabei ist es ganz einfach, eine Art “Präsentationsmodus” zu simulieren, sodass dieser an bleibt.

 

Dazu geht man in die Einstellungen unter “Display” und sucht dann die Option “Ruhezustand”, welche man dann auf “nie” stellen muss.

Und schon bleibt der Bildschirm an, bis man diese Option entweder wieder umstellt oder den Power Button wie gewohnt betätigt.

 

 

Continue reading

[OpenGL] Vertex Buffer Object & Vertex Array Object – Was ist das?

Was sind eig. OpenGL Vertex Buffer Objects & Vertex Array Objects – kurz: VBOs und VAOs?

Gerade absolute OpenGL Neulinge haben es recht schwer, sich in die Materie von OpenGL einzuarbeiten, da immer wieder neue Begriffe auftauchen, die Anfänger verwirren lässt. Aus diesem Grund habe ich heute einmal einen kleinen Artikel verfasst, wo diese beiden Begriffe kurz erklärt werden.

 

Vorerst ein paar kurze Informationen vorab:

Die Grafikkarte kennt nur 3D Objekte, welche dann für unseren Bildschirm in 2D umgerechnet werden. Außerdem kennt die Grafikkarte nur 3 Ecke & 4 Ecke – wenn ihr also einen Baum darstellen wollt, oder sogar eine Kugel, bestehen diese Objekte aus lauter kleinen Triangles (Dreiecken) & Quads (Vierecken).

 

Hier mal eine untexturierte Kugel (erstellt mit Blender):

3D Kugel

Continue reading

[Java] Neue 2D (RPG) Game Engine – Version 1.0.1 (Alpha) released!

Derzeit arbeite ich u.a. an einer neuen Java 2D Game Engine, da die alte Java Game Engine Slick2D leider schon lange nicht mehr weiterentwickelt wird.

Auf der Java Seite gibt es aktuell leider kaum wirkliche Alternativen im 2D Bereich (mir fallen spontan nur libGDX und jMonkeyEngine ein).

libGDX konnte mich dabei aktuell noch nicht wirklich überzeugen (vorallem was die Performance angeht – hier habe ich einige Blicke “unter die Haube”, also in den Code geworfen…) und sowohl libGDX als auch jMonkeyEngine 3D Game Engines sind, die zwar einen 2D Mode besitzen, aber eher für 3D und weniger für 2D ausgelegt und somit auch eher dafür optimiert wurden. Auf dem Markt habe ich daher schon lange nach einer guten und kostenlosen Java 2D Game Engine gesucht, aber bin bisher nicht fündig geworden.

Nun habe ich die Sache selbst in die Hand genommen und arbeite aktuell an einer neuen 2D Game Engine, in der Programmiersprache Java 8 geschrieben, die zwar vorrangig für 2D RPG Spiele ausgelegt sein soll, aber auch andere Spiele unterstützen wird. Diese soll quasi eine Alternative zu libGDX & jMonkeyEngine schaffen und für 2D & Computer Plattformen optimiert sein.

JuKuSoft Java 2D Game Engine

Continue reading

[Java] Shutdown Hook

Shutdown Button

Heute soll es einmal um Java Shutdown Hooks gehen, mit denen wir bestimmten Code beim Beenden der JVM ausführen können (z.B. Daten sichern usw.)

Der User kann eine Java Applikation auf mehrere Wege beenden oder abbrechen, z.B. auch über die Kommandozeile per STRG + C, was wir weder abfangen, noch beeinflussen können. Allerdings gibt es eine Möglichkeit, dass trotzdem ein bestimmter Code ausgeführt wird, wenn der User dies tut – die Shutdown Hooks.

Continue reading

[Tutorial Serie] LWJGL 3.1.0 & GLFW (mit OpenGL) – Teil 1

In dieser neuen Tutorial-Serie soll uns einmal um die Lightweight Java Game Library 3 (kurz: LWJGL 3) gehen, eine Library für Java um 3D und 2D Spiele entwickeln zu können. Dabei werden allerdings OpenGL oder Vulkan vorausgesetzt. LWJGL soll den Zugriff auf OpenGL, OpenAL und OpenCL, sowie seit neuestem auch auf Vulkan Funktionen erleichtern und euch eine Menge Arbeit abnehmen. In diesem Tutorial soll es uns aber nur um OpenGL gehen.

LWJGL Logo

Continue reading

[Android] CyanogenMod 14.1 (Nightly Build) erschienen

CyanogenMod Logo

CyanogenMod zählt zu den sog. “Custom ROMs” von Android, also angepasste Android Versionen, die von der Community bereitgestellt werden.

Quasi eine Firmware für euer Smartphone.

Am 08.11.2016 ist von CyanogenMod die erste 14.1 Nightly Build Version erschienen, die Android 7.1 entspricht. Diese soll – trotz Nightly Build – einigen Angaben nach schon recht stabil sein. Es wurden allerdings noch nicht alle Funktionen von Android 7.1 umgesetzt – die Community werkelt noch daran.

Continue reading

[Tutorial] Sessions mit Spring nutzen

Heute habe ich mich gefragt, wie man Sessions mit Spring in Java nutzen kann und mit etwas Recherche erfahren, dass es in Spring um einiges einfacher ist, als ich anfangs gedacht habe. Auf die Maven Konfiguration werde ich hier nicht genauer eingehen.

 

Was ist eine Session?

Session heißt übersetzt “Sitzung” und ist auch wortwörtlich eine. Jedem User wird dabei eine eindeutige ID zugeordnet und als Cookie gespeichert und der Server weiß somit, dass es sich beim nächsten Seitenaufruf immer noch um den selben User handelt. Was nach Tracking klingt ist fürs moderne Web unentbehrlich! Wenn der Server nicht wüsste, dass es sich um den selben User handelt, wüsste er auch nicht, ob der User eingeloggt ist oder wie sein Benutzername lautet, man müsste sich also ohne immer auf jeder Seite neu einloggen! Damit kommen wir auch gleich zum nächsten Punkt:
Während der Client nur die sessionID besitzt, kann man auf Serverseite Daten zu dem User (z.B. userID, Username, Flag ob er eingeloggt ist usw.) speichern, die der Client nicht manipulieren kann. Ein Hacker könnte höchstens versuchen, die sessionID per Cookie zu manipulieren und eine richtige sessionID herauszufinden (sog. Session Hijacking), allerdings ist dies nicht so einfach möglich, wie es sich anhört, da die ID keine Zahl, sondern meist ein Hash ist. Diese wird übrigens erstellt, sobald der User entweder die Seite zum ersten Mal aufruft oder die alte Session abgelaufen ist (z.B. kann eine Session nur 15 Minuten gültig sein, damit ein Benutzer automatisch ausgeloggt wird, sobald er 15 Minuten nicht aktiv ist).

Continue reading

[Android™] Apps aus Autostart entfernen

Android RobotIn diesem Artikel soll es darum gehen, wie ihr Android Apps wieder aus dem Autostart entfernt, um euer Handy zu beschleunigen.

Unter Android werden sehr viele Apps mit dem Start des Handys mit gestartet, was zu Lasten des Akkus und der Performance geht.

Damit das Android Handy wieder schneller startet und flüssiger läuft, sollte man einmal einen Blick darauf werfen, welche Apps denn alle beim Booten mit gestartet werden.

Am besten funktioniert dies, wenn das Handy gerootet ist, allerdings ist dies keine pflicht. Auch ohne Root Rechte kann man einige (aber nicht alle) Apps aus den Autostart entfernen.

Continue reading

[Android™ 5] Developer Options freischalten

Android Developer OptionsAndroid Developer Options

 

Heute hat sich mein Wiko Rainbow Jam mit Android 5.1 mal wieder aufgehangen, also habe ich die Developer Options gesucht, um genauere Informationen über die Apps & den Crash zu erhalten.

Leider habe ich dabei feststellen müssen, dass Google diese Entwickleroptionen mittlerweile (vermutlich seit Android 4.2) gut versteckt hält, sodass man diese sogar erst freischalten muss. Dazu geht man zuerst in seine Einstellungen und sucht das Menü “Über das Telefon” (meist ganz unten) und tippt darauf.

Continue reading