我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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上面的实现方式很多,初学时根据自己的需要和熟悉程度选择就好……

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:Android开发——记账App开发项目分享(一)之用户登录-创新互联
网页链接:http://mswzjz.cn/article/dgijjs.html

其他资讯