- 博客(69)
- 资源 (8)
- 收藏
- 关注
原创 2020-12-06
主要说明Navigation DeepLink的源代码,看如下过程的现实1:DeepLink 三个参数详解2:DeepLink 参数解析过程 3:Navgation导航目标生成过程4:Navgation如何现实导航到指定目标的
2020-12-10 00:16:56 1625 5
原创 Android Lifecycle
Android Lifecycle 框架使用消息介绍:官网介绍地址:https://developer.android.com/jetpack/androidx/releases/lifecycle该地址主要说明如下:1.改组件版本信息说明。2.发布版本修改那些东西。包括bug等相关内容。3.使用gradle需要导入那些相关的包。下面是稳定版如下 def ...
2020-01-16 17:29:34 1096
原创 Android [SPI,AutoSerivce,ServiceLoader]
在 Kotlin 中,@AutoService 注解与 Google 的 AutoService 库一起使用,用于生成用于 Java Service Loader 的元数据文件。@AutoService 注解生成的配置文件是为了与 ServiceLoader 一起使用,使您能够以插件化的方式加载和发现服务实现类。是 Java 中的一个工具类,它的主要作用是在运行时动态加载实现特定接口的类。允许您在运行时动态加载实现特定接口的类。支持多个实现类,您可以同时加载多个实现特定接口的类,并以迭代的方式访问它们。
2023-10-25 21:16:27 387
原创 2020-12-20
Jetpack Navigation 系列navigation 导航返回操作系列问题和源代码解读文章目录Jetpack Navigation 系列前言一: 系统back按钮处理流程处理Activity中的流程。在ComponentActivity中处理流程。NavHostFragment 系统返回按钮的处理流程。二 OnBackPressedDispatcher总结前言Navigation这个组件第一次使用到实际项目中,在项目中遇到问题,下面问题的记录。以及涉及到的系统源代码提示:以
2020-12-20 17:40:15 359 1
原创 2020-11-21
1.上图是Android navigator的一部分, 因为NavController的核心代码导航部分是如果做的行没有在代码中体现。我们来简单说下xml导航文件的解析过程。NavHostFragment: 1. 获取navigation资源文件的导航的ID。这个是NavHostFragment中的一个成员。 2.创建NavController对象。 这个对象是个核心控制对象。 包括生命周期,导航图,堆栈结构。导航目标对象子类集合。 3. 导航图对象的形成过程...
2020-11-21 21:17:42 1397 4
原创 2020-11-13
很久没写blog了。 最近时间比较空余,打算出一个jetPack系列源代码解析系列.1. Navigation基础结构解析。 目录·说明。很久没写blog了。 最近时间比较空余,打算出一个jetPack系列源代码解析系列. 后续会给出类图说明 ...
2020-11-13 11:42:37 180
原创 Gradle 自动化发布测试apk到nexus服务器.
一: andorid 开发测试流程: 1.开发人员开发完成---->打包apk-----> 将apk上传的内网服务器-->发送邮件通知给测试人员 2.测试人员通过邮件-->获取邮件中服务器上的apk包地址进行测试. 3.我们需要使用Gradle完成上面 apk打包--->上传nexus服务器--->自动发送邮件二: 环境描述. Ubuntu14...
2018-04-15 22:42:31 820
原创 android studio -build
import org.aspectj.bridge.IMessageimport org.aspectj.bridge.MessageHandlerimport org.aspectj.tools.ajc.Mainbuildscript { repositories { jcenter() } dependencies { class
2016-07-25 15:14:55 912
原创 andorid-studio nexus 仓库搭建
一:搭建Nexus OSS平台目的: 为了Android-Studio,开发IDE能够快熟获取Maven中的依赖库中的构建.(如:Java中通用 .jar文件),提供一个企业内部的代码共享管理平台.二:搭建该平台的原因: 因为公网资源下载缓慢,导致时间长,如果企业内部不搭建这种类型的平台, 那么时间成本带宽都会成倍增加.三:搭建需要的文档和资料
2016-07-15 21:08:48 1262
原创 Android AOP 之AspectJ(一)
Andorid AOP面向切面编程:Aspect Oriented ProgrammingAOP相关概念: Android-->AOP环境搭建: Android-->AOP编写自己的注解类:Android -->AOP实现日志模块:Android -->AOP统计模块:Android -->AOP注解打包配置:资料链接:http://fernandoce
2016-07-05 10:50:38 1278
原创 android PopupWindos之引导
今天在公司接到一个比较特殊的需求.需求相当简单,引导用户去点击某个按钮.设计图如下:1.解决问题思路 1.使用PopupWindow.因为PopupWindow能够指定相对于某个View进行显示.所以我们可以使用这中方式做实现. 2.需求. 1.当点击PopupWindow 需要让PopupWindow消失. 2.当点
2015-12-22 23:16:55 655
原创 LinuxC 遍历目录结构函数图解.
代码实现图解void doPath(PrinFunc func) { while(a}“` char * fullPath; void doPath(printfFunc func) { DIR *dp; struct dirent *dirp; struct stat statbuf; char *ptr; int ret;
2015-08-22 20:21:48 758
原创 c中位运行的应用
在, apue, arm, c,java 等编程中常用到的位运算。1. 对一个数中的某一位置 1。 int a = 10 对a的第5位置1, 代码如下。 a = a | (12.将第五位设置为0。 代码如下。 a= a&(~(13.检查某一个位是否为1.代码如下: if( (a >>5) & 1 == 1) printf("tr
2015-07-27 10:46:11 701
原创 vim编辑器的配置和使用.
vim 配置和简单使用方法. 1. :进入命令行模式. 可以按esc键.就可以进入. 2. :vim中移动光标命令.切换到命令行: (h左,j下,上k,右l) h:向左移动一个字符,l:向右移动一个字符. j:向下移动一行. k:向上移动一行.3. 从编辑模式到插入模式.可以使用,i,o,a 和I,O,A (o,O,iI,aA)
2015-07-19 23:00:34 2437
原创 Ubuntu14.04下Android系统与应用开发软件完整apt-get 源。
# deb cdrom:[Ubuntu 14.04.1 LTS _Trusty Tahr_ - Release amd64 (20140722.2)]/ trusty main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of th
2015-07-03 19:56:15 2291
原创 Android AdapterView
AdapterView extends ViewGroup AdapterView 继承 ViewGroup ,它的本质是容器.AdapterView 可以包括多个列表项,由Adapter提供. 调用AdapterView的setAdapter()方法设置Adapter即可. AdapterView extends ViewGroup AbsListView extends AdapterVi
2015-06-21 23:15:45 668
原创 链接器
连接器的功能连接器的运行时机为什么使用连接器理解连接器的好处.连接器的功能链接器是将各种代码和数据部分收集起来并合成一个单一文件的过程, 这个文件可以被加载到存储器中执行.链接器的执行时机可以执行于编译时,也就是在源代码被翻译成机器代码的时候.可以执行于加载时,也就是程序被加载器加载到存储器,并执行时.可以执行于运行时,由应用程序来执行.链接是通过链接器程序自动执行的.
2015-05-30 21:18:26 2803
原创 Java内部类和内部接口
内部类定义 指在一个外部类的内部再定义一个类。 内部类作为外部类,的一个成员或者一个局部成员, 并且依附于外部类而存在的。访问权限可和Java成员变量的访问权限变量修饰一样 ’ (protected,private.public,(而外部类不能使用private)内部类的种类 –成员内部类、局部内部类、静态内部类、匿名内部类为什使用内部类.内部接口
2015-05-28 14:05:53 5852
原创 JNI头文件详解(三)对象操作
JNI 中Java对象操作: 对象操作相关函数: (AllocObject,NewObject,NewObjectA,NewObjectV,GetObjectRefType,IsInstanceOf,IsSameObject)1.对比函数特性. 1.1 AllocObject 函数和NewObject,NewObjectA,NewObjectV,之间的区别, 共同点
2015-02-04 20:52:57 5024 1
原创 jni.h头文件详解(二)
GetVersion ,DefineClass , FindClass, FromReflectedMethod, FromReflectedField ,ToReflectedMethod, ToReflectedField)函数的介绍和如何使用这些函数的样例介绍.
2015-01-25 18:23:24 9590 2
原创 jni.h头文件详解(一)
1.jni.h头文件路径: /usr/lib/jvm/jdk_1.6.0_43/include/jni.h2.jni.h头文件组成分析图:3.下面通过上图进行分析讲解jni.h头文件. 一. jni规范中定义的基本数据类型.#define JNIEXPORT#define JNIIMPORT#define JNICALLtypedef
2015-01-20 22:14:08 13582
原创 图解linux char驱动
图解linux char驱动在写字符驱动的时候需要使用内核提供的cdev_add()函数来想kobj_map添加自己的cdev结构体.1.当执行完cdev_add()函数之后.我们最终形成的结构如上.它是一个hash链表结构.那么hash值是谁呢.这个hash只提取的是一个主设备号,最大值254.2.在添加新的设备的时候.我们会先使用主设备号
2015-01-02 19:35:43 1954
原创 4412开发版led控制
exynos4412裸版控制led灯.1.查看电路图.2.查看4412手册.找到对应的寄存器.3.配置对应的寄存器.一.再开发板上我们的外部设备led,在核心板.所以我们需要打开核心板电路图. zshh@HP:~/work/arm/arm资料/exynos4412_lzy/schematic$ ls LCD-HD700-1306.pdf Tiny4412_1306_core_b
2014-12-25 22:10:15 2331
原创 从零开始写一个arm下的裸板程序
从零开始写一个arm下的裸板程序.我们整个程序是基于uboot运行的.所有我们可以借助uboot中的printf来输出,默认开发版的标准输出是串口.电脑的默认标准输出的屏幕.1.需要创建的文件由include文件夹,用来存放头文件.2.创建一个hw.h头文件.3.编写一个common.h,它定义了借用uboot的printf的宏.和NULL这个宏的定义.4.hw.c 硬件相
2014-12-25 17:33:38 2940
原创 linux内核模块笔记
主题: 1. 嵌入式基础知识 2. linux内核介绍 3. 内核的编译和安装(x86) 4. 第一个模块 5. 模块的相关工具 6. 模块的符号导出 7. 模块的参数作业:1.看linux/module.h。以后每天看课程中接触到的头文件 这个文件所在的位置:/home/zshh/work/driver/kernel/linux-3.5/include/linux重点看
2014-12-21 20:58:43 1274
原创 mmu介绍
arm exynos4412平台mmu配置以及的简单创建.1.mmu的全称是Memory Management Unit(内存管理单元)2.mmu所在位置.mmu再arm核心.他不是一个外设,他是arm核心的的一部分. 3.为什么要使用mmu,因为在多任务的操作系统当中,进程A,B,C都可能使一段地 D,为了保存他们访问的不是同一个物理地址,我们给每个进程4G的虚拟地址空间 然
2014-12-17 23:55:34 2839
原创 使用vim调试c的语法错误
使用vim调试c代码的语法错误: 第一步:打开vim vim 第二步: 再命令行模式输入copen之后回车. 第三步: 再使用set mouse = a,打开鼠标. 第四步打开c文件. 使用vsp再命令行打开文件. vsp demo.c 之后可以使用.make demo再命令模式下进行
2014-12-15 22:58:23 3725
原创 ubuntu14.04 配置.linux 查看源代码神器,ctags+vim
如何查看linux下的源代码:以前我会再linux安装一个source insight,但是安装这儿需要有安装这个wine,才能安装上去.ctags+vim的组合: 今天介绍另一种linux下查看源代码的工具就是.ctags+vim的组合. 如果没有安装vim工具的话.可以使用 sudo apt-get install vim 进行安装. 如果没有安装ctags工具的话.
2014-12-07 11:30:36 4759
原创 ubuntu 14.04.1下安装android 4.2编译环境出错总结
android 14.04.1下搭建android 4.2 编译环境错误总结
2014-12-05 15:33:18 2068
原创 ubuntu 14.10 输入法和vim相关配置。
:set number:set cindentsyntax onset autoindent " 自动缩进"set cindent " 自动缩进"set tabstop=4 " Tab键的宽度"set softtabstop=4 " 统一缩进为4"set shiftwidth=4 " 统一缩进为4"set noexpandtab " 不要用空格代替制表符
2014-12-04 11:57:56 3439
原创 linux c string库函数总结
#include忽略大小比较两个字符是否相当。如果s1>s2返回一个大于0的数。如果s1 = s2 返回一个0。如果s1/**********************************************************************************************************************************/
2014-11-08 23:26:24 3757
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人