Workflow eines Amazon Alexa Skills


Im letzten Beitrag habe ich die Architektur eines Amazon Alexa Skills vorgestellt. Heute geht es um den Workflow eines Skills. Ausgangspunkt des Beitrags ist ein sehr einfaches Beispiel:

  • Wir haben einen Alexa-Skill der fertig konfiguriert und auf einem Amazon Echo getestet ist.
  • Die App heißt Fastfood und wird über das Aktivierungswort „Lieferdienst“ gestartet.

(mehr …)

Architektur eines Amazon Alexa Skills

Amazon EchoDu willst also eine App für deinen Amazon Echo programmieren – hast aber nach 3 Stunden noch nichts zu Stande gebracht? Da geht es dir genauso wie mir^^ Keine Ahnung was IT-Firmen wie IBM, Google, Apple oder eben Amazon geritten hat, aber ich habe noch kein Tutorial von denen gefunden, wo ich auf Anhieb gesagt hätte: „Jo, das ist es! Das ist geil:) Lass uns XY darauf programmieren.“
Nichts, Nada, Niente, Nothing – einfach nix und das ist traurig. Es reicht heutzutage einfach nicht mehr aus irgendwelche Code-Beispiele über den Zaun auf Github zu werfen und zu hoffen, dass es die Communtiy irgendwie richtet. Es gibt zwar verrückte Softwareentwickler, aber ohne Doku und nur mit Try&Error wird das eben nichts. Aber genug gejammert – hier kommt die Rettung:) In diesem Beitrag geht es um Amazon Alexa Skills und die grundlegende Architektur.
(mehr …)

einfach Programmieren lernen (LightBot)

Normalerweise schreibe ich immer Beiträge über High-Level Programmierprobleme, aber heute geht es um Anfänger. Richtige Anfänger, die gerne das Programmieren lernen wollen. Hierfür gibt es bereits viele verschiedene Programme und Methoden auf dem Markt. Eines davon ist das Browserspiel LightBot.

 

(mehr …)

Android: Standard-Textfarbe von Material Design / AppCompat ändern

material designDie Probleme mit Material Design respektive AppCompat nehmen kein Ende :‘-D …… :-/ ……
Aber was soll man machen, außer weiter kämpfen! Stein des Anstoßes war gestern die Standard-Textfarbe von Material Design / AppCompat. Diese ist seit Android 5.0 (Material Design) dunkelgrau und nicht mehr schwarz.
Kein Problem, wenn da nicht meine auf schwarzes Schriftbild abgestimmtes App-Design wäre. Setzt man, wie ich, diverse CardViews und andere Grautöne ein, sieht die App sehr schnell verwaschen und unklar aus. (Siehe Bild rechts)
Daher geht es in dem heutigen Blogbeitrag um die Änderung der Standard-Textfarbe.

 

(mehr …)

Android: AsyncTask parallel starten

Wer hat schon mal einen größeren Submit (z.b. in ein SVN oder git Repository) schrittweise revertet/zurückgenommen? Ich zum Beispiel, als ich gestern einen echt dummen Fehler gesucht habe. Mein Problem bestand darin, das ich nicht wusste, dass AsyncTask sequentiell und nicht parallel ausgeführt werden. In Android 2.x war das mal kurzzeitig so, aber ab Android 3.x (honeycomb) ist es standardmäßig sequentiell. Das führt natürlich zu dem Verhalten, dass sich AsyncTask gegenseitig blockieren oder erst gar nicht ausgeführt werden.

 

(mehr …)

Android: Entwicklung mit Eclipse und Material Design für Android 4.x / Android 2.x

Holla die Waldfee! Das war mal eine richtige Aufgabe. Ich habe geschlagene 2 Stunden (gefühlte 10 Stunden) damit verbracht, eine 0-8-15 App mit Material Design auf Android 4.0.3 zum Laufen zubringen. Aber ich habe es geschafft! Sie läuft und sieht gut aus:)
Um euch diesen Leidensweg zu ersparen, habe ich diesen Beitrag geschrieben.
(mehr …)

Flickr: RSS-Feed erstellen und Benutzer-ID/Flickr-ID herausfinden

 

Flickr ist ein großartiger Foto-Sharing-Dienst, der jedem Benutzer kostenlos 1TB Speicherplatz bietet. Auch die Apps und die API sind vorbildlich gestaltet! Jedoch ist die Dokumentation etwas lückenhaft und ich hatte Probleme einen RSS-Feed von meinem Account zu erstellen. Daher geht es in diesem Beitrag um die RSS-Feeds von Flickr und wie man die URL am besten zusammenbaut.
(mehr …)

Android: genaue layout_height einer Listview (genauso wie wrap_content)

Manchmal könnte ich ausrasten, wenn ich mit XML-Layouts von Android arbeite. Besonders bei trivialen Anforderungen, die einfach so funktionieren sollten. Heute hatte ich folgendes Problem:
Ich wollte 2 Listviews passgenau in einem Navigation-Drawer platzieren, jedoch wurde mir nur ein Eintrag jeder Liste angezeigt. (Siehe Abbildung rechts) Theoretisch hätte es mit den Attributen

            <ListView
            android:id="@+id/NavigationDrawer_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#cccc"
            android:choiceMode="singleChoice"
            android:divider="@android:color/white"
            android:dividerHeight="1dp" />

funktionieren sollen. Jedoch stellte sich heraus, dass eine Listview noch einmal in einer ScrollView eingepackt ist und das Attribut „android:layout_height“ mit dem Parameter wrap_content nicht funktioniert. Aus diesem Grund habe ich mir folgende Methode geschrieben.

 

(mehr …)

Android: Einfacher Datei-Download per HttpURLConnection

Meiner Meinung nach ist die UI das Wichtigste an einer Anwendung, aber auch die beste und schönste UI brauch irgendwann einmal Daten und diese kommen zu 90% aus dem Internet. Egal ob Twitter, Youtube oder irgendein RSS-Feed – die Datenstrukturen müssen heruntergeladen, geparst und weiterverarbeitet werden. Den ersten Schritt „Das Downloaden“ beschreibe ich in diesen Beitrag.

 

(mehr …)

Java: AES / RSA Keys lesen und schreiben (Datei)

Java VerschlüsselungGestern Vormittag hat Bastian, ein AxxG Blog Leser, einen sehr interessanten Kommentar unter meinen Beitrag „Java: Verschlüsselung mit Beispiel (Quickstart)“ hinterlassen. Darin fragt er, wie man einen Schlüssel einer AES- oder RSA-Verschlüsselung sichern bzw. für andere Systeme verwenden kann.
Da die Antwort sehr umfangreich wurde, habe ich mich kurzerhand dazu entschlossen einen Beitrag, zu diesem Thema, zu verfassen.
(mehr …)

« Ältere Einträge