zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    final finally finalize区别
    final 有什么用
    Java基础(一) 八大基本数据类型
    22
    21
    20
    18
    17
    16
    15
  • 原文地址:https://www.cnblogs.com/zhangtingkuo/p/3971546.html
Copyright © 2011-2022 走看看