Skip to content

Repository files navigation

AstroClock – Android

Eine astronomisch korrekte 24-Stunden-Uhr als Android-App.

Die Sonne dient als Stundenzeiger, und der gesamte Sternenhimmel dreht sich über den Tag mit – genau so, wie er über dem eigenen Standort steht.

Dies ist die Android-Portierung. Die ursprüngliche Web-App (reines HTML/Canvas/Vanilla-JS) liegt im Repo AstroClock.

Funktionen

  • App – die Uhr im Vollbild (WebView, nutzt die vorhandene index.html). Zwei Kurz-Links unten links öffnen direkt die passenden System-Menüs, um die Uhr als Live-Hintergrund festzulegen bzw. das Widget aufs Homescreen zu legen.
  • Live-Wallpaper – die Uhr als lebendiger Startbildschirm-Hintergrund; läuft akkuschonend nur, solange sie sichtbar ist
  • Homescreen-Widget – die Uhr im Kompakt-Modus (größere Beschriftung, etwas kleinerer Himmel); aktualisiert minütlich, solange der Bildschirm an ist
  • App-Icon – ein rundes Abbild der Uhr

Technik

  • Sprache: Kotlin
  • Ansatz: Die bestehende Web-App wird in einem WebView dargestellt. Lokale Dateien (Sternenkatalog, Sternbilder) werden über WebViewAssetLoader unter https://appassets.androidplatform.net/assets/ ausgeliefert, damit fetch() ohne file://-Einschränkungen funktioniert.
  • Live-Wallpaper: Ein unsichtbarer WebView rendert die Uhr; einzelne Standbilder werden per canvas.toDataURL() geholt und auf den Hintergrund gemalt. Beim Ausblenden werden die JS-Timer angehalten → nahezu kein Akkuverbrauch.
  • Widget: Gleiche Offscreen-WebView-Technik – das Standbild wird als Bitmap in die RemoteViews geschoben. Der Minuten-Takt kommt von einem selbst neu geplanten AlarmManager-Alarm (nur bei eingeschaltetem Bildschirm).

Bauen & Installieren

JAVA_HOME=~/android-studio/jbr ANDROID_HOME=~/Android/Sdk ./gradlew installDebug

Voraussetzung: Android SDK (Pfad in local.properties, wird nicht eingecheckt).

Assets

Die Dateien unter app/src/main/assets/ (index.html, stars.6.json, constellations.lines.json, tz-lookup.js) stammen aus der Web-App und müssen bei Änderungen dort erneut kopiert werden.

Datenschutz

Die App ist bewusst datensparsam:

  • Keine Erfassung, keine Tracker, keine Werbung, keine Analyse-/Telemetrie- Dienste. Beim normalen Anzeigen der Uhr gibt es keinerlei Netzwerkverkehr.
  • Kein Standortzugriff (GPS): Die App fordert keine Standortberechtigung an. Der Ort wird ausschließlich manuell eingegeben.
  • Lokale Speicherung: Der gewählte Ort (Breite/Länge) liegt nur in den privaten App-Einstellungen auf dem Gerät und wird nicht in die Cloud gesichert.
  • Einzige externe Verbindung: Sucht man einen Ort per Namen, wird der Suchbegriff an den freien Geocoding-Dienst OpenStreetMap Nominatim gesendet, um ihn in Koordinaten umzuwandeln. Gibt man Koordinaten direkt ein, findet kein Netzwerkzugriff statt.

Berechtigungen: INTERNET (nur für die Ortssuche) und USE_EXACT_ALARM (minütlicher Widget-Takt).

Lizenz

AstroClock ist freie Software unter der GNU General Public License v3.0 (oder einer späteren Version).

Copyright (C) 2026 Holger Schoening

Das bedeutet: Du darfst die App nutzen, weitergeben und verändern – abgeleitete Werke müssen aber ebenfalls unter der GPLv3 quelloffen bleiben. Den vollständigen Lizenztext findest du in der Datei LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages