Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Das Thema "Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 14.07.2011, 03:29   #1 (permalink)
Neuer Benutzer

Registriert seit: 14.07.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Moin liebes Team.

Wir haben eine Android-GUI per Eclipse erstellt, welche ein Input bekommt und einen Output auf einem TextView liefert. Das klappt alles wunderbar.

Wir haben dazu ein mehr oder minder kompliziertes Java-Programm, welches auf txt-Dateien auf der Festplatte zugreift, deren Methode ein String verlangt und einen Output liefert.

Nun sollen diese beiden Programme verknüpft werden. Unser Objekt heißt Init. Unser Android-Programm heißt AULDA_4. Sobald ich in AULDA versuche, ein Init-Objekt zu erstellen, spuckt mir der Android-Emulator aus:

The Application AULDA_4 (process pnlp.aulda_4) has stopped unexpectedly. Please try again.

Init ist in einem anderen Package als AULDA_4. die Datei, auf die Init zugreift befindet sich in einem Verzeichnis unter C:/.

Wieso stürzt die Android Application ab, wenn ein Init erstellt wird? Init erstellen läuft wunderbar, wenn das Programm mit einer Test.java gestartet wird und nicht aus Android.
Nun haben wir Init geleert und das Programm vor dem Absturz bewahrt. Es kann also nicht daran liegen, dass etwas externes erstellt wird, sondern an dem, das Init tut.

Muss man etwas dabei beachten (Manifest, import?), wenn man Java Applications ausführt oder wenn man auf Dateien zugreift, die auf der Festplatte gespeichert sind?

Wenn eine Test.java in seiner main das gesamte Programm ausführen kann, wieso kann die Android App nicht darauf zugreifen und das Programm ausführen?

Ich hoffe, ihr könnt uns helfen...
Bei Rückfragen einfach posten und wir erklären euch weiteres.

Liebe Grüße, Francesca, Arne und Görkem
Groath ist offline   Mit Zitat antworten
Alt 14.07.2011, 07:12   #2 (permalink)
Android Experte
 
Benutzerbild von kleinerkathe

Registriert seit: 23.01.2010
Beiträge: 882
Abgegebene Danke: 74
Erhielt 149 Danke für 120 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Wenn ich das richtig verstanden habe, führst die "Aulda" ja auch auf dem Emulator/Phone aus? Wenn ja, wie soll das Programm dort "C:\" finden?
kleinerkathe ist offline   Mit Zitat antworten
Alt 14.07.2011, 09:43   #3 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Zitat:
Zitat von Groath Beitrag anzeigen

Muss man etwas dabei beachten (Manifest, import?), wenn man Java Applications ausführt oder wenn man auf Dateien zugreift, die auf der Festplatte gespeichert sind?
Ja, nicht auf hart codierte Pfade zugreifen. Das ist ein absolutes NoGo, unabhängig von der Programmiersprache oder Plattform.
Ihr programmiert das Ding unter Windows, das ist schön aber wollt es jetzt in einem Linux ausführen. Das kann schlicht nicht funktionieren wenn ihr harte Pfade nutzt und so liest es sich wenn ihr von "C:/" sprecht.
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 14.07.2011, 09:50   #4 (permalink)
Neuer Benutzer

Registriert seit: 14.07.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Jap... Das haben wir uns dann auch irgendwann gefragt.
Neuer Versuch mit:

f=new FileReader("sdcard"+File.separatorChar+"Data"+File .separatorChar+"Arpa - Sampa Table.txt");

Die daten sind per Eclipse DDMS in der sdcard. Nun kommt nicht mehr diese Fehlermeldung, das Programm reagiert einfach nicht mehr. Schwarzer Bildschirm bis die Meldung: Activity AULDA_4 is not responding.

Habens auch damit versucht:

File sdcard = Environment.getExternalStorageDirectory();
try{
f=new FileReader(sdcard.getAbsolutePath()+File.separator Char+
"Data"+File.separatorChar+"Arpa - Sampa Table.txt");
etc.

Nun wissen wir leider wirklich nicht weiter. Ist die directory falsch gesetzt?
Groath ist offline   Mit Zitat antworten
Alt 14.07.2011, 09:54   #5 (permalink)
Neuer Benutzer

Registriert seit: 14.07.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Oh. Init an sich braucht auf meinem PC einige Sekunden, um initiiert zu werden. Kann es sein, dass das Handy bzw der Emulator einfach zu wenig Prozessorleistung besitzt, als dass es Init initiieren könnte, bevor Android wegen fehlendem respond meckert?
Groath ist offline   Mit Zitat antworten
Alt 14.07.2011, 10:22   #6 (permalink)
Ehren-Mitglied
 
Benutzerbild von Kranki

Modell: Nexus One

Registriert seit: 19.07.2009
Beiträge: 4.329
Abgegebene Danke: 127
Erhielt 1.372 Danke für 871 Beiträge
Kranki eine Nachricht über ICQ schicken
Standard

Es beschwert sich nicht, weil es zu lange dauert, sondern weil es abstürzt. "Application has stopped unexpectedly" heißt Exception, Näheres gibts mit logcat.
__________________
CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One
Kein Support via PN und E-Mail. Bitte das Forum nutzen.
"Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder
Kranki ist offline   Mit Zitat antworten
Alt 14.07.2011, 10:36   #7 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Zitat:
Zitat von Groath Beitrag anzeigen
Nun kommt nicht mehr diese Fehlermeldung, das Programm reagiert einfach nicht mehr. Schwarzer Bildschirm bis die Meldung: Activity AULDA_4 is not responding.
Du gibst dir die Antwort doch selbst:
Zitat:
Oh. Init an sich braucht auf meinem PC einige Sekunden, um initiiert zu werden. Kann es sein, dass das Handy bzw der Emulator einfach zu wenig Prozessorleistung besitzt, als dass es Init initiieren könnte, bevor Android wegen fehlendem respond meckert?
Wenn es an einem PC schon länger dauert, dann muss man doch zwingend davon ausgehen, dass es auf einem Handy noch deutlich länger dauert.

Hier muss man nebenläufig Arbeiten, sprich mach nen Thread auf oder einen AsyncTask und greif darin auf die Datei zu.

Darf man Fragen was genau ihr macht? Klingt für mich nach Studentenprojekt für die Uni?
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 14.07.2011, 11:03   #8 (permalink)
Neuer Benutzer

Registriert seit: 14.07.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Genau so etwas ist das ^^
Es ist eine App, die helfen soll, englische Wörter, die deutsch ausgesprochen wurden zu erkennen. Input von 'z I s' sucht anhand einer transition table und Werten für Ähnlichkeiten der Aussprachen nach Lautworten, die sich ähnlich anhören, beachtet dabei natürlich typisch deutsche aussprachefehler, streicht alles, was kein echtes Wort ist und gibt zum Schluss 5 Wörter mit den dazugehörigen values aus. So wird aus 'z I s' letzendlich this ^^
Dazu liest er u.A. eine txt-datei ein, die 3mb groß ist, das SEMPA dictionary enthält und mehrere tausend Einträge hat.. Wird wohl tatsächlich daran hapern. Na darüber wird sich unser Dozent aber sehr freuen... ^^
Kann ich die bereits angefertigten xml-Dateien für irgendwas benutzen?
Würde gerne eine Art App präsentieren - wird dann wohl ein Java Applet werden -, ohne die gesamte gui nochmal von vorne programmieren zu müssen :/ Eine Idee?

@ Kranki:
Er wirft kein "Application has stopped unexpectedly" mehr, wie in den Posts beschrieben. Danke trotzdem ^^
Groath ist offline   Mit Zitat antworten
Alt 14.07.2011, 11:15   #9 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Naja, du kannst ja eine App machen, nur musst du für längere Arbeiten das ganze von der GUI entkoppeln. Das müsstest du auch bei einem Applet machen, sonst reagiert auch hier die GUI nicht. Es gibt zwar keinen Fehler bei einem Applet, aber es wäre trotzdem unbenutzbar solange die Verarbeitung dauert.

Ich würde mir überlegen ob die XML Datei nicht in eine Datenbank überführt werden kann und soll, die Abfragen hier wären deutlich performanter. Außerdem ist die Frage wie ihr die Datei bisher einlest eine 3MB XML würde sich im Speicher ziemlich aufblähen wenn ihr DOM benutzt.

Wen ihr es möglichst einfach haben wollt nehmt die Implementation wie sie gerade ist und startet einen AsyncTask mit der Verarbeitung der Datei. developer.android.com wird hilfreich sein
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 14.07.2011, 11:49   #10 (permalink)
Neuer Benutzer

Registriert seit: 14.07.2011
Beiträge: 8
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft

Hmz. Ich lese mir gerade das hier durch: Painless Threading | Android Developers

Nur checke ich nichts ^^ Da ist die rede von einem return Wert bei onPostExecute, aber ich will gar nichts returned haben, mein Init soll einfach nur initiiert werden, ohne irgendwas zu returnen. Das verwirrt mich gerade viel zu sehr. Soll ich dann Init zu einer AsyncTask machen? Init an sich ist ja nichtmal eine task. Init führt nichts aus. Init lädt erstmal nur die Textdatei. Und dabei gibt er nichts zurück. Mh... Hast du gerade so viel Langeweile, dass du dich auf den steinigen Weg, mir zu sagen, was ich tun soll begeben würdest? ^^
Groath ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
JavaScript/XML-Programm nach JAVA portieren? menseken Android App Entwicklung 12 18.05.2011 10:18
Java - Unterschiede zwischen PC und Android? Geograman Android App Entwicklung 26 09.03.2011 15:15
Java und Android Itze73 Android Allgemein 8 13.01.2011 19:24
Android als Schnittstelle zwischen Smartphone und Auto H1Chris Android Allgemein 11 26.07.2010 16:15
Schneller Wechsel zwischen Android GUI und Sense möglich (mittels Root?) hassrian Root / Hacking / Modding für HTC Desire 5 01.05.2010 12:07




Du liest gerade: "Schnittstelle zwischen Java-Programm und Android GUI fehlerhaft" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.