arbengie
- Forum-Beiträge: 8
16.01.2013, 18:43:15 via Website
16.01.2013 18:43:15 via Website
Hallo :-)
Ich schreibe zur Zeit einnen kl. Chat. Ich habe ihn zuvor in "reinem" Java geschrieben und da funktioniert auch alles super. Jetzt möchte ich ihn auf Android erweitern aber bei meiner send() Methode kackt das Programm ab und ich bekomme nen schwarzen Bildschirm und die Nachricht "Programm angehalten".
Der Server ist sebstverständlich auch offen und IP und Port stimmen überein.
Könnte mir jmd. weiterhelfen?
Logcat:
Ich schreibe zur Zeit einnen kl. Chat. Ich habe ihn zuvor in "reinem" Java geschrieben und da funktioniert auch alles super. Jetzt möchte ich ihn auf Android erweitern aber bei meiner send() Methode kackt das Programm ab und ich bekomme nen schwarzen Bildschirm und die Nachricht "Programm angehalten".
Der Server ist sebstverständlich auch offen und IP und Port stimmen überein.
Könnte mir jmd. weiterhelfen?
1public class MainActivity extends Activity {
2
3 private Socket client;
4 private Connection con;
5
6 @Override
7 protected void onCreate(Bundle savedInstanceState) {
8 super.onCreate(savedInstanceState);
9 setContentView(R.layout.activity_main);
10 new MainActivity();
11 }
12
13 public MainActivity() {
14 con = new Connection();
15 con.start();
16 }
17
18 @Override
19 public boolean onCreateOptionsMenu(Menu menu) {
20 getMenuInflater().inflate(R.menu.activity_main, menu);
21 return true;
22 }
23
24 public void sendMsg(View view) {
25 EditText input = (EditText) findViewById(R.id.input);
26 con.send(input.getText().toString()); // <--- Hier stürzt das Programm ab
27 }
28
29 public class Connection extends Thread {
30
31 public Connection() {
32
33 }
34
35 public void run() {
36 try {
37 client = new Socket("localhost", 9999);
38 EditText chat = (EditText) findViewById(R.id.chat);
39 chat.append("Verbindung zum Server erfolgreich.\n");
40 while (true) {
41 String s = receive();
42 chat.append("Server: " + s + "\n");
43 }
44
45 }
46 catch (IOException e) {
47 Log.d("Fehler", "Fehler in der Run Methode.");
48 }
49 }
50
51 public void send(String s) {
52 try {
53 BufferedWriter out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
54 out.write(s);
55 out.newLine();
56 out.flush();
57 }
58 catch (IOException e) {
59 Log.d("Fehler", "Fehler beim Senden.");
60 }
61 }
62
63 public String receive() {
64 String s = null;
65 try {
66 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
67 s = in.readLine();
68 }
69 catch (IOException e) {
70 Log.d("Fehler", "Fehler beim Empfangen.");
71 }
72 return s;
73 }
74
75 }
76
77}
2
3 private Socket client;
4 private Connection con;
5
6 @Override
7 protected void onCreate(Bundle savedInstanceState) {
8 super.onCreate(savedInstanceState);
9 setContentView(R.layout.activity_main);
10 new MainActivity();
11 }
12
13 public MainActivity() {
14 con = new Connection();
15 con.start();
16 }
17
18 @Override
19 public boolean onCreateOptionsMenu(Menu menu) {
20 getMenuInflater().inflate(R.menu.activity_main, menu);
21 return true;
22 }
23
24 public void sendMsg(View view) {
25 EditText input = (EditText) findViewById(R.id.input);
26 con.send(input.getText().toString()); // <--- Hier stürzt das Programm ab
27 }
28
29 public class Connection extends Thread {
30
31 public Connection() {
32
33 }
34
35 public void run() {
36 try {
37 client = new Socket("localhost", 9999);
38 EditText chat = (EditText) findViewById(R.id.chat);
39 chat.append("Verbindung zum Server erfolgreich.\n");
40 while (true) {
41 String s = receive();
42 chat.append("Server: " + s + "\n");
43 }
44
45 }
46 catch (IOException e) {
47 Log.d("Fehler", "Fehler in der Run Methode.");
48 }
49 }
50
51 public void send(String s) {
52 try {
53 BufferedWriter out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
54 out.write(s);
55 out.newLine();
56 out.flush();
57 }
58 catch (IOException e) {
59 Log.d("Fehler", "Fehler beim Senden.");
60 }
61 }
62
63 public String receive() {
64 String s = null;
65 try {
66 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
67 s = in.readLine();
68 }
69 catch (IOException e) {
70 Log.d("Fehler", "Fehler beim Empfangen.");
71 }
72 return s;
73 }
74
75 }
76
77}
Logcat:
101-16 18:41:42.798: D/Fehler(31555): Fehler in der Run Methode.
201-16 18:41:42.863: D/Fehler(31555): Fehler in der Run Methode.
301-16 18:41:42.938: D/CLIPBOARD(31555): Hide Clipboard dialog at Starting input: finished by someone else... !
401-16 18:41:47.593: D/AndroidRuntime(31555): Shutting down VM
501-16 18:41:47.593: W/dalvikvm(31555): threadid=1: thread exiting with uncaught exception (group=0x40c681f8)
601-16 18:41:47.598: E/AndroidRuntime(31555): FATAL EXCEPTION: main
701-16 18:41:47.598: E/AndroidRuntime(31555): java.lang.IllegalStateException: Could not execute method of the activity
801-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View$1.onClick(View.java:3100)
901-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View.performClick(View.java:3627)
1001-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View$PerformClick.run(View.java:14329)
1101-16 18:41:47.598: E/AndroidRuntime(31555): at android.os.Handler.handleCallback(Handler.java:605)
1201-16 18:41:47.598: E/AndroidRuntime(31555): at android.os.Handler.dispatchMessage(Handler.java:92)
1301-16 18:41:47.598: E/AndroidRuntime(31555): at android.os.Looper.loop(Looper.java:137)
1401-16 18:41:47.598: E/AndroidRuntime(31555): at android.app.ActivityThread.main(ActivityThread.java:4511)
1501-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invokeNative(Native Method)
1601-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invoke(Method.java:511)
1701-16 18:41:47.598: E/AndroidRuntime(31555): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
1801-16 18:41:47.598: E/AndroidRuntime(31555): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
1901-16 18:41:47.598: E/AndroidRuntime(31555): at dalvik.system.NativeStart.main(Native Method)
2001-16 18:41:47.598: E/AndroidRuntime(31555): Caused by: java.lang.reflect.InvocationTargetException
2101-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invokeNative(Native Method)
2201-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invoke(Method.java:511)
2301-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View$1.onClick(View.java:3095)
2401-16 18:41:47.598: E/AndroidRuntime(31555): ... 11 more
2501-16 18:41:47.598: E/AndroidRuntime(31555): Caused by: java.lang.NullPointerException
2601-16 18:41:47.598: E/AndroidRuntime(31555): at com.example.chatapp.MainActivity$Connection.send(MainActivity.java:68)
2701-16 18:41:47.598: E/AndroidRuntime(31555): at com.example.chatapp.MainActivity.sendMsg(MainActivity.java:41)
2801-16 18:41:47.598: E/AndroidRuntime(31555): ... 14 more
201-16 18:41:42.863: D/Fehler(31555): Fehler in der Run Methode.
301-16 18:41:42.938: D/CLIPBOARD(31555): Hide Clipboard dialog at Starting input: finished by someone else... !
401-16 18:41:47.593: D/AndroidRuntime(31555): Shutting down VM
501-16 18:41:47.593: W/dalvikvm(31555): threadid=1: thread exiting with uncaught exception (group=0x40c681f8)
601-16 18:41:47.598: E/AndroidRuntime(31555): FATAL EXCEPTION: main
701-16 18:41:47.598: E/AndroidRuntime(31555): java.lang.IllegalStateException: Could not execute method of the activity
801-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View$1.onClick(View.java:3100)
901-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View.performClick(View.java:3627)
1001-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View$PerformClick.run(View.java:14329)
1101-16 18:41:47.598: E/AndroidRuntime(31555): at android.os.Handler.handleCallback(Handler.java:605)
1201-16 18:41:47.598: E/AndroidRuntime(31555): at android.os.Handler.dispatchMessage(Handler.java:92)
1301-16 18:41:47.598: E/AndroidRuntime(31555): at android.os.Looper.loop(Looper.java:137)
1401-16 18:41:47.598: E/AndroidRuntime(31555): at android.app.ActivityThread.main(ActivityThread.java:4511)
1501-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invokeNative(Native Method)
1601-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invoke(Method.java:511)
1701-16 18:41:47.598: E/AndroidRuntime(31555): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
1801-16 18:41:47.598: E/AndroidRuntime(31555): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
1901-16 18:41:47.598: E/AndroidRuntime(31555): at dalvik.system.NativeStart.main(Native Method)
2001-16 18:41:47.598: E/AndroidRuntime(31555): Caused by: java.lang.reflect.InvocationTargetException
2101-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invokeNative(Native Method)
2201-16 18:41:47.598: E/AndroidRuntime(31555): at java.lang.reflect.Method.invoke(Method.java:511)
2301-16 18:41:47.598: E/AndroidRuntime(31555): at android.view.View$1.onClick(View.java:3095)
2401-16 18:41:47.598: E/AndroidRuntime(31555): ... 11 more
2501-16 18:41:47.598: E/AndroidRuntime(31555): Caused by: java.lang.NullPointerException
2601-16 18:41:47.598: E/AndroidRuntime(31555): at com.example.chatapp.MainActivity$Connection.send(MainActivity.java:68)
2701-16 18:41:47.598: E/AndroidRuntime(31555): at com.example.chatapp.MainActivity.sendMsg(MainActivity.java:41)
2801-16 18:41:47.598: E/AndroidRuntime(31555): ... 14 more
— geändert am 16.01.2013, 18:44:16
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.