Zum Inhalt springen →

Kategorie: Allgemein

Flight rules for Git

Git ist ein leistungsfähiges Werkzeug zur verteilten Versionsverwaltung von Dateien. Es wird häufig (eigentlich immer) von Entwicklern und Programmierern auf der ganzen Welt verwendet und es ist von großem Vorteil, sich mit dieser Technologie vertraut zu machen. Das komplette Git Wissen kann im Buch „Pro Git“ unter https://git-scm.com/book/de/v2 nachgelesen werden. Der gesamte Inhalt ist unter der Creative Commons Attribution Non Commercial Share Alike 3.0 Lizenz lizenziert, kann aber auch als gedruckte Version des Buchs auf Amazon gekauft werden. Neben der deutschen Version ist das Pro Git Buch auch in diversen anderen Sprachen abrufbar (z.B. English, Deutsch, Español, Français, Nederlands, etc.). Ein großes Problem für Anfänger und Fortgeschrittene ist immer die korrekte Nutzung der verfügbaren Git Befehle. Man kann in dem…

Kommentare sind geschlossen.

So ändert man programmatisch das App-Icon und den Namen der Android-App

Bei einer Android wird das das Icon einer App normalerweise im AndroidManifest definiert und ändert sich bis zum nächsten Update der App nicht mehr. Es gibt aber Möglichkeiten, das App Icon und den App Namen zu ändern, ohne dass ein Update eingespielt werden muss. Grundlage In der Regel hat eine Android App immer eine Standard-Activity, die im Manifest wie folgt gekennzeichnet ist. Durch diese Angabe wird Android mitgeteilt, dass dies die Activity ist, die vom Launcher aufgerufen werden soll. Activity Alias im Android Manifest Beim Activity-Alias handelt es sich um einen Symlink zu einer Activity die dazu verwendet werden kann, einen Alias für eine Aktivität zu erzeugen, der eine Ziel-Activity verlinkt. Das Ziel muss sich in der gleichen Anwendung wie…

Kommentare sind geschlossen.

Android Product Flavors || Build-Varianten

Build-Varianten können in Android Studio erstellt werden, indem man in Gradle einen bestimmten Satz von Regeln verwendet, um Einstellungen, Code und Ressourcen zu kombinieren, die in den Build-Typen und den Product Flavors konfiguriert sind. Jede Build-Variante steht für eine andere Version der App. Man kann z. B. eine kostenlose Version einer App mit einer begrenzten Anzahl von Funktionen erstellen und eine kostenpflichtige Version, die einen größeren Funktionsumfang besitzt. Es ist auch möglich, verschiedene Versionen einer App zu erstellen, die z.B. für unterschiedliche Kunden erstellt wird. Das ist besonders bei White Label Apps sehr interessant.White-Label-Produkte sind Produkte eines Herstellers, die nicht unter dessen eigener Marke, sondern als (scheinbares) Produkt eines anderen Herstellers bzw. Händlers unter anderer Marke verkauft werden. Die offizielle Doku kann…

Kommentare sind geschlossen.

„Shit happens. Try again“ – Done

Letztes Jahr im September habe ich einen Blog Post unter https://www.jentsch.io/action-required-your-app-is-not-compliant-with-google-play-policies/ geschrieben, in dem ich darüber berichtet habe dass meine App Smart Squares von Google mit dem Hinweis „Action Required: Your app is not compliant with Google Play Policies“ aus dem Google Play Store entfernt wurde. Grund dafür war die Verwendung des Textes „Shit happens. Try again“ in der App. Laut der Mail von Google haben diese 4 Worte dazu geführt hat, dass die App mit der Begründung „App content: Adult and Sexually Suggestive Content“ aus dem Google Play Store entfernt wurde. Auf der einen Seite ist es natürlich sehr gut, dass Google hier eine so strenge Regulierung und akribische Überwachung des Google Play Stores durchführt. Schließlich haben heute ja…

Kommentare sind geschlossen.

Fahrradtour manuell planen

Für die Planung einer Fahrradtour gibt es schon endlos viele Webseiten, Apps und andere Projekte. Was mir hier noch fehlt ist ein Tool mit dem ich eine Route auf einer Karte zeichnen kann ohne dass ein Routenplanungsalgorithmus eingreift und mir vorgibt welchen Weg ich fahren soll. Also habe ich mich mal daran gemacht, ein Browser basiertes Tool zu erstellen, dass diese einfache Anforderung abdeckt. Folgende Funktionen waren mit dabei wichtig. Kartenmaterial mit Anzeige von Fahrradwegen Export und Import vom GPX Dateien Einfach zu benutzen Zoom Suche nach Adressen mit der Nominatim API Basierend auf OpenLayers habe ich also eine Webseite erstellt, auf der die OpenCycleMap von Thunderforest dargestellt wird. Für das Erstellen der Route habe ich ein JavaScript Programm erstellt,…

Kommentare sind geschlossen.

Android Kiosk Mode App – So geht’s

In diesem Blog-Post geht es darum, eine App zu realisieren, die im den sogenannten Android Kiosk Modus unterstützt. Dadurch können z.B. Schulen, Restaurants, Hotels, Messen, oder Museen mobile Geräte an die Besucher austeilen und sicher sein, dass die Benutzer oder Mitarbeiter ausschließlich auf diese Kiosk-App zugreifen können und nicht in der Lager sind die Geräteeinstellungen zu öffnen oder andere Apps zu starten. Die hier verwendete Architektur funktioniert stabil ab Android 7 und verfolgt einen völlig anderen Ansatz als mein ursprünglicher Ansatz, den ich mal für Android 4 entwickelt habe und der darauf aufgebaut hat, dass man einen ForegroundService mit einem FullScreen Fenster verwendet das einfach überall (Sogar auf dem Lock-Screen und über der Actionbar) angezeigt wird. Leider hat sich seit…

Kommentare sind geschlossen.

Geocodierung mit der Nominatim API

Nominatim ist ein Werkzeug, um OpenStreetMap-Daten nach Name und Adresse zu durchsuchen und Adressen oder bekannte Orte in OpenStreetMap-Koordinaten zu ermitteln oder ein Reverse-Geocodierung (Georeferenzierung) Reverse Geocoding ist der Prozess der Umwandlung eines Standorts, wie er durch geografische Koordinaten (Breitengrad, Längengrad) beschrieben wird, in eine für Menschen lesbare Adresse oder einen Ortsnamen. Es ist das Gegenteil von Vorwärts-Geokodierung (oft als Adress-Geokodierung oder einfach „Geokodierung“ bezeichnet), daher der Begriff umgekehrt. Die umgekehrte Geokodierung ermöglicht die Identifizierung von nahegelegenen Straßenadressen, Orten und/oder Gebietsunterteilungen wie Stadtteilen, Landkreisen, Bundesstaaten oder Ländern. https://en.wikipedia.org/wiki/Reverse_geocoding Die Geocodierungsdaten können über die Nominatim API kostenlos abgerufen und verwendet werden. Die API unterliegt keinerlei Limits und es ist auch kein API-Key oder eine OAuth Authentifizierung nötig. Die wichtigsten JSON Endpunkte der Nominatim API sind die folgenden: /search Suche…

Kommentare sind geschlossen.

Allocator (GPU_0_bfc) ran out of memory trying to allocate 17.49MiB with freed_by_count=0.

Schon mal gesehen? Wer den Jetson Nano 2GB besitzt und schon mal einige Experimente mit Tensorflow und so gemacht hat, der kennt die folgenden Log-Ausgaben betimmt. 2021-06-24 11:28:26.160087: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublas.so.10 2021-06-24 11:28:28.986454: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudnn.so.8 2021-06-24 11:28:44.183867: W tensorflow/core/common_runtime/bfc_allocator.cc:248] Allocator (GPU_0_bfc) ran out of memory trying to allocate 17.49MiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available. 2021-06-24 11:28:44.254723: W tensorflow/core/common_runtime/bfc_allocator.cc:248] Allocator (GPU_0_bfc) ran out of memory trying to allocate 33.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory…

Kommentare sind geschlossen.

Android 9 Wristwatch S999

Aus Interesse habe ich mir mal bei https://de.aliexpress.com/item/1005002327125356.html eine Smartwatch mit einem riesigen 2,88 Zoll Display bestellt und habe sie seit ein paar Tagen im Test. Die S999 4G Smartwatch verfügt über einen MTK6761 Quad Core Prozessor, 4GB RAM 64GB Flash Speicher, Pulsmesser, GPS, Wifi Bluetooth, 2 Kameras und noch einiges mehr. Der verbaute Mediatek MT6761 Prozessor verfügt über 4 ARM Cortex-A53 Kerne. Im AnTuTu v7 CPU Benchmark erreicht er ca. 29990 Punkte was etwa einem Qualcomm Snapdragon 429 entspricht. Weitere Benchmarks und andere Details zum Mediatek Helio A22 MT6761 kann man unter https://www.notebookcheck.com/Mediatek-Helio-A22-MT6761-SoC-Benchmarks-und-Specs.420305.0.html nachlesen. Installiert ist ein Android 9 incl. Google Play Store und den entsprechenden Google Play Diensten (z.B. der Google Assistent ). Auch ein paar Basis-Apps wie z.B.…

Kommentare sind geschlossen.

goods not fulfilling the conditions laid down in articles 28 and 29

Ich habe ja schon so einige Pakete aus China bekommen, aber so einen Aufkleber habe ich bisher noch nie gesehen. Üblich sind die grünen kleinen Aufkleber vom Zoll mit dem netten Hinweis:  „von zollamtlicher Behandlung befreit„. Der grüne Aufkleber mit dem Text „von zollamtlicher Behandlung befreit“ soll eigentlich nur eine Ifo darüber sein, dass der Zoll das Paket geprüft hat und festgestellt hat, dass keine Abgaben zu leisten sind. Aber was ist dieser neue Aufkleber mit dem Text „goods not fulfilling the conditions laid down in articles 28 and 29“? Nach ein wenig Recherche in den endlosen Weiten des WWW habe ich dann eine Antwort gefunden: Es handelt sich um eine Bescheinigung darüber, dass anfallende Import -Kosten im Ankunftsland innerhalb…

Kommentare sind geschlossen.