189 8069 5689

Android开发——记账App开发项目分享(一)之用户登录

一、题外话:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名虚拟主机、营销软件、网站建设、峡江网站维护、网站推广。

本人java基础很一般,学java的时候就写了个notepad的demo,为了顺应时代的发展在去年10月份开始学习android,到现在中间渐渐续续的持续了将近5个月,刚开始我也是下了一堆android的视频,很可惜只看了前2章老罗的视频,工作的人了没那么大的耐心和时间慢慢看下去,依照视频和网上资料把android的开发环境搭起来了,android SDK+eclipse ,中间也尝试了使用android studio ,但是一旦出了问题,查找的资料相对Eclipse要少很多,所以对于初学者建议还是用Eclipse~没有多少基础,也不想慢慢看视频,直接就进入实操,期间困难在所难免,但坚持下来收获也是非常明显的了,现在我就分享下整个开发过程,当然也会包括代码分享~让其他正在步入android门槛的童鞋可以有个借鉴,减少弯路~

二、进入正题:

记账应用的开发涉及绝大多数android的UI和sqlite数据库等操作,很适合作为初学者练手,下面是我最开始的设计思路:

Android开发——记账App开发项目分享(一)之用户登录

后面在开发过程中有修改,还是直接来干货,我就按照我的开发顺序来依次介绍,首先是登录界面的功能:UI中运用了LinearLayout+RelativeLayout组合布局的使用,期间有各种属性的使用,写一个这样的界面就可以了解很多UI的属性了。

效果如下图:

Android开发——记账App开发项目分享(一)之用户登录

xml源码:

 

    
    
    
        
        
    
    
        
            
            
            
            
            
            
        
        
  "
        
            
        

程序代码:

由于这里面程序代码无非就是一些判断控制,这里就只上传保存按钮的代码……

btnlogin.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    if (uname!="" && uname!=null) {
     if (rememberPwd.equals("true")) {
      if (evUsername.getText().toString().trim().length()>0) {
       if (evUsername.getText().toString().trim().equals(uname)) {
        Toast.makeText(Login.this,"登录成功",Toast.LENGTH_SHORT).show();
        Intent intent =new Intent(Login.this,MainActivity.class);
        startActivity(intent);
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
        finish();
        ((NotifyApplication)getApplication()).intLoginStatus=1;//登录激活
        ((NotifyApplication)getApplication()).strUsername = uname;
       }else {
        Toast.makeText(Login.this,"用户名不正确",Toast.LENGTH_SHORT).show();
        evUsername.setText("");
        evUsername.requestFocus();
       }
      }else {
       Toast.makeText(Login.this,"用户名不能为空",Toast.LENGTH_SHORT).show();
       evUsername.requestFocus();
      }
     }else {
      if (evUsername.getText().toString().trim().length()>0) {
       if (evPwd.getText().toString().trim().length()>5) {
        if (evUsername.getText().toString().trim().equals(uname)) {
         if (evPwd.getText().toString().equals(pwd)) {
          Toast.makeText(Login.this,"登录成功",Toast.LENGTH_SHORT).show();
          Intent intent =new Intent(Login.this,MainActivity.class);
          startActivity(intent);
          intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
          finish();
          ((NotifyApplication)getApplication()).intLoginStatus=1;//登录激活
          ((NotifyApplication)getApplication()).strUsername = uname;
         }else {
          Toast.makeText(Login.this,"密码不正确",Toast.LENGTH_SHORT).show();
          evPwd.setText("");
          evPwd.requestFocus();
         }
        }else {
         Toast.makeText(Login.this,"用户名不正确",Toast.LENGTH_SHORT).show();
         evUsername.setText("");
         evUsername.requestFocus();
        }
       }else {
        Toast.makeText(Login.this,"密码长度至少为6",Toast.LENGTH_SHORT).show();
        evPwd.setText("");
        evPwd.requestFocus();
       }
      }else {
       Toast.makeText(Login.this,"用户名不能为空",Toast.LENGTH_SHORT).show();
       evUsername.requestFocus();
      }
     }
    }else {
     Toast.makeText(Login.this,"您还未注册,请点击下方注册",Toast.LENGTH_SHORT).show();
    }
    
   }
  });

在现在看来这个页面有难度的地方,就是“注册”标签的点击链接功能的实现,需要用到SpannableString 这个类,实现该处具体源码如下:

txtRegisterLink=(TextView)findViewById(R.id.txtRegisterLink);
  
  String str2="注册";
  SpannableString spans = new SpannableString(str2); 
  //点击文本链接事件
  spans.setSpan(new ClickableSpan() {
   @Override  
   public void onClick(View widget) {
       if (uname==null || uname=="") {
        Intent intent = new Intent(Login.this, Register.class);
                 startActivity(intent);
                 finish();
       }else{
        Toast.makeText(Login.this,"您已注册,不能重复注册",Toast.LENGTH_SHORT).show();
       } 
              }
           }, 0, str2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
  
  txtRegisterLink.setText(spans);

 

接着写~~~

有用户登录界面,当然就需要用户注册界面了,上面也有贴出在用户登录界面通过link调转到注册界面的代码,下面就直接说注册界面的功能点:

效果图:

Android开发——记账App开发项目分享(一)之用户登录

注册界面的xml代码:



    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    

注册界面的UI很简单了,还是基础控件的使用,当然UI上面的实现方式很多,初学时根据自己的需要和熟悉程度选择就好……

 

 


网站栏目:Android开发——记账App开发项目分享(一)之用户登录
当前URL:http://cdxtjz.cn/article/gihhsi.html

其他资讯