- 博客(82)
- 资源 (1)
- 收藏
- 关注
原创 记录Android dex转jar(ubuntu)
下载地址查看dex2jar详细的使用方法.具体的命令 sh d2j-dex2jar.sh -f -o output_jar.jar 你的.apk可能会提示你没有权限.那么就到你的dex2jar文件目录,修改属性....
2019-10-25 11:05:14
647
原创 Java label标签(精简版goto)
参考来自<< Thinking in java >> 一书让我们看一个例子:public static void main(String[] args) { for (int i = 0; i < 4; i++) { System.out.println("i = " + i); for (int j = 0; j < 3; j++) {...
2019-10-15 16:40:58
1438
原创 RecyclerView缓存方式源码分析
RecyclerView测量阶段1.在dispatchLayoutStep1()主要做了进程适配器更新;决定应该运行哪个动画;保存当前视图的信息;如有必要运行预测布局并保存其信息(数据变化前的更新).2. dispatchLayoutStep2()实际布局的方法,会把过程交给LayoutManager里面的onLayoutChildren()方法.3. dispatchLayoutSte...
2019-10-09 15:47:45
255
原创 Java内部类
内部类的基本使用//例子1public class DotThis { void f() { System.out.println("DotThis.f()"); } public class Inner { public DotThis outer() { return DotThis.this; // A plain "this" would be ...
2019-09-29 18:05:23
143
原创 Java泛型(一)
泛型方法泛型方法使得该方法能够独立于类而发生变化。以下是一个基本的指导原则:无论何时,只要能你做到,你就应该尽量使用范型方法。也就是说,如果使用泛型方法可以取代将整个类泛型化,那么就应该只使用泛型方法,因为它可以使事情更加明白。另外,对于一个static的方法而言,无法访问泛型类的类型参数,所以,如果static方法需要使用泛型能力,就必须使其成为泛型方法。要定义泛型方法,只需将泛型参数列表置...
2019-09-19 15:53:34
214
原创 记录PathClassLoader(简单的插件化使用)
ClassLoader源码public abstract class ClassLoader { private ClassLoader(Void unused, ClassLoader parent) { this.parent = parent; } protected ClassLoader(ClassLoader parent) { ...
2019-08-29 18:19:18
4156
原创 Java赋值操作需要注意的地方
摘录自 << Thinking In Java >>赋值使用操作符" == “.它的意思是"取右边的的值(即右值),把他复制给左边(即左值)”.右值可以是任何常数,变量或者表达式(只要它能生成一个值就行).但左值必须是一个明确的已命名的变量.也就是说,必须有一个物理空间可以存储等号右边的值.举例来说,可将一个常数赋给一个变量:a = 4;但是不能把任何东西赋给...
2019-07-04 11:54:10
1014
原创 Java 多线程 (synchronized)
记录一下文字,不想总翻书看.文字与例子来自<<Java多线程编程核心技术>>,如有侵权请联系我删除.关键字synchronized拥有锁重入的功能,也就是在使用synchronized时,当一个线程得到一个对象锁的时候,再次请求次对象锁时是可以再次得到改对象的锁的.这也证明在一个synchronized方法/块的内部调用本类的其它synchronized方法/块时...
2019-06-27 21:07:04
158
原创 Android HandlerThread与IntentService
记录一下开发中遇到的这些东西,讲解的不多,毕竟这些都是陈芝麻烂谷子的东西了,就是把源码堆在这里加了一些注释.ThreadLocal如果每个线程都想有自己的共享变量就得使用ThreadLocal,这个类解决了每个线程绑定自己的值,可以将这个类比喻成为全局存放数据的盒子,盒子中可以存储每个线程的私有数据.保证每个线程变量的隔离性.Looper源码public final class Loope...
2019-06-21 16:52:47
383
原创 Android通知权限设置(8.0上下兼容)
记录开发中通知权限使用public class NotificationAccess { private static final String TAG = "NotificationAccess"; public static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listen...
2019-06-18 11:23:39
10143
3
原创 Java按位操作符记录
介绍按位操作符用来操作整数基本数据类型中的单个“比特”(bit),即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。按位操作符来源于C语言面向底层的操作,在这种操作中经常需要直接操纵硬件,设置硬件寄存器内的二进制位。Java的设计初衷是嵌入电视机机顶盒内,所以这‘种面向底层的操作仍被保留了下来。但是,人们可能不会过多地用到位操作符。&操作符如果...
2019-06-10 17:48:22
224
原创 Java Comparator接口中compare方法使用
经常忘记,记录一下.首先看一下部分排序源码//----------------------------Collections.sort------------------------------------------ public static <T> void sort(T[] a, Comparator<? super T> c) { if ...
2019-06-03 16:50:11
11767
原创 Ubuntu Java安装与设置环境变量
最近又重新配置了Java,这里记录一下.很多人为了方便会直接使用OpenJDK,我不习惯,所以是在Oracle官网下载的.$sudo apt install openjdk-8-jdk首先卸载之前的OpenJDKsudo apt-get remove openjdk官网下载我的电脑是64位的,所以下载箭头的那个,现在下载可能需要注册Oracle的账号,很快的几分钟就搞定了...
2019-05-06 18:27:38
23966
原创 Android最全UI库合集
Android UI Library目录索引 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜单 对话框 空白页 滑动删除 手势操作 RecyclerView Card......
2019-03-26 17:40:26
95956
原创 Android P通知发送源码分析
Notification源码分析@UnsupportedAppUsage public void notifyAsUser(String tag, int id, Notification notification, UserHandle user) { //获取NotificationManagerService INotificationManage...
2019-03-05 11:53:18
1341
原创 GreenDao使用记录
普通的APP做持久化保存,最便捷的就是使用数据库。现在使用Android提供的数据库进行CURD的不多,我选择了GreenDao,这里我只说怎么用,原理我也不懂。基本使用1.查看GitHub完成基本的配置。2.了解一些基本的注解的使用。@Entity 实体注解,为greendao指明这是一个需要映射到数据库的实体类,也就是一个@Entity就是一张表。@Id 主键,选择使用long...
2018-12-14 15:57:12
518
原创 Ubuntu启动X86模拟器提示“/dev/kvm device: permission denied”
使用chown命令:语法:chown [选项] [所有者][:用户组] 文件sudo chown 用户名 -R /dev/kvm
2018-10-24 15:14:34
4078
原创 Java继承扩展接口
小目录Volatile 变量Collections继承扩展接口Volatile 变量使用 volatile 关键字修饰一个变量,表示这个变量的值会被不同的线程修改.例如:两个线程启动,第一个线程将变量 A 读取为 5,第二个线程将变量 A 读取为 10。如果变量 A 从 5变为 10,第一个线程将不会知道这个变化,因此会拥有错误的变量 A 的值。但是如果将变量 A 标记为 volatile,那...
2018-09-25 14:55:24
660
原创 可能需要的数学公式
Math.PI 圆周率1.Math.sin 正弦函数 正弦:在Rt△ABC中,∠C=90°,我们把锐角A的对边与斜边的比叫做∠A的正弦(sine),记作sinA,即 sinA=∠A的对边/斜边=a/c2.Math.cos 余弦函数 余弦:我们把∠A的邻边与斜边的比叫做∠A的余弦(cosine),记作cosA,即 cosA=∠A的邻边/斜边=b/c3.Math.tan 正切函...
2018-09-12 11:04:20
379
原创 关于Android文件搜索功能的学习
我们来看一下文件夹管理器Amaze是怎么实现Search操作的。一般来说,文件的操作与处理我们都会大量的使用Java提供的File类。 通过各种File操作,来达到我们的目的。简单回顾一下AsyncTaskonPreExecute() 后台任务开始执行之间调用doInBackground(Params…) 在后台执行耗时任务,当前的任务都在子线程中执行 任务一旦完成就可以通过r...
2018-06-20 17:16:36
5412
原创 Android6.0权限机制使用回顾
去年的时候,公司的系统版本升级到了Android6.0,在维护之前的产品的时候,发现了关于权限管理的相关代码实现的不是很好。于是,我果断上第三方Jar。 直接请求权限如图: //点击Camera按钮findViewById(R.id.button_camera).setOnClickListener(new View.OnClickListener() {
2018-01-17 10:56:50
455
原创 LayoutManager——API
RecyclerView很强大,其中的原因之一就是可以自定义视图。但是自定义视图比较复杂,所以我们先来了解一下相关的API。
2017-12-31 11:45:49
1200
原创 Activity相关知识回顾
偶然发现了Android Developers里面关于Activity的介绍都被翻译成了中文的了,那么就顺着官方文档,整理一下,常用到的知识点吧。
2017-12-21 16:33:52
380
原创 okhttp3 Cache回顾
HTTP response status codes200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误
2017-12-12 15:24:44
1027
原创 Gson使用回顾
早些时候,我开发天气模块的时候,服务器来的数据比较简单,我就直接通过JSONObject解析了。到了后来,增加了新闻模块,那使用JSONObject显然就不能满足需求了,所以我选择了Gson。
2017-12-06 11:21:47
246
原创 WebView API指南
WebView可以显示网页视图,它使用WebKit渲染引擎来显示网页,并提供了前后导航,放大和缩小,执行文本搜索等功能。
2017-12-01 16:09:49
3188
原创 Android Transition——提高一点点篇
在Android5.0版本之前,我们的Activity进入退出动画都比较生硬,通常都是调用`overridePendingTransition(int enterAnim, int exitAnim)`来展示Activty的进出动画,当然了也可以设置`overridePendingTransition(0, 0)`来取消Activty的切换动画。
2017-11-28 21:52:37
7698
1
原创 Android Transition——基础篇
今天来说一说Transition,这个我们肯定不陌生,实现共享元素就会用到这个API。Activities之间精美的动画也全靠这个来实现。从Kitkat版本就出现了Sence与Transition(场景和转换)的概念,那么今天我们先来说一说这两个概念的基本用法。
2017-11-23 15:01:36
6021
原创 学习MultiViewAdapter——4
本文讲到的关于MultiViewAdapter,是学习国外牛人在GitHub上的开源项目。具体的使用方法可以看Wiki。今天来说一说最后一块内容DataGroupManager,DataGroupManger可以是带有头的管理器,支持item的折叠与展开
2017-11-19 14:56:12
436
原创 学习MultiViewAdapter——3
DiffUtil是一个实用工具类,可以计算两个列表之间的差异,并输出一个更新操作列表,将第一个列表转换为第二个列表,用来更新RecyclerView的适配器
2017-11-15 20:23:51
277
原创 学习MultiViewAdapter——2
本文讲到的关于MultiViewAdapter,是学习国外牛人在GitHub上的开源项目。具体的使用方法可以看Wiki。接着昨天说的内容,昨天讲了其中的一个ItemBinder ,今天要说一下RecyclerAdapter 。
2017-11-14 17:07:10
575
原创 学习MultiViewAdapter——1
本文讲到的关于MultiViewAdapter,是学习国外牛人在GitHub上的开源项目。具体的使用方法可以看Wiki。项目中我们会经常用到RecyclerView实现多种效果,这里简单提一下那几个方法。
2017-11-12 17:43:43
401
原创 Android App冷启动优化
什么是冷启动: 重新创建进程,系统需要重新创建和初始化Application类,再创建和初始化MainActivity类。
2017-11-09 21:59:36
379
原创 NestedScrolling(嵌套滚动)
关于自定义Behavior,其中还有一种是实现NestedScrolling效果的,这种效果很常见,比如像支付宝的首页,有道词典的首页等,有了这种嵌套滚动的机制可以实现很多复杂的界面效果。CoordinatorLayout就使用了这套机制,一般我们使用它直接做父View。
2017-11-06 10:58:06
351
原创 CoordinatorLayout.Behavior
CoordinatorLayout我们可以将它理解为一个超级Fragment,它的布局方式是一层一层叠上去,而且它可以组织子View之间的协作。组织协作的方式需要使用最重要的对象Behavior
2017-11-01 14:59:34
478
原创 CollapsingToolbarLayout
╮(╯▽╰)╭ CollapsingToolbarLayout是一个可以折叠的ToolBar,用在AppBarLayout的直接子类中,包含了以下的功能:1.折叠标题当布局完全展开的时候,标题更大,当布局随着滚动,标题会跟着变小。标题设置的方法可以是 setTitle(CharSequence)\android.support.design:title。标题的外观可以通过collapsedTex
2017-10-25 20:11:49
454
原创 AppBarLayout
去年的时候,在开发手机APP里面的个人设置的时候,我记得样式是CoordinatorLayout,那时候毛都不懂,照猫画虎写了一堆bug,至今记忆犹新。。。后来换了一家公司,这个玩意一次都没有用过╮(╯▽╰)╭ 所以在这里把关于CoordinatorLayout可能用到的控件总结一次,万一哪一天用到了,那就直接上手了。
2017-10-23 16:10:59
369
原创 RecyclerView——LayoutAnimation
我之前使用RecyclerView的Item加了一些动画,所以来回顾一下相关的知识点先看一下可能会用到的属性 attributes explain android:interpolator <set> 可以用于动画的差值器,可以使用默认的差值器,该值必须是对指定插值器的资源的引用如:android:inte
2017-10-20 14:57:50
2127
原创 Android Translucent System Bar使用小结
我们一起来看看 Translucent System Bar <style name="AppTheme" parent="Theme.AppCompat.Light">
2017-10-18 21:19:28
539
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅