0
私は自分のサーバーに接続し、Wi-Fi経由でテキストメッセージを他のユーザーに送信するAndroidアプリを作成しました。サーバーは正常に動作しますが、ログインするとクラッシュするアプリを使用しようとするたびに理由がわかりません。アプリがランダムにクラッシュする
logcat出力:
canner.findPatternInBuffer(Scanner.java:1022) 11-27 17:13:43.089 32571-32571/? W/System.err: at java.util.Scanner.findWithinHorizon(Scanner.java:1694) 11-27 17:13:43.089 32571-32571/? W/System.err: at java.util.Scanner.nextLine(Scanner.java:1555) 11-27 17:13:43.089 32571-32571/? W/System.err: at com.thatadhacker.texting.MainActivity.onCreate(MainActivity.java:43) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.Activity.performCreate(Activity.java:6942) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.ActivityThread.-wrap14(ActivityThread.java) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.os.Looper.loop(Looper.java:154) 11-27 17:13:43.089 32571-32571/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6682) 11-27 17:13:43.089 32571-32571/? W/System.err: at java.lang.reflect.Method.invoke(Native Method)
public static Socket s;
public static PrintWriter out;
public static Scanner in;
public static Button login;
public static Button send;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
login = (Button) findViewById(R.id.button);
send = (Button) findViewById(R.id.button2);
login.setOnClickListener(this);
send.setOnClickListener(this);
new Thread(new Runnable(){
public void run() {
try {
s = new Socket("finlaybot.soapfudge.com", 5567);
out = new PrintWriter(s.getOutputStream(), true);
in = new Scanner(s.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
EditText text = (EditText) findViewById(R.id.editText4);
while (true) {
text.append(in.nextLine());
}
}
}).start();
}
@Override
public void onClick(final View view){
new Thread(new Runnable(){
public void run() {
switch (view.getId()) {
case R.id.button:
EditText user = (EditText) findViewById(R.id.editText);
EditText pass = (EditText) findViewById(R.id.editText2);
String username = user.getText().toString();
String password = pass.getText().toString();
out.println(username);
out.println(password);
user.setText("");
pass.setText("");
break;
case R.id.button2:
EditText to = (EditText) findViewById(R.id.textView);
EditText message = (EditText) findViewById(R.id.editText4);
out.println(to.getText().toString());
out.println(message.getText().toString());
to.setText("");
message.setText("");
break;
}
}
}).start();
}
私は、サーバーが原因で正常に動作し、デスクトップクライアントで正常に動作します知っています。 *ログを取得しました
クラッシュログ情報だけで、より徹底的にlogcatを確認していないフィルタlogcatしてみてくださいがあります – Erik