- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 【实践篇】Android中AIDL使用
Binder的前身是OpenBinder,它是一种通过提供远程过程调用(RPC)功能进程间通信的机制,是Android系统中的重要组成部分。在Android系统的Binder机制中,由一系统组件组成,分别是:Client、Server、ServiceManager和binder驱动。其中Client、Server和ServiceManager运行在用户空间,binder驱动运行在内核空间,binder驱动程序是核心组件,ServiceManager提供管理功能,Client和Server在binder驱动和
2022-12-06 20:21:45 941
原创 对象的序列化与反序列化
本文中介绍三种Android中常见的序列化的使用序列化是把对象以二进制的形式写入硬盘或者文件中,这样对象就能存入数据库、文件中或者在网络上进行传输。反序列化是把二进制的对象数据读取出来并还原成对象的过程,这个对象的数据和序列化之前是一样的。使用Serializable方式进行序列化,需要让要序列化的对象接口。serialVersionUID:建议主动生成一个固定的序列号。Idea或者AS中可以通过系统设置,让系统自己生成这个ID,,然后在代码中,点击点击类名:,就能生成UID.如果不主动为这个字段设值,ja
2022-12-03 14:33:28 965
原创 Intellij IDEA/AndroidStudio中查看类的字节码文件的方法(高效)
使用javap之前需要先对JAVA源文件进行编译:打开终端进入java文件所在目录,使用javac Dog.java进行编译生成Dog.class文件。IDEA设置–>Plugins–>搜索关键词jclass,最右侧点击install即可。IDEA设置–>Plugins–>搜索关键词binED,最右侧点击install即可。如果想深入尝试自己解析字节码中的内容,可以使用IDEA 中的binED插件。右键.class文件选择 Open As Binary即可。选中要查看字节码的类,然后选择View菜单上的。
2022-12-01 23:38:10 1322
原创 Java中的反射
基本数据类型字节码备注bytebyte.classcharchar.classbooleanintint.classfloatlonglong.classdoublevoidvoid.class不是基础数据类型PS:void不是基础数据类型。
2022-12-01 22:32:03 129
原创 Java中的动态代理——附带动态代理源码跟踪分析
代理是基本的设计模式之一,它是为了插入一些额外操作或者不同操作而插入的“实际”对象的对象,它通常在实际被访问对象与访问者之间承当着中间人的职能,代替访问者去访问真实对象。当然有,接下来,我将采用动态代理的方式简化代理类的代码,让一个类实现N个代理类的功能。如果能看到生成的Proxy内部的实现,动态代理的谜团就解开了,继续跟踪Step6。在项目根目录下会生成一个文件夹,java中动态代理生成的类都以$ProxyX命名,调试代码的时候看到这种命名的类,那么这个类就是动态代理生成的。代理类的内部长啥样?
2022-11-25 11:15:54 922
原创 初识Java中的注解
Overrite:表示当前方法复写了父类方法@Deprecated:表示过时@SupressWarnings:压制警告。让编译器对一部分警告不要提示。自定义注解使用@interface关键字进行定义,用@注解名的组合在要使用该属性的地方打标签即可,比如下面的就表示方法上使用这个注解。@ParametersDefault(name = "zhangsan",age = 19)//打上标签System.out.println(name+":"+age+"岁");}}
2022-11-22 21:48:06 179
原创 适配器模式
适配器模式(Adapter Parttern)的定义是:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法再一起工作的两个类能一起工作。
2022-11-19 21:28:43 172
原创 RecyclerView的简单使用的实现
RecyclerView是ListView的增强版,通过LayoutManager对RecyclerView进行布局,可以多种现成的Layoutmanager展示数据,也可以自定义LayoutManager进行布局。1、它包含内置ViewHolder,不用再自己造轮子完成整个covertView的复用机制,代码结构更清晰工整。2、添加横向支持,即可以左右滚动,使用场景更广,比如可以用于Android TV上。
2022-11-18 22:06:35 886
原创 iTerm2与zsh的关系
在操作系统内核外有一层壳,而这层壳就是 shell,它是用户和操作系统交互的桥梁。这很好理解,shell 包住了系统,用户想要跟系统交互,就必须经过shell。后来,shell 还慢慢变成了内核与用户交互的脚本语言的总称。我们常见的 shell 有:bash、zsh、csh、ksh、ash 等等。
2022-11-18 21:31:52 437
原创 GTD系列之GTD是什么?怎么用?
前言GTD其实是David Allen写的《Getting Thing Done》这本书的缩写,也是作者提出的这个逻辑系统的代名词。我查阅资料时发现非常多人都在使用GTD对自己的人生进行管理,我愿称它为“一套可行的人生管理方案”。之前查资料时看到有人说GTD不能解决拖延症,我个人觉得使用GTD来解决拖延问题好像有点牛头不对马嘴?当然,如果在GTD系统中对“下一步行动”不够明确的话,的确可能因为面对一个巨大没有分解过的问题产生畏难情绪,从而导致拖延。如果真的想解决拖延症的问题,我觉得使用番茄钟或者从一段5
2022-04-19 19:00:08 1984
原创 GTD系列之我为什么使用GTD管理个人体系
我是公众号看到有人说自己通过GTD系统管理自己的人生规划乃至自己的每日工作,有点儿好奇这是什么东西。我自己又正处于个人组织管理混乱的阶段,于是立刻去找相关资料来看。初步了解后,觉得不失为一个学习和改变的机会。再此之前,我已经读了挺多关于效率、专注和认知相关的书籍,然而知道了很多道理,但是执行起来依旧困难重重,不得要领,按照GTD里面的描述就是迷茫,总觉得差一股力,但是又不知道是什么。《Getting Thing Done》的的第二部分,横向讲解了GTD的整体运行流程,如何加工处理繁杂的事情们,组织各类清单,
2022-04-19 16:37:34 229
原创 数据结构前话
数据结构是计算机学习生涯中最最基本的学科之一,这个系列主要是我对数据结构知识的一个梳理和总结。第一步我先梳理每种数据结构的概念。第二步我会实地操作完成每种数据结构的相关操作的代码实现。下图是数据结构这个概念的一个概念说明,通过这个思维导图对这个事物有个基础印象,后续我都会用思维导图梳理出每个新概念的脉络,之后再根据我的认知填充它们的血肉,争取把每个概念讲透。那么多珠玉在前,我肯定...
2019-03-29 21:05:47 155
原创 《如何高效学习》读书笔记
作者科斯特·扬提出一个新的学习策略--整体性学习,它意在发掘知识之间的联系从而从死记硬背式的学习方法中解脱出来,运用整体性学习策略把学习的新知识通过联系自己已知知识或者类比的方式达到快速掌握的目的。书主要分为四部分,不过我为了方便我学习理解,整理成5个部分。第一部分作者引入三个关键词:结构、模型和高速公路并对它们之间的关系进行解读;第二部分是整体性学习的实施步骤;第三部分作者补充了整体性学习...
2019-03-29 12:46:38 775
原创 《批处理:节省时间,减轻压力的20个小技巧》读书笔记(其实是一篇文章)
本文是科斯特·扬的《如何高效学习》的拓展阅读,可以结合他的《如何高效学习》食用。 作者认为一次性处理一组类似的事件或活动有如下好处: 1、减少启动时间、状态切换;2、减少零碎片段和事情,化零为整。比如多次看邮件变成一次性或2次3、改善专注力 作者整理出20条适合批处理的事件,为了方便记忆和食用,我做了一些归类和整理。我把它们结合我自身的需求划分为工作、生活、娱乐、学习提升...
2019-03-29 12:40:29 6438
原创 《精力管理》读书笔记
该书作者是吉姆·洛尔和托尼·施瓦茨,感谢他们让我看到如此精彩的书。 我喜欢观察自己,但是总是觉得雾里看花,看不通。生活、工作、年龄等无形的压力也让我觉得颇为焦虑和难受,但是又无力施为。我以为是我自己的时间管理做的不够好才让自己的时间总是捉襟见肘,想做的事情总是一拖再拖,想学的东西一直没法开动。看完这本书后,我顿悟了,原来是我的“观我”做的还不够好,精力管理有问题才让我实践起来...
2019-03-29 12:29:35 1500
原创 Android-JNI环境搭建和调用流程+小demo
JNI的调用流程和环境搭建一、JNI环境搭建Ø 基本环境windowsXP系统; Eclipse开发工具; Java编程语言 Ø 工具1. NDK:交叉编译的工具。用于在windows环境下模拟linux环境,编译用于linux环境下的c库。
2013-04-01 16:55:58 1337 1
原创 ScrollLayout的学习【仿launcher滑动】
实现view滑动的功能在自定义的ScrollLayout类中实现。该类是一个自定义view,它本身和LinearLayout、ScrollView等等view有异曲同工之妙,就像LinearLayout它能帮助我们把我们包装在里面的控件排列成线性布局,我们自己编写的ScrollLayout能够帮助我们实现屏幕滑屏的效果。 ScrollLayout extendsGroupView步
2012-12-13 11:43:53 2816
《精力管理》中文版+英文版
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人