android 登录界面处理的几个细节

         

    看到这个登录,相信大家都做过,也遇到过问题。现在我把觉得要处理的几个细节说出来。

   (1)当手机展示这个界面时,我们首先要判断的是,是否有网络。

   (2)怎么样记住账号?

   (3)当输入法出现时,是否让界面上移,是输入法不遮住输入框。

   (4)怎么通过异步加载来验证账号和密码?

    最后我说下,我这个只是粗糙的UI,通常我们要根据需求实现用户体验更好的布局和控件的。这点以后我想把我的想法和大家分享下。今天先说这4点吧。。  

 

    一、判断是否有网络这个大家搜一下资料就知道有很多的,我还是弱弱地写下我怎么实现的。

      1.首先看到网络,我们就该想到设置权限啦,大家都懂的

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

       然后我贴上核心代码吧: 


       判断没网络后,我们要展示提示信息了,这个方法各有千秋,我在自己的demo里写了一种简单的方法——通过dialog展示。

      2.怎么记住账号和密码呢??还有大家常见的导航界面,其实通常是通过SharedPreferences来处理的。

          通常我们在OnCreate()方法里加载保存的信息。

     

        然后监听CheckBox的状态来保存用户信息啦。

      

      isChecked参数:true:表示checkbox被选中    false:表示未被选中

    

   3.我们只需通过在AndroidManifest.xml里设置android:windowSoftInputMode=XXX来控制界面是否上移。

     没有设置时,当我们启动输入法时会发现很尴尬,输入法会遮住居中的输入框(我是通过G12测试的)

    

    我直接在application节点里设置的,适用于各个actvity。。设置前后大家最好用手机自己体验下区别。

    4.当我们点击登录按钮时,我们会将登录信息post到服务器,然后服务器返回信息(返回的信息格式可能是json,xml,简单数据类型,或者复合数据类型等等),通常需要我们 自己解析的。整个发送到返回需要一定时间的,如果我们将这个耗时操作放在actvity的主线程,很可能出现ANR(application not response),因此我们要开子线程来处理这些。android中有两种处理方式:handler和asynctask。

     我是通过handler来处理的。这边的核心代码我在demo已经写了,如果大家觉得对学习有帮助的话下载这个demo吧。。

      http://download.csdn.net/detail/xiana2012/4675438

   

   

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值