Android 博客园客户端 (七)登录功能

如题,不过只是简单的登录功能,登录成功以后可以进行的操作还没有进行实现。

登录的原理主要是获取Cookies,数据保存在数据库中。使用HttpClient模拟登录的方式已经在另一篇博客中写过,这里就不再赘述。

博客地址:http://www.cnblogs.com/zhangtingkuo/p/3968450.html

登录的流程如图所示:

代码非常简单:

SplashActivity:

 1         if (Personal.isLogin(this)) {
 2             Config.FLAG_LOGIN = true;
 3         }
 4 
 5         final Intent intent;
 6         if (Config.FLAG_LOGIN) {
 7             intent = new Intent(SplashActivity.this, MainActivity.class);
 8         } else {
 9             intent = new Intent(SplashActivity.this, LoginActivity.class);
10         }

LoginActivity

 1     private void setListener() {
 2         OnClickListener listener = new OnClickListener() {
 3 
 4             @Override
 5             public void onClick(View v) {
 6 
 7                 if (v.getId() == buttonLogin.getId()) {
 8                     userName = editTextUserName.getText().toString();
 9                     password = editTextPassword.getText().toString();
10                     loginUrl = Config.LOGIN_RUL;
11                     if (userName.trim().equals("")) {
12 
13                     } else if (userName.trim().equals("")) {
14 
15                     } else {
16                         login();
17                     }
18                 } else if (v.getId() == buttonVisitor.getId()) {
19                     Intent intent = new Intent(LoginActivity.this,
20                             MainActivity.class);
21                     startActivity(intent);
22                     LoginActivity.this.finish();
23                 }
24 
25             }
26         };
27 
28         buttonLogin.setOnClickListener(listener);
29         buttonVisitor.setOnClickListener(listener);
30     }
31 
32     private void login() {
33         LoginDialog dialog = new LoginDialog(this);
34         ProgressCallBack callBack = new ProgressCallBack() {
35 
36             @Override
37             public void action() {
38                 cookie = Personal.Login(userName, password, loginUrl);
39                 if (cookie != null) {
40                     DBUtils.addCookie(LoginActivity.this, userName, cookie);
41                     Intent intent = new Intent(LoginActivity.this,
42                             MainActivity.class);
43                     startActivity(intent);
44                     LoginActivity.this.finish();
45                     Config.FLAG_LOGIN = true;
46                 }
47             }
48         };
49 
50         dialog.showProgressDialog("登录", "正在登录 ...", callBack);
51 
52     }

登录效果如下:

第一次做项目,对整个结构难以把握,代码结构总是在修改。为了有个更直观的认识,总结了一下整个软件的运行流程,不包括ActionBar中的一下功能。

 

项目地址:https://github.com/ZhangTingkuo/AndroidCnblogs

posted @ 2014-09-14 20:23  若。只如初见  阅读(2271)  评论(3编辑  收藏  举报