android 练习之路 (一)
前言:本来刚忙完不久,和好友定下来3月剩下来几天好好休息休息,四月再找点活干,不过也确实闲不下来,想了想也快实习了,不如再从头做个demo,尽量把所学的知识用上,每天写一部分并且更新到github上,也是挺有意思的一件事,不过想着想着,就觉得那既然要做不如就多做点,顺带也写个博客好了,于是就注册了博客园,开始了自己的写博客之路......
项目的github地址:https://github.com/Qunter/SearchAndCall
------------------------------------------------------------------------
那么来说正题
做一个demo,希望功能能够全面,这样才能把学到的知识都用起来
首先想到的是把以前做的一个demo完善一下,不过觉得当时的fragment也是用的别人的框架,索性干脆就重新做一遍得了,名字嘛也还是叫之前那个,不过github上已经上传过这个名字了,那我就改个英文名上传好了
那么首先从创建工程开始
暂时先分这几个吧,后面有用到再加
那么下一步是先建个BaseActivity
暂时想到要抽出来的首先是三点
*初始化变量
*初始化控件
*设置沉浸式
那就先这样写,后面再添加吧
public abstract class BaseActivity extends Activity{@Overrideprotected 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 {@Overrideprotected void initVariables() {}@Overrideprotected 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"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登录界面"android:layout_centerInParent="true"/> </RelativeLayout>
于是最后的结果是这样
然后,因为时间不早了,所以今天就先到这里吧
转载于:https://www.cnblogs.com/Qunter/p/6596213.html
android 练习之路 (一)相关推荐
- Android10.0 日志系统分析(四)-selinux、kernel日志在logd中的实现-[Android取经之路]
摘要:本节主要来讲解Android10.0 selinux.kernel日志在logd中的实现,包括LogAudit.LogKlog的源码分析 阅读本文大约需要花费15分钟. 文章首发微信公众号:In ...
- Android10.0 日志系统分析(三)-logd、logcat读写日志源码分析-[Android取经之路]
摘要:本节主要来讲解Android10.0 logd.logcat读写日志源码内容 阅读本文大约需要花费20分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Andro ...
- Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]
摘要:本节主要来讲解Android10.0 日志系统的架构分析,以及logd.logcat的初始化操作 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...
- Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]
摘要:本节主要来讲解Android10.0 日志系统的logd.logcat相关指令说明.日志分类和常用日志属性 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Andro ...
- Android 10.0 PackageManagerService(三)APK扫描-[Android取经之路]
摘要:上一节讲解了PKMS的 权限扫描,扫描/system/etc/permissions中的xml,存入相应的结构体中,供之后权限管理使用. 这一节主要来讲讲APK的扫描. 阅读本文大约需要花费15 ...
- Android 10.0 PackageManagerService(二)权限扫描-[Android取经之路]
摘要:PackageManagerService在systemReady()后,进行了/system/etc/permissions中的各种xml进行扫描,进行相应的权限存储,供以后使用 阅读本文大约 ...
- Android 10.0 PackageManagerService(一)工作原理及启动流程-[Android取经之路]
摘要:PackageManagerService是Android系统核心服务之一,在Android中的非常重要,主要负责APK.jar包等的管理. 阅读本文大约需要花费50分钟. 文章的内容主要还是从 ...
- Android10.0应用进程创建过程以及Zygote的fork流程-[Android取经之路]
摘要:点击手机桌面图标,例如微信,它是如何启动的呢,让我们从系统源码级来一起分析. 阅读本文大约需要花费1小时. 文章的内容主要还是从源码进行分析,虽然又臭又长,但是如果想要学习Android系统源码 ...
- Android10.0系统启动之Launcher(桌面)启动流程-[Android取经之路]
摘要:上一节我们讲完了Android10.0的ActivityManagerService的启动流程,在AMS的最后启动了Launcher进程,今天我们就来看看Launcher的真正启动流程. 阅读本 ...
- Android 10.0 系统服务之ActivityMnagerService-AMS启动流程-[Android取经之路]
摘要:上一节我们讲完了SystemServer的启动过程,这一节接着上一节的步骤,来讲解ActivityManagerService的启动过程. ActivityManagerService简称AMS ...
最新文章
- 绘制ROC 曲线 计算 AUC PR曲线(精准率 召回率)示例
- 名字就叫nfs-(network file system)
- PYTHON高级全栈开发工程师-老男孩教育
- 建立索引lucene_用Lucene建立搜索索引
- 压控元器件和流控元器件
- 利用接口做参数,写个计算器,能完成加减乘除运算。 (1)定义一个接口Compute含有一个方法int computer(int n, int m)。 (2)设计四个类分
- Dream------scala--开发环境搭建
- unity ui框架_[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了
- win11如何进行bug反馈 windows11进行bug反馈的步骤方法
- 345取出值怎么算角度_资料分析怎么提分?这几个公式你必须会!
- 实习成长之路:设计模式一:为什么你明明使用面向对象设计语言总写面向过程的程序?
- 服务器硬盘检测工具有哪些,最常用的10大服务器管理工具
- 智能变电站基本原理和IEC61850
- 装机出现“我们检测到您的硬盘是GPT格式但未找到ESP分区”解决方法
- 在直播软件搭建中,如何基于rtmp实现视频直播?
- win10系统下mysql数据库启动不起来
- 【洛谷P2947】向右看齐
- 更改cognos upfront 的外观
- 气化及燃烧相关知识点
- Linux 更改只读文件方法
热门文章
- JS字符转为json对象
- 百分点发布《数据决策力白皮书》:数据的能量才开始激发
- 关于Servlet出现乱码问题
- 转(HP大中华区总裁孙振耀退休感言)
- windows 7 64bit python3.3安装pyqt
- 安装Ms SQL Server 2005 开发版时出现性能计数器要求安装错误的解决办法
- ubuntu tftp 服务器故障排除一例
- 计算机应用基础 制作表格说课稿,职业教育:计算机应用基础类一等奖作品《Premiere视频制作初体验》说课稿.docx...
- eclipse物联网_Eclipse如何推动物联网发展
- android开源2016_2016年开源年鉴:现在提供印刷版