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基本常识、技术相关推荐

  1. Android基本常识

    一.Android基本常识 安卓系统版本和sdk版本对照表: 系统版本 系统名称 sdk版本 1.5 Cupcake API 3 1.6 Donut API 4 2.0/2.0.1/2.1 Eclai ...

  2. 【错误记录】Android 编译时技术报错 ( 注解处理器 process 方法多次调用问题 )

    文章目录 一.报错信息 二.问题分析 三.解决方案 注解处理器 AbstractProcessor 中的 process 方法可能会调用多次 , 在生成代码时 , 一定要注意 , 检测到 注解节点 后 ...

  3. 【错误记录】Android 编译时技术版本警告 ( 注解处理器与主应用支持的 Java 版本不匹配 )

    文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 在使用 Android 编译时技术 , 涉及 编译时注解 , 注解处理器 ; 开发注解处理器后 , 编译报如下警告 ; 该警告不会影响 ...

  4. 深入解析阿里Android热修复技术原理

    前言:本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结 通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简 ...

  5. android 蓝牙传输分包,彻底掌握Android多分包技术(一)

    原标题:彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建(一) Andrid多分包技术在大型项目编译方面起着至关重要的作用,作为一个高级开发者我们有必要掌握此技能,现在 ...

  6. Android热修复技术原理详解(最新最全版本)

    本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结   通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单 ...

  7. 【Android应用保护技术探索之路系列】之一:Android应用保护技术开篇

    [Android应用保护技术探索之路系列]章节目录 [Android应用保护技术探索之路系列]之一:Android应用保护技术开篇  [Android应用保护技术探索之路系列]之二:对抗反编译  [A ...

  8. Android Art Hook 技术方案

    Android Art Hook 技术方案 by 低端码农 at 2015.4.13 www.im-boy.net 0x1 开始 Anddroid上的ART从5.0之后变成默认的选择,可见ART的重要 ...

  9. android平台应用技术特点,Android平台应用安全关键技术研究

    摘要: 最近几年来,随着智能手机的普及和移动互联网技术的发展,手机成了人们日常生活中不可缺少的一部分.在众多的智能手机操作系统里面,Android系统以其开源,自由,免费等特点占有着很大的市场占有率. ...

  10. 深入探索android热修复技术原理_打卡活动:技术书籍书单

    不知不觉,码个蛋打卡活动都已经60多天了,好多小伙伴都已经可以领取第一波奖励:技术书籍了,上周好多小伙伴私信码仔,问都有哪些技术书籍,码仔今天就给大家列了个书单供大家选择: 01 Android软件安 ...

最新文章

  1. 冒泡排序 oj - Google 搜索
  2. spring boot+mybatis整合
  3. Linux——好用的一些命令(一)(保持更新)
  4. 试驾小程序_Linux如何成为Linux:试驾1993-2003发行版
  5. Java 算法 新生舞会
  6. 【AI面试题】AlexNet、VGGNet、GoogLeNet,ResNet等网络之间的区别是什么
  7. ajax传递map参数给后端
  8. 如何使用 Firefox 阻止指纹识别的侵扰?
  9. Spark 机器学习拾遗
  10. ZT 80-90年代港台300部电视剧 你看过多少?
  11. 【Redis学习笔记(九)】之 Redis客户端详解
  12. 电吉他弦距测试软件,测吉他弦距的简单方法
  13. English语法_形容词-排序
  14. 用手机玩转GIS!这些你常用的GIS软件竟然都有手机版
  15. 复旦大学计算机学院肖江,【学术报道】复旦大学肖江教授应邀来我校学术交流...
  16. 前端js下载文件压缩包
  17. 理解java接口和抽象类
  18. 什么是大数据 究竟多大才算是大数据,大数据怎么学习?
  19. 全网最详细,手把手教你树莓派安装opencv模块
  20. 一个测试菜鸟如何成长为测试开发专家

热门文章

  1. 试简介视频编码技术?——知乎大神神回答
  2. 利用python处理Excel表格中的销售数据
  3. 【springboot】redisTemplate Redis key出现\xac\xed\x00\x05t\x00
  4. MT4电脑版下载和安装
  5. Live555源码分析
  6. 基于80C51单片机的经纬度定位显示装置设计
  7. 前端代码 录音样式 类似微信发送语音
  8. 2019年计算机网络管理员大赛,【重磅】信息工程学院代表队入围2019年中国高校计算机大赛网络技术挑战赛晋级赛...
  9. UE Gameplay入门48(骨架网格体的混合空间)
  10. Horizon二次开发