- 博客(6)
- 收藏
- 关注
原创 Android Stuido写c++代码(JNI/NDK)
Android 采用最新的CMake来编译c/c++代码。配置步骤如下 之后我们新建一个java类 我们在main目录下新建jni目录创建c文件 名字随意 之后创建CMakeList.txt(名字只能是这个)配置如下 然后点击File把CMakeLists.txt加载进项目 然后等待编译完成,点击锤子图标会发现在图上目录下生成了so文件 之后我们发现现在可以在创建的Java类JNI下边方...
2019-04-19 11:58:57 194
原创 手写一个精简版ButterKnife
以上是java.lang.annotation包下的元注解的分类 @Documented源码中的解释大概意思是是否记录在javaDoc中 @Inherited源码中大概意思是是否继承该注解类型 @Target注解的作用范围 默认是false @Retention注解是否会保留 @Target中的注解 1.ElementType.CONSTRUCTOR:用于描述构造器 2.ElementType...
2019-04-12 23:30:55 187
原创 kotlin入门二
kotlin的具名参数 首先我们还是写一个add的方法 这时候我们定义一个变量mInt =10 然后赋给方法中的第一个参数 调用的时候就用到了具名参数b= 递归 kotlin中面向对象 继承 多态 ...
2019-04-06 12:26:11 152
原创 kotlin入门一
在学习kotlin就做一个记录 首先我们在android studio 上面查看是否安装了kotlin的插件 然后点击 好吧kotlin就准备就绪了 kotlin的数据类型和java类似 区别在于kotlin上边没有包装类(装箱类的区分) 我们看下kotlin函数的写法 fun main(args: Array):Unit { } fun是修饰符 main是函数名 args是参数名 Array...
2019-04-05 16:53:14 317
原创 一步步实现组件化
首先我们可以定义一个全局的.gradle文件,方便整个项目版本的控制 然后在项目的build.gradle中引用即可 apply from:"(你新建的gradle名称).gradle" 在APP的build.gradle中的引用如下 新建两个module然后在src目录下新建isModule的包用于放置作为App存在的 AndroidManifest.xml文件 然后我们分别在module的...
2019-04-02 11:06:36 257
原创 双重校验单例为什么需要volatile
在并发编程中 我们经常会遇到三个问题,原子性,可见性 和有序性 原子性是指多个操作,要么全部执行,要么全部不执行。有点类似于数据库中的事务。 可见性是指其他线程可以看见某个线程对同一个变量操作后的值。 有序性是指程序的运行具有有序性。例如代码的执行从上往下 创建对象一般分为三步 1.分配内存空间。 2.初始化对象 3.将该内存空间的地址赋值给该对象 static volatile EventBu...
2019-03-27 19:31:51 448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人