每款App中必不可少的肯定有注册功能,而且实现的具体方式各有千秋,为了在以后的开发中提供参考,下面就针对我个人项目中的注册功能,做一个大概的记录,其中肯定有不规范的地方,大家可以多提提建议。
这个项目的源码地址:https://github.com/yeaper/android_sample/tree/master/Sun
为了方便开发,项目使用了Bmob后端云平台,官网:http://www.bmob.cn/
同时,还用到了:
1)图片加载控件 Fresco:http://www.fresco-cn.org/
2)加载圈控件 Rotateloading:在 app目录下的 build.gradle文件中,添加依赖compile 'com.victor:lib:1.0.4'
3)依赖注入工具 ButterKnife:https://github.com/JakeWharton/butterknife/
这些工具的配置就不详细说明了,大家可以查看详细文档。
1、注册界面的布局 activity_reg.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/bg_grey"> <include layout="@layout/toolbar"/> <EditText android:id="@+id/reg_account" android:layout_width="match_parent" android:layout_height="40dp" android:singleLine="true" android:background="@drawable/shape_form" android:inputType="number" android:hint="@string/phone_number" android:textSize="16sp" android:textColor="@color/black" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="30dp" android:layout_gravity="center_vertical"/> <EditText android:id="@+id/reg_password" android:layout_width="match_parent" android:layout_height="40dp" android:inputType="textPassword" android:hint="@string/password" android:textSize="16sp" android:textColor="@color/black" android:singleLine="true" android:background="@drawable/shape_form" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="15dp" android:layout_gravity="center_vertical"/> <EditText android:id="@+id/reg_confirm_password" android:layout_width="match_parent" android:layout_height="40dp" android:inputType="textPassword" android:hint="@string/password_confirm" android:textSize="16sp" android:textColor="@color/black" android:singleLine="true" android:background="@drawable/shape_form" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="15dp" android:layout_gravity="center_vertical"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="10dp" android:text="@string/reg_upload_header" android:textSize="14sp" android:textColor="@color/deepgrey"/> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/reg_header_view" android:layout_width="72dp" android:layout_height="72dp" app:roundAsCircle="true" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="10dp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:layout_marginTop="10dp" android:text="@string/reg_tip" android:textSize&