A
AndroidFanat
Neues Mitglied
- 0
Hallo, ich habe gerade ein Problem in einer Activity in der Methode onQueryTextSubmit von einer Methode aus einer anderen Klasse einen Rückgabewert in eine Variable zu speichern und mit Log auszugeben, da eine Fehlermeldung kommt und die App stürzst ab. Deswegen würde ich mich über jeden Tipp freuen.
Fehlermeldung:
Methode:
Es ist so ohne die letzten Zeilen funktioniert alles wunderbar doCall Methode, nur bei diese letzten Zeilen:
Table antwort = callClient.doCall("Test", t);
Log.d("Antwort", antwort.getColumnName(1));
hackt es
doCall Methode
hier am ende der Methode wird Log ganz normal ausgegeben also kann das nicht an der Methode liegen 
Der Rückgabewert der Methode ist null aber ich verstehe nicht ganz wieso, in der doCall Methode fast ganz am Ende ist die noch nicht null da Log Ausgabe ohne Probleme statfindet. Kann es sein, dass es mit dem Thread zusammenhängt und ich diesen erstmal beenden sollte?
Gruß
Fehlermeldung:
Code:
InputEventSender
Exception dispatching finished signal.
MessageQueue-JNI
Exception in MessageQueue callback: handleReceiveCallback
MessageQueue-JNI
java.lang.NullPointerException
MessageQueue-JNI
....MainActivity.onQueryTextSubmit(MainActivity.java:124)
........
........
Code:
@Override
public boolean onQueryTextSubmit(final String query)
{
String isbn = "isbn";
CallClient callClient = new CallClient("http://ip/serverName/webServlet");
String splaten[] = { isbn };
String zellen[] = { query };
Table t = new Table(splaten);
t.addRowValues(zellen);
Table antwort = callClient.doCall("Test", t);
Log.d("Antwort", antwort.getColumnName(1));
return true;
}
Table antwort = callClient.doCall("Test", t);
Log.d("Antwort", antwort.getColumnName(1));
hackt es

doCall Methode
Code:
public Table doCall(String handlerName, final Table parameter)
{
final CSVConverter csvConverter = new CSVConverter();
final String parameterString = csvConverter.tableToString(parameter);
new Thread(new Runnable()
{
public void run()
{
try
{
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(parameterString);
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection
.getInputStream()));
String returnString = "";
while ((returnString = in.readLine()) != null)
{
daten = returnString;
}
in.close();
Log.d("Buchdaten", daten);
antwort = csvConverter.stringToTable(daten);
Log.d("Spaltenname Nr.2 ", antwort.getColumnName(1));
}
catch (Exception e)
{
Log.d("Exception", e.toString());
}
}
}).start();
return antwort;
}

Der Rückgabewert der Methode ist null aber ich verstehe nicht ganz wieso, in der doCall Methode fast ganz am Ende ist die noch nicht null da Log Ausgabe ohne Probleme statfindet. Kann es sein, dass es mit dem Thread zusammenhängt und ich diesen erstmal beenden sollte?
Gruß
Zuletzt bearbeitet: