Beiträge von Marco Feltmann

    Hiho an Dich. ;)


    Wenn ich Dein Anliegen richtig interpretiere, dann verfolgst Du den falschen Ansatz.
    Die Beziehungen werden immer erst dann nachgeladen, wenn Du auf die Relation zugreifst.


    Hast Du beispielsweise eine Tabelle 'Orders' mit einer Relation 'Customer', dann wird dir ein OrdersDao.loadAll(); nur sämtliche Orders zurückgeben und nicht einen einzigen Customer.
    (Was genau genommen auch korrekt ist: Du bekommst alle Elemente DIESER Tabelle [inklusive des Foreign-Key], doch kein Element ANDERER Tabellen.)


    Sobald Du aber explizit currentOrder.costumer() aufrufst, werden die Daten dynamisch nachgeladen und das Objekt erstellt.
    Eventuell hilft Dir für die normale Anzeige ja auch ein SimpleCursorAdapter, den Du entsprechend des Ergebnisses einer Raw Query konfigurieren kannst.


    Schau dazu doch mal in das Demo-Projekt NoteActivity.java.

    Hallo,
    ich habe hier ein kleines Problem (oder auch größer). Ich möchte gerne meine C++ Sourcecode in eine Android App verwenden.


    Ich habe für mich feststellen müssen, dass die Dokumentation bezüglich des NDK Recht hat: im Allgemeinen braucht man es nicht, im Allgemeinen ist es hinderlich, im Allgemeinen fährt man mit der API besser.


    Ich hoffe, in Deinem Fall ist der Aufwand mit dem NDK sinnvoll.
    (Nein, 'Ich habe wiederverwendbaren C++ Code!' ist auf Grund des Overheads der Javabridge keine sinnvolle Anwendung für das NDK)

    Moin,


    ich hab mal wieder eine Frage.
    In meiner App möchte ich ein akustisches Signal ausgeben. Ergo habe ich mir eine RingtonePreference eingebaut.
    Da kann ich auch schön auswählen und tun und lassen was ich will.


    Der Übersicht halber möchte ich in der Liste mit den Preferences auch den aktuellen Namen des gewählten Klingeltons anzeigen lassen.


    Nun, das klappt nicht.
    Mein Ansatz liefert mir immer den Dateinamen des Klingeltons zurück.

    Java
    Ringtone theTone = RingtoneManager.getRingtone(getActivity(), Uri.parse(stringFromSharedUserDefaults);
    String title = theTone.getTitle(getActivity());


    LogCat spuckt keinerlei Fehler aus, ich habe die "android.permission.READ_EXTERNAL_STORAGE" im Manifest gesetzt.
    Dennoch bekomme ich nur den Titel zurück. "ringtone" für den Defaultwert sowie Ziffern für die anderen Klingeltöne.
    Das sieht natürlich doof aus.


    Jetzt erzählt mir die Dokumentation noch Folgendes:

    Zitat

    Looks in media content provider. If not in either, uses the filename.


    Gut, fein, okay. Scheinbar ist die Datei nicht im Media Content Provider bekannt – aber warum zeigen dann die Settings, zeigt dann der RingtonePicker die korrekten Titel an?


    Was muss ich tun, damit ich den Titel des Klingeltons als String bekomme, um ihn anzeigen zu können?

    Vermutung:
    Du schreibst auf den externen Speicher via getExternalFilesDir().


    Das Nexus 4 hat keinen externen Speicher. Daher speichert es nicht und Du bekommst auch keine URI zurück.


    Eventuell solltest Du den Speicherort dynamisch vergeben.


    Quasi

    Java
    File dataRoot = getExternalFilesDir(DIRECTORY_MOVIES);
    if(dataRoot == null) {
      dataRoot = getFilesDir();
    }

    Moin Simon,


    das Projekt fand ich schon beim Release in Einem Anderen Forum™ sehr spannend.
    (Der Lukas wird wissen welchen ich meine.)


    Es freut mich zu sehen, dass die erlaufenen Spenden mehr und mehr werden. :)
    (Damals™ waren es noch ganze 0,76€)


    Leider bin ich zeitlich den Rest des Jahres absolut eingespannt, stünde für Notfälle jedoch gern mit Rat und Tat zur Seite, sofern Interesse besteht.


    Gruß Marco

    Es wäre für die zukünftige Kommunikation sehr hilfreich, wenn Du lernen könntest, nachvollziehbare und beantwortbare Fragen zu stellen.


    Zitat

    Und zwar, komme ich da nicht ganz klar beim Intent. (Wegen der onClick Methode)
    Ich habe verstanden, diese in die sendMessage() Methode einzufügen. Okay, aber wie denn das?


    Was wollen uns diese Zeilen sagen? Du hast eine onClick Methode. Diese heißt sendMessage(). Sie heißt so, weil sie im Layout so definiert wurde.
    Du musst also keine onClick Methode einfügen. Du musst auch keine onClick Methode in die sendMessage() einfügen. Deine sendMessage() ist deine onClick() Methode. Steht so im Layout.
    Oder meinst Du am Ende gar etwas ganz Anderes?


    Zitat

    Ich habe ja schon View view drin stehen. Soll ich dies dann ändern zu Intent intent.


    Wohl kaum, da die Parameter zur Methodensignatur gehören. Wenn also dein Button nach Drücken eine sendMessage(View) erwartet, Du aber nur eine sendMessage(Intent) bereit stellst, stürzt Dir das Programm bestenfalls ab.


    Zitat

    Mein Projekt zeigt ständig Fehler an und ich verzweifle langsam.


    Das ist meiner Meinung nach ein Kunststück, da die Tutorials schöne Schritt-für-Schritt Anleitungen sind.


    Zitat

    Gibt es ähnlich ausführliche Anleitungen auf Deutsch? Find das ja ne Frechheit nur auf Englisch, Spanisch, Japanisch und Chinesisch anzubieten.


    Alle großen Programmiersprachen sind an das Englische angelehnt. Englisch ist die flächenmäßig meistgesprochene Sprache der Welt. (112 Länder)
    Chinesisch, Englisch und Spanisch sind die Top 3 der meistgesprochenen Sprachen in Erstsprache. Und schlussendlich ist Englisch die am Häufigsten gesprochene Zweitsprache.
    Griechisch, Russisch und Serbo-Kroatisch fehlt völlig, obwohl die auch noch mit anderen Schriftzeichen zu kämpfen haben.
    Und hätten unsere Urväter sich nicht entschlossen, Gastgeber zweier Weltkriege zu sein, hätte die deutsche Sprache im Forschungs- und Wissenschaftssektor ihren unglaublich hohen Stellenwert von 1860-1940 behaupten können. Aber irgendwie haben Kaiser Wilhelm Der Zweite und Führer Adolf Der Erste die Kriegsspiele vorgezogen und wir dürfen es ausbaden.


    Du tätest also gut daran, die englische Sprache zu lernen, solltest Du ernsthaft die Programmierung in Erwägung ziehen.

    Hi,


    Dein Problem ist, dass Du die zweite Activity nie startest.
    Du tauscht einfach das Layout deiner ersten Activity aus – und zwar immer wieder, wenn Du auf den Button klickst.


    In diesem Tutorial sollte recht gut erklärt sein, wie Du Dein gewünschtes Ziel erreichst. :)

    Zeig mal die genauen Ausgaben des Log.
    Ich vermute, da ist irgendwas bei den Layouts kaputt.


    Ansonsten gilt, vor Allem für Wechsler von anderen Programmiersprachen: Du machst vermutlich etwas grundlegend falsch.


    Wenn Du die beiden Activities und die dazugehörigen Layouts posten könntest, könnten wir Dir sicherlich besser helfen.

    Prinzipiell klingt das Ganze machbar.


    Du müsstest nur einerseits quasi 'hands free' den Anruf entgegennehmen. Ob und wie Du das Ganze dann abgehört bekommst weiß ich jetzt so genau nicht.
    Ohne Zugriff auf den Lautsprecher des Gerätes wird das Abfangen des Sprachstreams schwierig.


    ob das aber wirklich jemand will bezweifle ich, denn der Anruf gilt ja als 'angenommen' und demnach muss der Anrufer auch dafür zahlen.


    Was Fertiges wird es dafür (eben wegen der Mobilbox) nicht geben.

    Fleißig, fleißig. :)
    Leider ist das Spielprinzip nichts für mich (bin ich wohl zu blöd zu).
    Immerhin sehen die UI Elemente wirklich schick aus.


    Hast Du das in OpenGL realisiert?

    Moin,


    ich suche nach einer Möglichkeit, ein Open Source Framework für Android zu portieren.
    Da ich allerdings keine Lust habe durch all den Kram durchzusteigen bin ich natürlich an einer simplen Lösung interessiert.
    (Oh, und iOS am Besten auch gleich noch...)


    Hat das schon mal jemand gemacht und Tipps, wie das ohne Schmerzen von Statten gehen kann?
    Es handelt sich um sofia-sip (http://sofia-sip.sourceforge.net) und das Netz ist bezüglich der Redseeligkeit nicht sehr hilfreich.
    Soll heißen: ich finde nur 'ich versuchs und schaffs nich' aber kein 'so musst Du das versuchen'.

    Hallo Mary,


    wenn das Steuern via Ethernet möglich ist, dann ist das schon mal die halbe Miete. :)
    Der Zwischenschritt mit der Hardware und der eigenen API fällt damit schon einmal weg.


    Besagte Dokumentation und Module sollten Dir eigentlich alle notwendigen Informationen liefern.
    Du brauchst also zunächst etwas, das sich mit dem Netzwerk/dem Simulator verbindet.


    Ich will schon seit Ewigkeiten einen WLAN Controller für Android schreiben, der den ganzen Kommunikationskram managed...
    Aber man kommt ja bekanntlich zu nix. ^^


    Nachdem Deine App sich mit dem Simulator per WLAN verbunden hat, wird die Dokumentation schon sagen, was genau der Simulator erwartet.
    Vermutlich sind es Nachrichten als Bytefolgen, die einem bestimmten Muster entsprechen müssen.
    Irgendwas wie Headerstartbyte, Headerlänge, Nachrichtentyp, Headerendbyte, Nachrichtenstartbyte, Nachrichtenlänge, Nachricht, Nachrichtenendbyte.


    Diesen Rohbau musst Du dann abstrakt implementieren und je nach zu sendender Nachricht spezialisieren.
    Abstrakt zum Beispiel: AF 01 00 FE AC 01 00 DC
    (Headerstart, Länge 1, Nachrichttyp 0, Headerende, Nachrichtstart, Nachrichtlänge 1, Nachricht 0, Nachrichtende)
    Konkret zum Beispiel: AF 01 02 FE AC 05 48 61 6C 6C 6F DC
    (Headerstart, Länge 1, Nachrichttyp 2 (z.B. Radiodisplay), Headerende, Nachrichtstart, Nachrichtlänge 5, Zeichenkette "Hallo", Nachrichtende)


    Damit würde, wenn mein Nachrichtenmuster dem des Simulators entspricht (was es vermutlich nicht tut), auf dem Display des Radios die Nachricht 'Hallo' aufleuchten.


    Das Nachrichtenmuster findest Du wie gesagt in der Dokumentation und auch in den dazugehörigen C++ Codes, sofern Du diese lesen und verstehen kannst.
    Sollte der C++ Krams deine Kenntnisse übersteigen, kannst Du sicherlich einen Professor fragen. Sofern die Weitergabe der Quelldaten möglich ist, schau ich auch gern drüber. :)

    Du solltest zunächst einmal prüfen, ob Du wirklich die aktuellen Google Play Services installiert hast.


    Ein Indikator dagegen ist, dass Du kein Programm namens 'Google Einstellungen' hast.
    In dem Fall musst Du sie natürlich erst einmal installieren, bevor Du sie aktualisieren kannst. ;)


    Nennt sich im Store auch 'Google Play Services'.