Kevin D.
- Forum-Beiträge: 5
08.04.2013, 11:08:32 via Website
08.04.2013 11:08:32 via Website
Hallo liebe Community,
ich bin neu hier und dachte ihr könntet mir wohl helfen. Ich versuche derzeit für meine Bachelorarbeit eine kleine App zu entwicklen, mit der ich Daten an eine Allen Bradley SPS schicken kann. Deswegen habe ich mir die von Java bereitgestellten Sockets einmal näher angeschaut. Folgende Codezeilen stehen bereits:
Leider bekomme ich sobald ich den clientSocket einbinde immer eine Fehlermeldung im LogCat:
Ich bitte um konstruktive Ratschläge...
Mit freundlichen Grüßen,
euer Kevin
ich bin neu hier und dachte ihr könntet mir wohl helfen. Ich versuche derzeit für meine Bachelorarbeit eine kleine App zu entwicklen, mit der ich Daten an eine Allen Bradley SPS schicken kann. Deswegen habe ich mir die von Java bereitgestellten Sockets einmal näher angeschaut. Folgende Codezeilen stehen bereits:
1package com.example.clientsocket;
2
3
4import java.io.*;
5import java.net.*;
6import android.widget.*;
7import android.app.Activity;
8import android.os.Bundle;
9import android.text.Editable;
10import android.view.View;
11
12public class MainActivity extends Activity {
13Socket clientSocket;
14
15
16 @Override
17 protected void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 Thread thread = new Thread();
20 thread.start();
21 setContentView(R.layout.activity_main);
22 }
23
24 public void Start(View view){
25
26 //Variablendeklaration
27 TextView info = (TextView)findViewById(R.id.textView1);
28 EditText ip = (EditText)findViewById(R.id.editText1);
29 Editable ipneu = ip.getText();
30 //String ipadr = ipneu.toString();
31 EditText port = (EditText)findViewById(R.id.editText2);
32 Editable portneu = port.getText();
33 int portadr = Integer.parseInt(portneu.toString());
34 EditText content = (EditText)findViewById(R.id.editText3);
35 Editable contentneu = content.getText();
36 //Socket erstellen
37 Socket clientSocket = null;
38 DataOutputStream os = null;
39 DataInputStream is = null;
40 DataInputStream stdln = new DataInputStream(System.in);
41
42 try{
43 clientSocket = new Socket("127.0.0.1", 8888);
44 os = new DataOutputStream(clientSocket.getOutputStream());
45 is = new DataInputStream(clientSocket.getInputStream());
46 } catch (UnknownHostException e){
47 e.printStackTrace();
48 } catch (IOException e){
49 e.printStackTrace();
50 }
51
52 //Ausgabe der eingegebenen Werte
53 info.setText("IP-Adresse: " + ipneu + "\n Port: " + portneu + "\n Inhalt: " + contentneu);
54
55 }
56
57}
2
3
4import java.io.*;
5import java.net.*;
6import android.widget.*;
7import android.app.Activity;
8import android.os.Bundle;
9import android.text.Editable;
10import android.view.View;
11
12public class MainActivity extends Activity {
13Socket clientSocket;
14
15
16 @Override
17 protected void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 Thread thread = new Thread();
20 thread.start();
21 setContentView(R.layout.activity_main);
22 }
23
24 public void Start(View view){
25
26 //Variablendeklaration
27 TextView info = (TextView)findViewById(R.id.textView1);
28 EditText ip = (EditText)findViewById(R.id.editText1);
29 Editable ipneu = ip.getText();
30 //String ipadr = ipneu.toString();
31 EditText port = (EditText)findViewById(R.id.editText2);
32 Editable portneu = port.getText();
33 int portadr = Integer.parseInt(portneu.toString());
34 EditText content = (EditText)findViewById(R.id.editText3);
35 Editable contentneu = content.getText();
36 //Socket erstellen
37 Socket clientSocket = null;
38 DataOutputStream os = null;
39 DataInputStream is = null;
40 DataInputStream stdln = new DataInputStream(System.in);
41
42 try{
43 clientSocket = new Socket("127.0.0.1", 8888);
44 os = new DataOutputStream(clientSocket.getOutputStream());
45 is = new DataInputStream(clientSocket.getInputStream());
46 } catch (UnknownHostException e){
47 e.printStackTrace();
48 } catch (IOException e){
49 e.printStackTrace();
50 }
51
52 //Ausgabe der eingegebenen Werte
53 info.setText("IP-Adresse: " + ipneu + "\n Port: " + portneu + "\n Inhalt: " + contentneu);
54
55 }
56
57}
Leider bekomme ich sobald ich den clientSocket einbinde immer eine Fehlermeldung im LogCat:
104-08 08:46:14.042: I/Process(668): Sending signal. PID: 668 SIG: 9
204-08 08:46:16.933: D/gralloc_goldfish(683): Emulator without GPU emulation detected.
304-08 08:46:21.984: D/AndroidRuntime(683): Shutting down VM
404-08 08:46:21.984: W/dalvikvm(683): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
504-08 08:46:22.034: E/AndroidRuntime(683): FATAL EXCEPTION: main
604-08 08:46:22.034: E/AndroidRuntime(683): java.lang.IllegalStateException: Could not execute method of the activity
704-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View$1.onClick(View.java:3039)
804-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View.performClick(View.java:3480)
904-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View$PerformClick.run(View.java:13983)
1004-08 08:46:22.034: E/AndroidRuntime(683): at android.os.Handler.handleCallback(Handler.java:605)
1104-08 08:46:22.034: E/AndroidRuntime(683): at android.os.Handler.dispatchMessage(Handler.java:92)
1204-08 08:46:22.034: E/AndroidRuntime(683): at android.os.Looper.loop(Looper.java:137)
1304-08 08:46:22.034: E/AndroidRuntime(683): at android.app.ActivityThread.main(ActivityThread.java:4340)
1404-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invokeNative(Native Method)
1504-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invoke(Method.java:511)
1604-08 08:46:22.034: E/AndroidRuntime(683): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
1704-08 08:46:22.034: E/AndroidRuntime(683): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
1804-08 08:46:22.034: E/AndroidRuntime(683): at dalvik.system.NativeStart.main(Native Method)
1904-08 08:46:22.034: E/AndroidRuntime(683): Caused by: java.lang.reflect.InvocationTargetException
2004-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invokeNative(Native Method)
2104-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invoke(Method.java:511)
2204-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View$1.onClick(View.java:3034)
2304-08 08:46:22.034: E/AndroidRuntime(683): ... 11 more
2404-08 08:46:22.034: E/AndroidRuntime(683): Caused by: android.os.NetworkOnMainThreadException
2504-08 08:46:22.034: E/AndroidRuntime(683): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1084)
2604-08 08:46:22.034: E/AndroidRuntime(683): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:74)
2704-08 08:46:22.034: E/AndroidRuntime(683): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
2804-08 08:46:22.034: E/AndroidRuntime(683): at libcore.io.IoBridge.connect(IoBridge.java:112)
2904-08 08:46:22.034: E/AndroidRuntime(683): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
3004-08 08:46:22.034: E/AndroidRuntime(683): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
3104-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.startupSocket(Socket.java:566)
3204-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.tryAllAddresses(Socket.java:127)
3304-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.<init>(Socket.java:177)
3404-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.<init>(Socket.java:149)
3504-08 08:46:22.034: E/AndroidRuntime(683): at com.example.clientsocket.MainActivity.Start(MainActivity.java:43)
3604-08 08:46:22.034: E/AndroidRuntime(683): ... 14 more
3704-08 08:46:30.513: I/Process(683): Sending signal. PID: 683 SIG: 9
.204-08 08:46:16.933: D/gralloc_goldfish(683): Emulator without GPU emulation detected.
304-08 08:46:21.984: D/AndroidRuntime(683): Shutting down VM
404-08 08:46:21.984: W/dalvikvm(683): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
504-08 08:46:22.034: E/AndroidRuntime(683): FATAL EXCEPTION: main
604-08 08:46:22.034: E/AndroidRuntime(683): java.lang.IllegalStateException: Could not execute method of the activity
704-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View$1.onClick(View.java:3039)
804-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View.performClick(View.java:3480)
904-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View$PerformClick.run(View.java:13983)
1004-08 08:46:22.034: E/AndroidRuntime(683): at android.os.Handler.handleCallback(Handler.java:605)
1104-08 08:46:22.034: E/AndroidRuntime(683): at android.os.Handler.dispatchMessage(Handler.java:92)
1204-08 08:46:22.034: E/AndroidRuntime(683): at android.os.Looper.loop(Looper.java:137)
1304-08 08:46:22.034: E/AndroidRuntime(683): at android.app.ActivityThread.main(ActivityThread.java:4340)
1404-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invokeNative(Native Method)
1504-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invoke(Method.java:511)
1604-08 08:46:22.034: E/AndroidRuntime(683): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
1704-08 08:46:22.034: E/AndroidRuntime(683): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
1804-08 08:46:22.034: E/AndroidRuntime(683): at dalvik.system.NativeStart.main(Native Method)
1904-08 08:46:22.034: E/AndroidRuntime(683): Caused by: java.lang.reflect.InvocationTargetException
2004-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invokeNative(Native Method)
2104-08 08:46:22.034: E/AndroidRuntime(683): at java.lang.reflect.Method.invoke(Method.java:511)
2204-08 08:46:22.034: E/AndroidRuntime(683): at android.view.View$1.onClick(View.java:3034)
2304-08 08:46:22.034: E/AndroidRuntime(683): ... 11 more
2404-08 08:46:22.034: E/AndroidRuntime(683): Caused by: android.os.NetworkOnMainThreadException
2504-08 08:46:22.034: E/AndroidRuntime(683): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1084)
2604-08 08:46:22.034: E/AndroidRuntime(683): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:74)
2704-08 08:46:22.034: E/AndroidRuntime(683): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
2804-08 08:46:22.034: E/AndroidRuntime(683): at libcore.io.IoBridge.connect(IoBridge.java:112)
2904-08 08:46:22.034: E/AndroidRuntime(683): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
3004-08 08:46:22.034: E/AndroidRuntime(683): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
3104-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.startupSocket(Socket.java:566)
3204-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.tryAllAddresses(Socket.java:127)
3304-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.<init>(Socket.java:177)
3404-08 08:46:22.034: E/AndroidRuntime(683): at java.net.Socket.<init>(Socket.java:149)
3504-08 08:46:22.034: E/AndroidRuntime(683): at com.example.clientsocket.MainActivity.Start(MainActivity.java:43)
3604-08 08:46:22.034: E/AndroidRuntime(683): ... 14 more
3704-08 08:46:30.513: I/Process(683): Sending signal. PID: 683 SIG: 9
Ich bitte um konstruktive Ratschläge...
Mit freundlichen Grüßen,
euer Kevin
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.