80,492
社区成员
发帖
与我相关
我的任务
分享package com.apptest20;
import com.entity.InputEntity;
import com.entity.SocketHandle;
import com.entity.UserOutputEntity;
import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Activity_Login extends Activity {
// 用户的账号
private AutoCompleteTextView userAccount;
// 用户密码
private EditText userPwd;
// 登陆按钮、取回密码按钮、注册登录按钮
private Button btnLogining, login_as_tourists, btnToRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//初始化界面控件
initView();
//添加监听响应事件
addListener();
}
/**
* 初始化所有控件
*/
private void initView() {
userAccount = (AutoCompleteTextView) findViewById(R.id.login_account);
userPwd = (EditText) findViewById(R.id.login_pwd);
btnLogining = (Button) findViewById(R.id.login_btn_logining);
login_as_tourists = (Button) findViewById(R.id.login_as_tourists);
btnToRegister = (Button) findViewById(R.id.login_btn_to_register);
}
private void addListener() {
//监听游客按钮
login_as_tourists.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClass(Activity_Login.this,ActivityBIL.class);
startActivity(intent);
finish();
}
});
//添加登陆按钮监听事件
btnLogining.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//获取用户输入的账号
int account = Integer
.parseInt(userAccount.getText().toString());
//获取用户输入的密码
String password = userPwd.getText().toString();
//调用登录方法
login(account, password);
}
});
btnToRegister.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClass(Activity_Login.this,ActivitySignUp.class);
startActivity(intent);
finish();
}
});
}
/**
* 登录方法
* 该方法用于将用户输入的账号和密码发送到服务端,并对服务端返回的数据进行处理
* @param account 账号
* @param password 密码
*/
protected void login(int account, String password) {
boolean b = false;
//创建一个用户,用于向服务端发送数据时,存放的实体
UserOutputEntity user = new UserOutputEntity();
SocketHandle userlogin = new SocketHandle();
user = userlogin.loginHandle(account, password);
//调用服务方法,向服务端发送数据,如果服务端返回true表示登陆成功,false表示登录失败
if (user != null) {
b = true;
}
if (b) {//如果登陆成功
try {
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent(this, ActivityMore.class);
//new一个Bundle对象,并将要传递的数据传入
Bundle bundle = new Bundle();
bundle.putInt("account", account);
bundle.putString("password", password);
//将bundle对象assign给Intent
intent.putExtras(bundle);
//开启跳转
startActivity(intent);
} else {//登录失败,通过Toast向用户提示登录失败
//Toast.makeText(this, "登录失败,不告诉你为什么...", Toast.LENGTH_LONG).show();
}
}
}
12-16 09:59:16.092: D/dalvikvm(1099): GC_FOR_ALLOC freed 35K, 4% free 2808K/2912K, paused 40ms, total 41ms
12-16 09:59:16.162: I/dalvikvm-heap(1099): Grow heap (frag case) to 8.298MB for 5760016-byte allocation
12-16 09:59:16.202: D/dalvikvm(1099): GC_FOR_ALLOC freed <1K, 2% free 8433K/8540K, paused 38ms, total 38ms
12-16 09:59:16.942: D/gralloc_goldfish(1099): Emulator without GPU emulation detected.
12-16 09:59:19.142: D/dalvikvm(1099): GC_FOR_ALLOC freed 5K, 1% free 8457K/8540K, paused 111ms, total 145ms
12-16 09:59:19.322: I/dalvikvm-heap(1099): Grow heap (frag case) to 11.642MB for 3481616-byte allocation
12-16 09:59:19.442: D/dalvikvm(1099): GC_FOR_ALLOC freed <1K, 1% free 11857K/11944K, paused 116ms, total 116ms
12-16 09:59:22.122: I/Choreographer(1099): Skipped 32 frames! The application may be doing too much work on its main thread.
12-16 09:59:25.552: I/Choreographer(1099): Skipped 48 frames! The application may be doing too much work on its main thread.
12-16 09:59:27.712: D/AndroidRuntime(1099): Shutting down VM
12-16 09:59:27.712: W/dalvikvm(1099): threadid=1: thread exiting with uncaught exception (group=0xb3ac1b90)
12-16 09:59:27.752: E/AndroidRuntime(1099): FATAL EXCEPTION: main
12-16 09:59:27.752: E/AndroidRuntime(1099): Process: com.PicGenie, PID: 1099
12-16 09:59:27.752: E/AndroidRuntime(1099): java.lang.NumberFormatException: Invalid int: ""
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.invalidInt(Integer.java:137)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.parseInt(Integer.java:358)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.parseInt(Integer.java:331)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.PicGenie.Activity_Login$2.onClick(Activity_Login.java:72)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.view.View.performClick(View.java:4424)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.view.View$PerformClick.run(View.java:18383)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Handler.handleCallback(Handler.java:733)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Handler.dispatchMessage(Handler.java:95)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Looper.loop(Looper.java:137)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.app.ActivityThread.main(ActivityThread.java:4998)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.reflect.Method.invoke(Method.java:515)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-16 09:59:27.752: E/AndroidRuntime(1099): at dalvik.system.NativeStart.main(Native Method)
12-16 09:59:30.942: I/Process(1099): Sending signal. PID: 1099 SIG: 9
[/quote]
对,没错,就是login花费太长的时间,代码上面都给你写好了,用多线程。
还有就是:int account = Integer
.parseInt(userAccount.getText().toString());
这个地方,userAccount这个控件先判断下,不能输入为空,否则就是会报NumberFormatException这个错[/quote]12-16 22:21:54.405: D/dalvikvm(1708): GC_FOR_ALLOC freed 54K, 5% free 2808K/2940K, paused 187ms, total 190ms
12-16 22:21:54.475: I/dalvikvm-heap(1708): Grow heap (frag case) to 8.306MB for 5760016-byte allocation
12-16 22:21:54.555: D/dalvikvm(1708): GC_FOR_ALLOC freed <1K, 2% free 8433K/8568K, paused 73ms, total 73ms
12-16 22:21:55.265: D/gralloc_goldfish(1708): Emulator without GPU emulation detected.
12-16 22:21:57.225: D/dalvikvm(1708): GC_FOR_ALLOC freed 5K, 2% free 8458K/8568K, paused 55ms, total 57ms
12-16 22:21:57.345: I/dalvikvm-heap(1708): Grow heap (frag case) to 11.651MB for 3481616-byte allocation
12-16 22:21:57.505: D/dalvikvm(1708): GC_FOR_ALLOC freed <1K, 1% free 11857K/11972K, paused 152ms, total 152ms
12-16 22:22:00.625: I/Choreographer(1708): Skipped 185 frames! The application may be doing too much work on its main thread.
12-16 22:22:03.155: I/Choreographer(1708): Skipped 38 frames! The application may be doing too much work on its main thread.
12-16 22:22:28.185: I/Choreographer(1708): Skipped 35 frames! The application may be doing too much work on its main thread.
12-16 22:22:28.975: I/Choreographer(1708): Skipped 44 frames! The application may be doing too much work on its main thread.
12-16 22:22:31.615: I/Choreographer(1708): Skipped 30 frames! The application may be doing too much work on its main thread.
12-16 22:22:33.725: D/AndroidRuntime(1708): Shutting down VM
12-16 22:22:33.725: W/dalvikvm(1708): threadid=1: thread exiting with uncaught exception (group=0xb3a79b90)
12-16 22:22:33.745: E/AndroidRuntime(1708): FATAL EXCEPTION: main
12-16 22:22:33.745: E/AndroidRuntime(1708): Process: com.PicGenie, PID: 1708
12-16 22:22:33.745: E/AndroidRuntime(1708): java.lang.NumberFormatException: Invalid int: "tttuuyyyhg"
12-16 22:22:33.745: E/AndroidRuntime(1708): at java.lang.Integer.invalidInt(Integer.java:137)
12-16 22:22:33.745: E/AndroidRuntime(1708): at java.lang.Integer.parse(Integer.java:374)
12-16 22:22:33.745: E/AndroidRuntime(1708): at java.lang.Integer.parseInt(Integer.java:365)
12-16 22:22:33.745: E/AndroidRuntime(1708): at java.lang.Integer.parseInt(Integer.java:331)
12-16 22:22:33.745: E/AndroidRuntime(1708): at com.PicGenie.Activity_Login$2.onClick(Activity_Login.java:75)
12-16 22:22:33.745: E/AndroidRuntime(1708): at android.view.View.performClick(View.java:4424)
12-16 22:22:33.745: E/AndroidRuntime(1708): at android.view.View$PerformClick.run(View.java:18383)
12-16 22:22:33.745: E/AndroidRuntime(1708): at android.os.Handler.handleCallback(Handler.java:733)
12-16 22:22:33.745: E/AndroidRuntime(1708): at android.os.Handler.dispatchMessage(Handler.java:95)
12-16 22:22:33.745: E/AndroidRuntime(1708): at android.os.Looper.loop(Looper.java:137)
12-16 22:22:33.745: E/AndroidRuntime(1708): at android.app.ActivityThread.main(ActivityThread.java:4998)
12-16 22:22:33.745: E/AndroidRuntime(1708): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 22:22:33.745: E/AndroidRuntime(1708): at java.lang.reflect.Method.invoke(Method.java:515)
12-16 22:22:33.745: E/AndroidRuntime(1708): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-16 22:22:33.745: E/AndroidRuntime(1708): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-16 22:22:33.745: E/AndroidRuntime(1708): at dalvik.system.NativeStart.main(Native Method)
12-16 22:22:39.115: I/Process(1708): Sending signal. PID: 1708 SIG: 9
12-16 09:59:16.092: D/dalvikvm(1099): GC_FOR_ALLOC freed 35K, 4% free 2808K/2912K, paused 40ms, total 41ms
12-16 09:59:16.162: I/dalvikvm-heap(1099): Grow heap (frag case) to 8.298MB for 5760016-byte allocation
12-16 09:59:16.202: D/dalvikvm(1099): GC_FOR_ALLOC freed <1K, 2% free 8433K/8540K, paused 38ms, total 38ms
12-16 09:59:16.942: D/gralloc_goldfish(1099): Emulator without GPU emulation detected.
12-16 09:59:19.142: D/dalvikvm(1099): GC_FOR_ALLOC freed 5K, 1% free 8457K/8540K, paused 111ms, total 145ms
12-16 09:59:19.322: I/dalvikvm-heap(1099): Grow heap (frag case) to 11.642MB for 3481616-byte allocation
12-16 09:59:19.442: D/dalvikvm(1099): GC_FOR_ALLOC freed <1K, 1% free 11857K/11944K, paused 116ms, total 116ms
12-16 09:59:22.122: I/Choreographer(1099): Skipped 32 frames! The application may be doing too much work on its main thread.
12-16 09:59:25.552: I/Choreographer(1099): Skipped 48 frames! The application may be doing too much work on its main thread.
12-16 09:59:27.712: D/AndroidRuntime(1099): Shutting down VM
12-16 09:59:27.712: W/dalvikvm(1099): threadid=1: thread exiting with uncaught exception (group=0xb3ac1b90)
12-16 09:59:27.752: E/AndroidRuntime(1099): FATAL EXCEPTION: main
12-16 09:59:27.752: E/AndroidRuntime(1099): Process: com.PicGenie, PID: 1099
12-16 09:59:27.752: E/AndroidRuntime(1099): java.lang.NumberFormatException: Invalid int: ""
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.invalidInt(Integer.java:137)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.parseInt(Integer.java:358)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.parseInt(Integer.java:331)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.PicGenie.Activity_Login$2.onClick(Activity_Login.java:72)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.view.View.performClick(View.java:4424)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.view.View$PerformClick.run(View.java:18383)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Handler.handleCallback(Handler.java:733)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Handler.dispatchMessage(Handler.java:95)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Looper.loop(Looper.java:137)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.app.ActivityThread.main(ActivityThread.java:4998)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.reflect.Method.invoke(Method.java:515)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-16 09:59:27.752: E/AndroidRuntime(1099): at dalvik.system.NativeStart.main(Native Method)
12-16 09:59:30.942: I/Process(1099): Sending signal. PID: 1099 SIG: 9
[/quote]
对,没错,就是login花费太长的时间,代码上面都给你写好了,用多线程。
还有就是:int account = Integer
.parseInt(userAccount.getText().toString());
这个地方,userAccount这个控件先判断下,不能输入为空,否则就是会报NumberFormatException这个错12-16 09:59:16.092: D/dalvikvm(1099): GC_FOR_ALLOC freed 35K, 4% free 2808K/2912K, paused 40ms, total 41ms
12-16 09:59:16.162: I/dalvikvm-heap(1099): Grow heap (frag case) to 8.298MB for 5760016-byte allocation
12-16 09:59:16.202: D/dalvikvm(1099): GC_FOR_ALLOC freed <1K, 2% free 8433K/8540K, paused 38ms, total 38ms
12-16 09:59:16.942: D/gralloc_goldfish(1099): Emulator without GPU emulation detected.
12-16 09:59:19.142: D/dalvikvm(1099): GC_FOR_ALLOC freed 5K, 1% free 8457K/8540K, paused 111ms, total 145ms
12-16 09:59:19.322: I/dalvikvm-heap(1099): Grow heap (frag case) to 11.642MB for 3481616-byte allocation
12-16 09:59:19.442: D/dalvikvm(1099): GC_FOR_ALLOC freed <1K, 1% free 11857K/11944K, paused 116ms, total 116ms
12-16 09:59:22.122: I/Choreographer(1099): Skipped 32 frames! The application may be doing too much work on its main thread.
12-16 09:59:25.552: I/Choreographer(1099): Skipped 48 frames! The application may be doing too much work on its main thread.
12-16 09:59:27.712: D/AndroidRuntime(1099): Shutting down VM
12-16 09:59:27.712: W/dalvikvm(1099): threadid=1: thread exiting with uncaught exception (group=0xb3ac1b90)
12-16 09:59:27.752: E/AndroidRuntime(1099): FATAL EXCEPTION: main
12-16 09:59:27.752: E/AndroidRuntime(1099): Process: com.PicGenie, PID: 1099
12-16 09:59:27.752: E/AndroidRuntime(1099): java.lang.NumberFormatException: Invalid int: ""
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.invalidInt(Integer.java:137)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.parseInt(Integer.java:358)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.Integer.parseInt(Integer.java:331)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.PicGenie.Activity_Login$2.onClick(Activity_Login.java:72)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.view.View.performClick(View.java:4424)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.view.View$PerformClick.run(View.java:18383)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Handler.handleCallback(Handler.java:733)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Handler.dispatchMessage(Handler.java:95)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.os.Looper.loop(Looper.java:137)
12-16 09:59:27.752: E/AndroidRuntime(1099): at android.app.ActivityThread.main(ActivityThread.java:4998)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 09:59:27.752: E/AndroidRuntime(1099): at java.lang.reflect.Method.invoke(Method.java:515)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-16 09:59:27.752: E/AndroidRuntime(1099): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-16 09:59:27.752: E/AndroidRuntime(1099): at dalvik.system.NativeStart.main(Native Method)
12-16 09:59:30.942: I/Process(1099): Sending signal. PID: 1099 SIG: 9
//添加登陆按钮监听事件
btnLogining.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//获取用户输入的账号
final int account = Integer
.parseInt(userAccount.getText().toString());
//获取用户输入的密码
final String password = userPwd.getText().toString();
//调用登录方法
new Thread() {
public void run() {
login(account, password);
}
}.start();
}
});