一、题外话:

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

二、进入正题:

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

Android开发——记账App开发项目分享(一)之用户登录_第1张图片

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

效果如下图:

Android开发——记账App开发项目分享(一)之用户登录_第2张图片

xml源码:

 <?xml version="1.0" encoding="utf-8"?>                                                                                                                                              "                                                    "                            

程序代码:

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

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开发项目分享(一)之用户登录_第3张图片

注册界面的xml代码:

<?xml version="1.0" encoding="utf-8"?>                                                                                                                                                                

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

 

 

更多相关文章

  1. Android中使用Thread+Handler实现非UI线程更新UI界面
  2. Android界面设计的4种方式之二——在Java代码中控制UI界面
  3. Android的界面元素UI
  4. [Android UI界面] 转:学习Android界面设计的超级利器HierarchyVie
  5. Freescale IMX6 Android (7): Android启动动画死循环 Home界面不
  6. Android 系列 6 图形用户界面 (GUI)
  7. Android界面设计学习日志(二)

随机推荐

  1. Android 引入Airbnb Lottie框架后,报错Err
  2. Android请求web的方式
  3. Android 通过命令行启动Activity
  4. Android实现手机拍照功能
  5. Android学习【7】manifest文件讲解
  6. android 随手记 广播通知栏 二
  7. Android实现淘宝商品列表切换效果
  8. Android:java.lang.IllegalStateExceptio
  9. android的Activity管理
  10. 解决:Failed to fectch URl https://dl-ss