android 练习之路 (一)
前言:本来刚忙完不久,和好友定下来3月剩下来几天好好休息休息,四月再找点活干,不过也确实闲不下来,想了想也快实习了,不如再从头做个demo,尽量把所学的知识用上,每天写一部分并且更新到github上,也是挺有意思的一件事,不过想着想着,就觉得那既然要做不如就多做点,顺带也写个博客好了,于是就注册了博客园,开始了自己的写博客之路......
项目的github地址:https://github.com/Qunter/SearchAndCall
------------------------------------------------------------------------
那么来说正题
做一个demo,希望功能能够全面,这样才能把学到的知识都用起来
首先想到的是把以前做的一个demo完善一下,不过觉得当时的fragment也是用的别人的框架,索性干脆就重新做一遍得了,名字嘛也还是叫之前那个,不过github上已经上传过这个名字了,那我就改个英文名上传好了
那么首先从创建工程开始
暂时先分这几个吧,后面有用到再加
那么下一步是先建个BaseActivity
暂时想到要抽出来的首先是三点
*初始化变量
*初始化控件
*设置沉浸式
那就先这样写,后面再添加吧
public abstract class BaseActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initVariables(); initViews(savedInstanceState); initState(); } //初始化变量 protected abstract void initVariables(); //初始化控件 protected abstract void initViews(Bundle savedInstanceState); /** * 动态的设置状态栏 实现沉浸式状态栏 * */ private void initState() { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){//4.4 全透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0 全透明实现 Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT);//calculateStatusColor(Color.WHITE, (int) alphaValue) } } }
然后下一步我觉得暂时先做个登录页面,至于数据库的交互,就集成bmob进去好了
于是建一个activity和一个layout
public class LoginActivity extends BaseActivity { @Override protected void initVariables() { } @Override protected void initViews(Bundle savedInstanceState) { setContentView(R.layout.activity_login); } }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#666666"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录界面" android:layout_centerInParent="true"/> </RelativeLayout>
于是最后的结果是这样
然后,因为时间不早了,所以今天就先到这里吧