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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM