Android 组件化开发
Android 组件化开发
在项目的开发中,业务模块越来越多,代码量越来越多,编译构建的时间也越来越长,尝试将项目进行组件化开发。
所谓组件化,就是将各个业务模块解耦,在开发的时候将每个业务模块当做单独的 application 开发,在开发完毕后打包成 aar 或者以 module 的形式依赖到主 application 中。
在项目的开发中,业务模块越来越多,代码量越来越多,编译构建的时间也越来越长,尝试将项目进行组件化开发。
所谓组件化,就是将各个业务模块解耦,在开发的时候将每个业务模块当做单独的 application 开发,在开发完毕后打包成 aar 或者以 module 的形式依赖到主 application 中。
首先,我们将将请求api封装成一个接口(interface
), Retrofit 通过这个定义的interface
生成一个具体的实现。
在interface
中进行接口api的定义,比如
1 | public interface RepoService { |
所谓 沉浸式状态栏 和 变色状态栏 之分
按照文档,沉浸式指的是在一些阅读应用或者视频播放应用中进行全屏,隐藏 StatusBar
和 NavigationBar
并在手指触摸手机顶部或者底部时可以唤出这两者的行为
##HttpClient (Apache)
6.0中已经移除了这个方法,Google建议使用HttpUrlConnection 见Android 6.0 Changes
记录一下 CollapsingToolbarLayout 的使用
##一些 AsyncTask 的知识
AsyncTask<Params,Progress,Results>是一个抽象类,通常用于被继承需要指定三个参数
1 | Params: 启动任务时输入参数的类型 |
必须重写 doInBackground() 方法 这是异步执行后台线程任务将要完成的任务 在这里操作耗时操作
onPreExecute() 执行后台耗时操作前被调用,用来进行初始化操作
onPostExecute() 当doInBackground() 方法完成后会自动调用这个方法,并将 doInBackground() 方法中返回的值传递给该方法
onProgressUpdate() 在doInBackground() 方法中调用publishProgress() 方法更新任务的执行进度后就会调用该方法
##配置Android adb环境
echo $HOME
.bash_profile
文件touch .bash_profile
bash_profile
文件open -e .bash_profile
键入该命令后会自动弹出文本编辑框##百度地图key申请
1.先到百度LBS开放平台注册
2.到这里申请密钥 key
其中在 Mac 版本的 Android Studio 获取sha1
的方法如下
cd .Android
keytool -list -v -keystore debug.keystore
其中默认密码是android
如下图所示
mark记录下免得下次又忘了