- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 ArkTS 基础语法
继承:一个类可以继承另一个类(称为基类),并使用以下语法实现多个接口,继承类继承基类的字段和方法,但不继承构造函数。Array类型:即数组,是由可赋值给数组声明中指定的元素类型的数据组成的对象。(即用方括号括起来的零个或多个表达式的列表),其中每个表达式为数组中的一个元素)来赋值。默认情况下,ArkTS中的所有类型都是不可为空的,因此类型的值不能为空。而实例方法既可以访问静态字段,也可以访问实例字段,包括类的私有字段。任何值,包括基本类型的值(它们会被自动装箱),都可以直接被赋给Object类型的变量。
2024-10-31 11:09:02
692
原创 ArkTS UI
其中,irregularIndexes和onGetIrregularSizeByIndex可对仅设置rowsTemplate或columnsTemplate的Grid使用,可以指定一个index数组,并为其中的index对应的GridItem设置其占据的行数与列数,onGetRectByIndex可对同时设置rowsTemplate和columnsTemplate的Grid使用,为指定的index对应的GridItem设置位置和大小。堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。
2024-10-31 11:07:38
535
原创 Harmony项目基础
DevEco Studio下载下载链接:https://developer.huawei.com/consumer/cn/deveco-studio/安装IDE直接运行安装文件即可。
2024-10-31 11:04:18
602
原创 AMS流程源码解析
AMS流程解析关键点说明AMS&PMS关系PMS为包信息管理,发生在设备启动时,PMS会扫描所有的应用,并通过PackageParser解析器解析apk文件信息以及manifest.xml信息,保存在ParseResult中AMS为Activity管理,其通过ActivityTaskManagerService先获取ActivityStartController控制器的execute先获取PMS中的ReslveInfo信息,实现AMS&PMS的通信,然后通过反射获取Activi
2024-10-31 10:57:17
216
原创 PMS源码流程分析
PackageManagerService构造器中scanDirTracedLI函数进行比文件的遍历。scanDirTracedLI接口开始遍历文件。提交扫描文件,开始解析。
2024-10-31 10:15:52
175
原创 IBinder源码分析
进程隔离简单的说就是 Linux 操作系统设计的一种机制,使进程之间不能共享数据,保持各自数据的独立性,即A进程不能访问B进程数据,同理B进程也不能访问A进程数据。通过虚拟内存技术,达到 Linux 进程中数据不能共享,从而保持独立的功能。所以,Linux 进程之间要进行数据交互就得采用特殊的通信机制,即 IPC 通信!MMU(Memory Management Unit)主要用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权、多任务多进程操作系统。
2024-10-30 18:14:14
1016
原创 Handler源码和流程分析
==>如果子线程创建的视图UI,那么就可以在子线程更新UI,但是创建的View的线程通常为主线程如setContentView()所以只能主线程更新UI,如果子线程我们来创建视图,那么后续也只能在该线程更新UI,不利于维护,所以我们就默认UI不能在子线程更新。○ 一个线程只有一个Looper,一个MessageQueue,可以存在多个Handler:Looper构造器为私有,所以只能通过静态方法Looper.myLooper()获取Looper。● 子线程是否可以更新UI?特殊情况下可以更新UI,
2024-10-30 16:30:50
371
翻译 Kotlin基础
Kotlin基础基本类型1.数字Kotlin 提供了一组表示数字的内置类型。 对于整数,有四种不同大小的类型,因此值的范围也不同。类型大小(比特数)最小值最大值Byte8-128127Short16-3276832767Int32-2,147,483,648 (-231)2,147,483,647 (231 - 1)Long64-9,223,372,036,854,775,808 (-263)9,223,372,036,854,775
2022-03-23 17:23:04
454
翻译 Kotlin初了解
Kotlin初了解目录 Kotlin初了解基础语法1.包的定义和导入2.程序入口点3.函数4.变量5.注释6.字符串模板7.条件表达式8.空值和null检测9.类型检测和自动类型转换10.for循环11.while循环12.when表达式13.使用区间(range)14.集合15.创建基本类及其实例习惯用法1.创建DTOs(POJOs/POCOs)2.函数的默认参数3.过滤List4.检测元素是否存在于集合中5.字符串内插6.类型判断7.遍历map/pair型list8.使用区间9.只读list10.只读
2022-03-23 17:22:04
200
原创 Flutter基础
Fluter基础Flutter环境搭建Android Studio开发环境搭建Flutter目录结构,入口函数以及基础组件目录结构文件夹 作用android android 平台相关代码ios ios 平台相关代码lib flutter 相关代码,我们主要编写的代 码就在这个文件夹test 用于存放测试代码pubspec.yaml 配置文件,一般存放一些第三方库的依 赖。入口函数void main
2022-03-23 10:52:35
2536
原创 Dart基础语法
Dart基础语法Dart入口-注释-变量入口函数 main(List args){} 作为Dart的主入口注释// 单行注释/**多行注释 */常量/变量常量:final/const [数据类型] [常量名] = value变量:[数据类型/var] [变量名] = valuevar 不能和数据类型同时使用final 与 const 的区别都是用来定义修饰常量的const值不变 一开始就得赋值;final 可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的
2022-03-23 10:51:08
549
原创 Android版本适配
Android版本适配说明5.0适配 隐式服务启动适配:,5.0以上service不能使用隐式intent启动 Intent intent = new Intent("com.gnss.GNSSService"); intent.setAction(GPSBOARDCONTROL);//Service能够匹配的Action intent.setPackage("com.gnss.ssserver");//应用的包名 context.bindService(intent,serviceConn...
2021-05-26 19:03:24
612
原创 设计模式
设计模式六大原则 开闭原则:软件尸体应当对拓展开放,对修改关闭 作用: 通过扩展已有的软件系统,可以提供新的行为,以满足新的需求,使变化中的软件系统有一定的适应性和灵活性 已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性 实现方式:做到开闭原则不是一件容易的工作,但是也是有很多规律可循的。这些规律也同样以设计原则的身份出现,但是它们都是开闭原则的实现手段和工具,是附属于开闭原则的。 单一职责原则:一个类应该有且仅
2021-04-21 11:39:02
94
原创 JNI入门
xiAndroid 下JNI开发1.概述:a)定义:JNI java native interface java本地接口b)作用:实现java和本地代码之间的相互调用c)实际上就是一套协议d)反编译不容易,安全性较高,关键的业务逻辑需要c实现,效率更高2.基本语法:a)头文件i.#include 标准的输入输出ii.#include标准的函数库b)主方法
2021-01-28 10:31:37
122
原创 Android开发规范总结
##前言##一、Java 语言规范下载地址:[https://yq.aliyun.com/articles/693](https://yq.aliyun.com/articles/693)##二、Android 资源文件命名与使用1.资源文件需带前缀2.layout文件的命名方式1.Activity 的 layout 以 module_activity 开头2.Fragme...
2021-01-28 10:31:07
194
原创 ADB常见命令
常见命令指引:远程连接adb connect 192.168.1.5:5557进入shelladb shell抓取logcat日志adb logcat -v time >d:/guzhang.log查看版本$ adb version查看连接设备$ adb devices从设备上下载文件到电脑adb pull <远程路径> <本地路径>传送文件...
2019-11-27 17:01:59
199
原创 HTML入门02-Demo
CSS的布局默认情况下,所有的网页标签都在标准流布局中,也就是说布局原则是从上至下,从左至右.\脱离标准流的方法有以下两种:float属性:让指定的标签浮动到父标签的左边-left或者右边-rightposition属性: left、right、top、bottom 属性值配合使用.Float:浮动属性:float属性可以指定子标签浮动到父标签的左边或右边float
2017-09-11 20:56:21
720
原创 HTML5入门01
概述:HTML的全称是HyperText Markup Language,超文本标记语言,其实它就是文本。2014年开始定制HTML5的标准,至今HTML5已经成熟(下面简称H5),H5设计的目的是为了在移动设备上支持多媒体等功能.使用H5的原因归结下来有以下几点:1.跨平台,H5的运行平台是浏览器,所以可以跨平台使用;2.H5新增加了很多功能,如Video,audiohe canvas等.H5常
2017-09-10 20:37:44
305
原创 RXJava入门04
RXJava的添加函数all判断所有元素是否满足某个条件,判断是否Observable发射的所有数据都满足某个条件,如果原始的Observable的任何一个数据不满足条件,都返回falseprivate static ArrayList initStudents() { ArrayList persons = new ArrayList<>(); perso
2017-08-27 16:07:55
330
原创 RXJava入门03
RXJava数据传输过滤操作在被观察者发送数据给观察者的时候,在数据传输的时候,有可能需要对数据进一步过滤。以下的教程揽括了大部分过滤操作的函数。1.过滤重复选项的Distinct方法private static ArrayList initStudents() { ArrayList persons = new ArrayList<>(); p
2017-08-27 14:51:52
194
原创 RXJava入门02
RXJava被观察者的创建操作CraeatCraeat操作符从头开始创建一个Observable,并在恰当的时候调用观察者的onNext(),onError和onCompleted方法。使用Observable时必须调用观察者的onCompleted正或者onError一次作为结束在create方法中检查观察者的isUnsubscribed状态,以便在没有观察者的时
2017-08-27 14:27:18
213
原创 RXJava入门01
1.RXJava概述:Rx是Reactive Extensions的简写,翻译为响应的扩展。也就是通过由⼀一⽅方发出信息,另⼀一⽅方响应信息并 作出处理理的核⼼心框架代码RxJava作为⼀一个流⾏行行的框架,其源码依托在GitHub,除了了⽀支持RxJava,针对安卓系统也除了了⼀一个⽀支持框 架RxAndroid2.RXJava依赖的框架(这里介绍的是1.0版本的)compile
2017-08-24 15:46:28
293
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人