###Android Studio查看SHA1或MD5的方法:
第一步、打开Android Studio的Tools->Open Terminal
第二步、输入命令:keytool -v -list -keystore yourkeystore.jks
###使用地图资源包的时候,需要在build.grade中添加资源文件的指引:
sourceSets {
main() {
jniLibs.srcDirs = ['libs']
}
}
###签名配置:
signingConfigs {
debugConfig {
keyAlias "你的Key名称"
keyPassword "密码"
storeFile file("key的存储位置")
storePassword "密码"
}
// releaseConfig {
// keyAlias "你的Key名称"
// keyPassword "密码"
// storeFile file("key的存储位置")
// storePassword "密码"
// }
}
在buildTypes中还需加上:
buildTypes {
debug {
signingConfig signingConfigs.debugConfig
}
release {
// signingConfig signingConfigs.releaseConfig
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
RecyclerView的优点:
1、 把ViewHolder的实现封装起来,规范了ViewHolder,把item的view写入ViewHolder中,通过复用ViewHolder来实现view的复用。
2、 RecyclerView.Adapter中把view的回收和内容改变等操作分开解耦了,比传统的Adapter更为灵活。
3、 独立的LayoutManager,可以灵活的控制RecyclerView中items的布局:LinearLayoutManager(垂直布局、水平布局)、GridLayoutManager(网格布局)、StaggeredGridLayoutManager(瀑布流布局);
4、 提供了RecyclerView.ItemAnimator可以设置items增加、删除时的动画(默认已有定义了动画);
###videoview隐藏状态栏和NavigationBar
####如果你用于videoview播放不设置MediaController,全屏切不会有控件,点击事件不会响应,按关闭屏幕按钮也会执行播放.可以用于做酷跑准备倒计时
mVideoView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
MVP概念:
MVP(Model-View-Presenter) 是总所周知MVC模式的一个演变,主要目的都是划分模块职责,降低模块耦合,易测试,提高代码复用。
层级责任
Model:负责数据的检索,持久化等操作。
View: 负责UI的绘制和用户的交互。
Presenter: 作为Model和View的中间协调部分,负责两者之间的业务逻辑处理。
MVC模式的区别
MVC模式允许View层和Model层直接通讯。
当某个View的功能很复杂的时候,View和Model的耦合度可能会很高。
MVP模式就没有这个问题,View会抽象出来一系列操作UI的接口。
Presenter拿到的都是其他两个层级的接口来做业务逻辑的处理,这样不仅可以使View和Model之间的耦合度降低,还可以更易得进行单元测试。
MVP的优缺点
优点:降低耦合,层级职责更明显,易于单元测试。
缺点:造成类数量爆炸,代码复杂度和学习成本高,在某些场景下presenter的复用会产生接口冗余。