Android笔记
文章平均质量分 71
Android笔记
UI仔Coder
画画UI,吃吃烤串。
展开
-
Android自定义view,自定义控件(kotlin版)–圆形进度条
上效果图,csdn不知道怎么上传动图,,,看视频吧。原创 2024-04-01 23:43:41 · 273 阅读 · 0 评论 -
Android开发,JNI,NDK,C++层操作java的对象实践
可以看出get,set方法都被调用,并且get到我们设置的值。jni修改数组底层,JNI_OK标记。jni中调用对象的get,set方法。jni调用java层的构造方法。遍历int数组在jni中。字符串类型数组在jni中。运行在jni创建的对象,原创 2023-12-10 00:26:44 · 122 阅读 · 0 评论 -
Android开发,JNI,NDK,C++和java代码互相调用方法
比如String,要通过jni的jstring转换成c语言的char *,其他数据类型也是一样。java的数据类型不能直接给c使用,要通过jni转换。如果方法是静态的就是jclass,否则就是对象实例,最终jni会打包到apk中成为一个so库。这个是java和jni通信的桥梁。都是访问的这个结构体指针,C语言的。声明一个java函数一个jni函数。jni中再反调用我们的java函数。在java中调用我们的jni函数。运行一下看看修改的num2的值。jni调用java字符串函数。指的是我们这个文件的后缀。原创 2023-12-06 23:45:02 · 233 阅读 · 0 评论 -
Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。
下载地址下载过程中点击下面箭头的地方,点击鼠标右键,复制好下载链接地址,然后进入ubuntu中。复制链接到ubuntu中使用wget命令下载使用unzip命令解压写段c语言的简单代码编译一下然后执行一下执行成功输出我们的打印test,但是此时如果把这个可执行文件push到Android设备中是没法运行的,因为Android底层虽然也是Linux系统,但是是一个阉割版的,所以必须要通过NDK交叉编译,才能使得程序能够在Android设备中运行起来。原创 2023-11-09 22:44:17 · 622 阅读 · 0 评论 -
Linux系统编程,socket通信编程实践练习(C语言)
运行服务端再运行客户端,输入ip地址,进行交互。我们再开一个命令行端口测试,成功。原创 2023-11-01 23:11:52 · 968 阅读 · 4 评论 -
Gradle开发(三),字节码插桩,编译期间自动注册收集页面路由信息的映射表类并汇总。
在.class转化为.dex文件之前,在我们的插件中搞一个Transform,拿到.class的集合,对它们修改,解析,它们是二进制文件,借助ASM工具。把收集到的映射表类放到map中,我们的目标是把这个类的代码通过字节码插桩的方法插入到编译过程中,在transform。运行观看日志,确实收集到了我们app模块和子工程模块中的类的页面映射表的class信息。在此之前我们先加一句代码,防止子工程也去执行下面的代码,只需要app模块执行即可。对于一个URL,根据映射关系表,来打开特定页面的组件。原创 2023-09-28 00:46:12 · 2814 阅读 · 0 评论 -
Gradle开发,APT采集页面路由信息(二),页面信息映射关系文档生成
让我们的插件自动实现传递路径参数,这样我们的开发者就不需要手动再去传递了。把数据保存到jsonobject中,for循环走完后,我们就拿到了注解所以的映射信息的一个数组。这是我们上一次构建项目生成的保存页面信息的一个目录,我们的目标是每次都自动清除一遍。改造注解处理器,让处理器可以从上面传递过来的路径中生成一个本地的json文件。在注解处理器中,说明注解处理器kapt拿到了app下传递过来的对应的信息。自定义插件放在kapt下面,否则我们的自定义插件可能无法设置kapt的参数。最终我们生成了一个md文档。原创 2023-09-20 23:19:48 · 2171 阅读 · 0 评论 -
Gradle开发,APT采集页面路由信息(一)
定义注解在新建的module下配置java信息打开根目录setting.gradle文件,添加依赖。原创 2023-09-17 01:57:11 · 856 阅读 · 5 评论 -
Gradle插件开发学习,发布repo本地仓库
copy一份buildSrc重新命名为插件的名称router-gradle-plugin,不能直接在buildSrc中发布插件。定义Extension,注册Extension,使用Extension,获取Extension。设置我们的参数,在上面的回调中就会获取到我们用户设置的参数值。标记页面,收集页面,生成文档,注册映射,打开页面。在工程项目下的build.gradle文件中。脚本插件,新建一个gradle脚本文件。在项目的根目录下注册这个拷贝后的子工程。在子过程中添加这个插件的关联。原创 2023-08-31 22:23:42 · 1461 阅读 · 0 评论 -
Gradle构建脚本基础学习,Groovy语言基础。
命令行操作:./gradlew wrapper --gradle-version 想要的版本号。闭包(函数表达式):开放匿名的代码块,可以接受参数,具有返回值也可以被分配给变量。定义:Gradle它使用一种基于Groovy的特定领域语言来声明项目设置。或者直接修改工程目录下的gradle-wrapper.properties。初始化阶段- root project。settings.gradle中测试。编译资源,编译代码,apk签名。配置阶段- project。执行阶段- task。原创 2023-08-26 20:06:59 · 1159 阅读 · 0 评论 -
Android组件化架构开发--为什么要使用组件化?组件分层?组件路由的简单实现。
是对数据和方法的简单封装,功能单一,高内聚,并且是业务能划分的最小粒度。原创 2023-08-25 00:07:56 · 1723 阅读 · 0 评论