Android基本常识、技术
Android图标大小大致参考
//仅供参考<br>hdpi 72x72
xhdpi 96x96
xxhdpi 144x144
xxxhdpi 192x192
kotlin中的switch语法
@RequiresApi(Build.VERSION_CODES.N)
@OnClick(R.id.search, R.id.start_data, R.id.end_data)
open fun onViewClicked(v: View?) {when (v?.id) {R.id.start_data -> showDatePicker(startType)R.id.end_data -> showDatePicker(endType)R.id.search -> getPageDataList()}
}
解决依赖库重复的问题
defaultConfig {。。。//解决库冲突multiDexEnabled true
}
dependencies{//解决库重复implementation 'com.android.support:multidex:1.0.3'
}
android中Edittext校验库
android-saripaar官网
校验库使用
BaseRecyclerViewAdapterHelper的使用
github介绍地址
allprojects {repositories {...maven { url 'https://jitpack.io' }}
}
dependencies {implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
}
//加载更多在adapter实现LoadMoreModule
implements LoadMoreModule
//部分API
/ 获取加载更多模块
mAdapter.getLoadMoreModule();
// 打开或关闭加载更多功能(默认为true)
mAdapter.getLoadMoreModule().setEnableLoadMore(false);
// 是否自定加载下一页(默认为true)
mAdapter.getLoadMoreModule().setAutoLoadMore(true);
// 当数据不满一页时,是否继续自动加载(默认为true)
mAdapter.getLoadMoreModule().setEnableLoadMoreIfNotFullPage(false);
// 所有数据加载完成后,是否允许点击(默认为false)
mAdapter.getLoadMoreModule().setEnableLoadMoreEndClick(false);
// 是否处于加载中
mAdapter.getLoadMoreModule().isLoading();
// 预加载的位置(默认为1)
mAdapter.getLoadMoreModule().setPreLoadNumber(1);
// 设置加载更多监听事件
mAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {@Overridepublic void onLoadMore() {loadMore();}
});
/******************************** 状态设置 ********************************/
// 当前这次数据加载完毕,调用此方法
mAdapter.getLoadMoreModule().loadMoreComplete();
// 当前这次数据加载错误,调用此方法
mAdapter.getLoadMoreModule().loadMoreFail();
// 所有数据加载完成,调用此方法
// 需要重置"加载完成"状态时,请调用 setNewData()
mAdapter.getLoadMoreModule().loadMoreEnd();
// 状态手动置为“加载中”,并且会调用加载更多监听
// 一般情况下,不需要自己设置'加载中'状态
mAdapter.getLoadMoreModule().loadMoreToLoading();
安卓中popupWindow点击外部不消失原因
//这一句得写在showAsDropDown的前面 不然不起作用
popupWindow.setOutsideTouchable(true);
popupWindow.showAsDropDown(showView);
java基础 hashSet转list
HashSet<String>hSet = new HashSet<>();
hSet.add("ZS");
List<String> mList= new ArrayList<>(item1List);
LogUtil.e("mList" + mList.toString());
activity管理类ActivityCollector
public class ActivityCollector {public static List<Activity> activities = new ArrayList<>();public static void addActivity(Activity activity) {activities.add(activity);}public static void removeActivity(Activity activity) {activities.remove(activity);}public static void finishAll() {for (Activity activity : activities) {if (!activity.isFinishing()) {activity.finish();}}}
}
使用
//@RuntimePermissions
public class BaseActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ActivityCollector.addActivity(this);//加入这一行}@Overrideprotected void onDestroy() {super.onDestroy();ActivityCollector.removeActivity(this);//加入这一行}
}
Android Butterknife的使用(黄油刀的使用)
//项目的gradle
buildscript {repositories {mavenCentral()google()}dependencies {classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.1'}
}
//app的gradle
android {...// Butterknife requires Java 8.compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}dependencies {implementation 'com.jakewharton:butterknife:10.2.1'annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
}
// 自己在android studio中安装一个插件就可以右键生成
//Activity中使用 ButterKnife.bind(this);
//fragment中使用 bind = ButterKnife.bind(this, view);//this不能变···写死就完了
//adapter中使用 在viewholder中使用
public ViewHolder(View view) { ButterKnife.bind(this, view);
}
证书sha1值获取
keytool -list -v -keystore xxx.jks
证书修改
signingConfigs {release {storeFile file("xxx/xxx/xxx/xxx.keystore") //签名文件全路径storePassword "123456"keyAlias "xxx.keystore"keyPassword "123456"//7.0使用的APK Signature Scheme v2签名方案使外部打入渠道信息会修改签名导致没办法安装 所以目前这里我们需要先禁用掉v2SigningEnabled false}debug {storeFile file("xxx/xxx/xxx/xxx.keystore")storePassword "123456"keyAlias "xxx.keystore"keyPassword "123456"v2SigningEnabled false}}
Android基本常识、技术相关推荐
- Android基本常识
一.Android基本常识 安卓系统版本和sdk版本对照表: 系统版本 系统名称 sdk版本 1.5 Cupcake API 3 1.6 Donut API 4 2.0/2.0.1/2.1 Eclai ...
- 【错误记录】Android 编译时技术报错 ( 注解处理器 process 方法多次调用问题 )
文章目录 一.报错信息 二.问题分析 三.解决方案 注解处理器 AbstractProcessor 中的 process 方法可能会调用多次 , 在生成代码时 , 一定要注意 , 检测到 注解节点 后 ...
- 【错误记录】Android 编译时技术版本警告 ( 注解处理器与主应用支持的 Java 版本不匹配 )
文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 在使用 Android 编译时技术 , 涉及 编译时注解 , 注解处理器 ; 开发注解处理器后 , 编译报如下警告 ; 该警告不会影响 ...
- 深入解析阿里Android热修复技术原理
前言:本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结 通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简 ...
- android 蓝牙传输分包,彻底掌握Android多分包技术(一)
原标题:彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建(一) Andrid多分包技术在大型项目编译方面起着至关重要的作用,作为一个高级开发者我们有必要掌握此技能,现在 ...
- Android热修复技术原理详解(最新最全版本)
本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结 通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单 ...
- 【Android应用保护技术探索之路系列】之一:Android应用保护技术开篇
[Android应用保护技术探索之路系列]章节目录 [Android应用保护技术探索之路系列]之一:Android应用保护技术开篇 [Android应用保护技术探索之路系列]之二:对抗反编译 [A ...
- Android Art Hook 技术方案
Android Art Hook 技术方案 by 低端码农 at 2015.4.13 www.im-boy.net 0x1 开始 Anddroid上的ART从5.0之后变成默认的选择,可见ART的重要 ...
- android平台应用技术特点,Android平台应用安全关键技术研究
摘要: 最近几年来,随着智能手机的普及和移动互联网技术的发展,手机成了人们日常生活中不可缺少的一部分.在众多的智能手机操作系统里面,Android系统以其开源,自由,免费等特点占有着很大的市场占有率. ...
- 深入探索android热修复技术原理_打卡活动:技术书籍书单
不知不觉,码个蛋打卡活动都已经60多天了,好多小伙伴都已经可以领取第一波奖励:技术书籍了,上周好多小伙伴私信码仔,问都有哪些技术书籍,码仔今天就给大家列了个书单供大家选择: 01 Android软件安 ...
最新文章
- 冒泡排序 oj - Google 搜索
- spring boot+mybatis整合
- Linux——好用的一些命令(一)(保持更新)
- 试驾小程序_Linux如何成为Linux:试驾1993-2003发行版
- Java 算法 新生舞会
- 【AI面试题】AlexNet、VGGNet、GoogLeNet,ResNet等网络之间的区别是什么
- ajax传递map参数给后端
- 如何使用 Firefox 阻止指纹识别的侵扰?
- Spark 机器学习拾遗
- ZT 80-90年代港台300部电视剧 你看过多少?
- 【Redis学习笔记(九)】之 Redis客户端详解
- 电吉他弦距测试软件,测吉他弦距的简单方法
- English语法_形容词-排序
- 用手机玩转GIS!这些你常用的GIS软件竟然都有手机版
- 复旦大学计算机学院肖江,【学术报道】复旦大学肖江教授应邀来我校学术交流...
- 前端js下载文件压缩包
- 理解java接口和抽象类
- 什么是大数据 究竟多大才算是大数据,大数据怎么学习?
- 全网最详细,手把手教你树莓派安装opencv模块
- 一个测试菜鸟如何成长为测试开发专家
热门文章
- 试简介视频编码技术?——知乎大神神回答
- 利用python处理Excel表格中的销售数据
- 【springboot】redisTemplate Redis key出现\xac\xed\x00\x05t\x00
- MT4电脑版下载和安装
- Live555源码分析
- 基于80C51单片机的经纬度定位显示装置设计
- 前端代码 录音样式 类似微信发送语音
- 2019年计算机网络管理员大赛,【重磅】信息工程学院代表队入围2019年中国高校计算机大赛网络技术挑战赛晋级赛...
- UE Gameplay入门48(骨架网格体的混合空间)
- Horizon二次开发