- 博客(71)
- 资源 (50)
- 收藏
- 关注
原创 HarmonyOS学习(十四)——数据管理(三) 用户首选项
用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。通过用户首选项实现数据持久化-应用数据持久化-ArkData(方舟数据管理)-应用框架 - 华为HarmonyOS开发者 (huawei.com)2、运行机制">用户程序通过ArkTS接口调用用户首选项读写对应的数据文件。
2024-10-08 11:42:40
1400
原创 HarmonyOS学习(十三)——数据管理(二) 关系型数据库
关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库,HarmonyOS关系数据库是基于Sqlite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增删改查接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要,当应用卸载后,其相关数据库会被自动清除。
2024-09-20 17:54:39
1516
原创 HarmonyOS学习(十二)——数据管理(一)分布式数据
分布式数据服务(Distributed Data Service ,DDS)为应用程序提供不同设备间数据库的分布式协同能力。通过调用分布式数据接口,应用程序将数据保存到分布式数据库中。通过结合账号,用用和数据库三元组,分布式数据服务对属于不同应用的数据进行隔离,以保证不同应用之间数据不能通过分布式数据服务互相访问。在通过可信认证的设备间,分布式数据服务支持应用数据相互同步,为用户提供在多种终端设备上最终一致的数据访问体验。
2024-09-14 17:24:50
1538
原创 HarmonyOS学习(十一)——安全管理
应用只能访问有限的系统资源。但在某些情况下,应用为了扩展功能的诉求,需要访问额外的系统或者其他应用和功能。系统或应用也必须以明确的方式对外提供接口来共享其数据和功能。
2024-09-12 17:43:29
1772
2
原创 HarmonyOS学习(十)——网络编程
ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容,为开发者提供页面加载、页面交互、页面调试等能力。
2024-09-10 15:04:23
1790
原创 HarmonyOS学习(九)——窗口管理
应用窗口是指与应用显示相关的窗口。根据显示内容的不同,应用窗口分为** 应用主窗口** 和应用子窗口应用主窗口应用主窗口用于显示应用界面,会在“任务管理”界面显示应用子窗口应用子窗口用于显示应用的弹窗,悬浮窗等辅助窗口,不会在“任务管理”界面显示。
2024-09-09 15:41:40
1212
原创 HarmonyOS学习(八)——公共事件(CES)
公共事件(Common Event Service,CES)根据事件发送方不同,可分为系统公共事件和自定义公共事件。系统公共事件系统将收集到的事件信息根据系统策略发送给订阅该事件的用户程序,公共事件包括终端设备用户可感知的亮灭屏事件,以及系统关键服务发布的系统事件(例如USB插拔,网络连接,系统升级等)自定义公共事件由应用自身定义的期望特定订阅者可以接收到的公共事件,这些公共事件往往与应用自身的业务逻辑有关。
2024-09-05 10:48:21
643
原创 HarmonyOS学习(七)——UI(五)常用布局总结
层叠布局可以设置子元素在容器内的对齐方式,支持topStart(左上),Top(上中),TopEnd(右上),Start(左边),Center(中间),End(右边),BottomStart(左下),Bottom(中下),BottomEnd(右下)9中对齐方式。层叠布局用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局,层叠布局通过层叠容器Stack实现,容器中的子元素依次入栈,后一个子元素覆盖前一个子元素显示。弹性布局提供一种更加有效的方式来对容器中的子组件进行排列,对齐和分配空白空间。
2024-09-05 10:46:01
694
原创 HarmonyOS学习(六)——UI(四)布局
SideBarContainer是提供侧边栏可以显示和隐藏的侧边栏容器,通过子组件定义侧边栏和内容区,第一个子组件表示侧边栏,第二个子组件表示内容区。Tabs是通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图TabContent。scroll是可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸,内容可以滚动。Stack是堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个字组件。Swiper是滑动块视图容器,提供子组件滑动轮播显示的能力。Navigator是路由器组件,提供路由跳转能力。
2024-07-01 17:44:00
499
原创 HarmonyOS学习(五)——UI(三)布局
List可以包含ListItem和ListItemGroup子组件,ListItem用来展示列表具体Item,必须配合List来使用,ListItemGroup组件用来展示列表item分组,宽度默认充满List组件,必须配合List组件来使用。AlphabetIndexer是可以与容器组件联动用于按逻辑结构快速定位容器显示区域的组件。GridRow栅格容器组件 仅可以和栅格子组件GridCol在栅格布局场景中使用。ColumnSplit 横向分割线 rowSplit纵向分割线。构造函数主要有四个参数。
2024-06-27 17:35:26
808
原创 HarmonyOS学习(四)——UI(二)控件
PatternLock是图案密码锁组件,以九宫格图案的方式输入密码,用于密码验证场景,指在PatternLock组件区域按下时开始输入状态,手指离开时结束输入状态完成密码输入。Stepper是步骤导航器组件,适用于引导用户按照步骤完成任务的导航场景,StepperItem是Stepper组件的页面子组件。Radio单选框,提供相应的用户选择项,当前单选框所属的群组名称,相同的group的Radio只能有一个选中。TextArea是多行文本输入框组件,当输入的内容超过组件宽度会自动换行显示。
2024-06-26 15:45:53
977
原创 HarmonyOS学习(三)——UI(一)控件
Navigation组件一般作为Page页面的根容器,通过属性设置来展示页面的标题、工具栏、菜单。Black是空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。需要注意的是,Black组件仅当其父组件为Row/Colum,且父容器设置宽度后才生效。多选框群组,用于控制多选框全选或者不全选状态,通过group表示同一个多选框群组。跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。多选框组件,在实例化时主要是设置多选框的名称,多选框的群组名称。
2024-06-25 14:58:54
950
原创 HarmonyOS学习(二)——Want 概述
在Stage模型中,Want是对象间信息传递的载体,可以用在应用组件间的信息传递。相当于FA模型的Intent。作为startAbility的参数,包含指定的启动目标,以及启动时需要携带的相关数据(bundleName和AbilityName字段分别指明目标Ability所在应用的包名以及对应的Ability名称)。
2024-06-19 23:51:08
723
原创 HarmonyOS学习(一)——Stage模型
HarmonyOS 3.1(API 9)新增模型。提供了Ability Stage和Window Stage类作为应用组件和window窗口的“舞台”
2024-06-18 23:04:55
1079
1
原创 kt学习--基本数据类型
文章目录一、基本数据类型1.1 var 变量声明1.2 val 常量声明二、数组的使用2.1 数组的声明2.2 数组的使用三、字符串3.1 字符串与基本类型的转换3.2 字符串的基本使用3.3 字符串的模板和拼接四、容器4.1 容器说明4.2 集合Set/MutableSet4.2.1 Set/MutableSet说明4.2.2 for-in遍历4.2.2 迭代器遍历4.2.2 forEach遍历4.3 队列List/MutableList4.3.1 List/MutableList说
2022-03-04 14:23:46
1029
原创 DataBinding复习--DataBinding的使用(一)
文章目录一、用法1、注册,采用dataBinding2、修改布局文件3、实例话布局文件4、将数据绑定到布局文件中5、绑定布局变量与成员变量6、在布局文件中引用静态类7、实例代码地址一、用法1、注册,采用dataBindingandroid{ ... dataBinding{ enabled = true } ...}2、修改布局文件在布局外层加入标签<?xml version="1.0" encoding="utf-8"?><layo
2022-03-03 11:07:31
2344
原创 Java 反射
文章目录一、根据一个字符串得到一个类1、getClass2、Class. forName()3、class属性4、TYPE属性二、获取类成员1、获取类的构造函数2、获取类的某一个构造函数3、调用构造函数4、获取类的私有方法并调用它5、获取类的静态私有方法并调用6、获取类的私有字段并修改7、获取类的静态私有字段并修改三、对泛型反射四、参考代码一、根据一个字符串得到一个类1、getClass String a = "22222"; Class aClass = a.getClass(); //输出
2022-03-02 14:55:07
1764
原创 ViewPager嵌套不同的View
文章目录1、效果2、使用2.1 Activity的XML文件2.2 Activity文件2.3 PagerAdapter2.4 dot.xml文件(用作指示器)2.5 dot_normal.xml未选中状态2.6 dot_selected.xml选中状态3、Git地址1、效果2、使用2.1 Activity的XML文件<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.Constr
2022-02-23 15:02:41
644
原创 3、数据表的基本操作(修改,删除)
文章目录3、修改数据表3.1 修改表名3.2 修改字段的数据类型3.3 修改字段的名称3.4 添加字段3.4.1 添加无完整性约束条件的字段3.4.2 添加有完整性约束条件的字段3.4.3 在表的第一列增加一个字段3.4.4 在表的指定列之后添加一个字段3.5 删除字段3.6 修改字段的排列位置3.7 删除表的外健约束4、删除数据表4.1 删除没有被关联的表4.2 删除被其他表关联的主表3、修改数据表3.1 修改表名ALTER TABLE 旧表名 RENAME 新表名ALTER TABLE tb
2021-12-16 13:50:46
2110
原创 2、数据表的基本操作(创建,查看)
文章目录1、创建数据表1、创建数据表1.1、创建数据表语法2、使用主键约束3、使用外健约束4、使用非空约束5、使用唯一性约束6、使用默认约束7、设置属性值自动增加1、查看数据表1、修改数据表1、删除数据表1、创建数据表1、创建数据表1.1、创建数据表语法CREATE TABLE <表明>(字段名1 数据类型[列级别的约束条件] [默认值],字段名2 数据类型[列级别的约束条件] [默认值],...[表级别约束条件])2、使用主键约束3、使用外健约束4、使用非空约束
2021-12-14 16:40:44
1374
原创 1、数据库的基本操作(创建,删除数据库)
文章目录1、数据库基本操作1、查询数据库2、使用数据库3、查询数据库下的表2、创建数据库3、删除数据库1、数据库基本操作1、查询数据库SHOW DATABASES 2、使用数据库USE mysql 3、查询数据库下的表SHOW TABLES2、创建数据库CREATE DATABASE my_db3、删除数据库DROP DATABASE my_db...
2021-12-13 15:31:03
1108
原创 DSL element ‘android.dataBinding.enabled‘ is obsolete and has been replaced with ‘android.buildFeatu
DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding'.It will be removed in version 7.0 of the Android Gradle plugin.
2021-08-26 11:15:04
1017
原创 JetPack - WorkManager
文章目录一、WorkManager介绍二、WorkManager的3个重要特点三、WorkManager的兼容方案四、WorkManager的基本使用4.1、 添加依赖4.2、使用worker类定义任务4.3、使用WorkRequest配置任务4.3.1、设置任务触发条件4.3.2、将任务触发条件设置到WorkRequest4.3.3、设置延迟任务4.3.4、设置指数退避策略4.3.5、为任务设置TAG4.4、将任务提交给系统4.5、观察任务的状态4.6、取消任务4.7、WorkManager与Worker
2021-08-25 16:49:43
250
原创 JetPack-LiveData
文章目录一、LiveData简介二、LiveData与ViewModel关系三、LiveData的使用3.1、LiveData是一个抽象类,不能直接使用,通常我们使用它的子类MutableLiveData3.2、完成与ViewModel之间的通信四、LiveData的原理五、LiveData.ObserveForever()方法六、ViewModel+LiveData实现Fragment间通信6.1、实现效果6.2、编写MainActivity中的XML6.3、定义ViewModel 和LiveData6
2021-08-20 16:09:45
163
原创 JetPack-ViewModel
文章目录一、什么是ViewModel二、ViewModel的生命周期三、ViewModel的基本使用3.1、数据类继承ViewModel类3.2、Activity调用ViewModelProvider获取ViewModel数据四、ViewModel的基本原理五、ViewModel和AndroidViewModel六、ViewModel和onSaveInstanceState()方法一、什么是ViewModel 为了更好的将职能划分清楚(页面只负责处理用户与UI控件的交互,并将数据展示在屏幕上,与数据相
2021-08-18 15:40:35
184
原创 JetPack-Navigation(二)
文章目录一、使用safe args传递参数1.1 、常见的参数传递1.2、使用safe args传递参数二、NavigationUI的使用方法2.1、三、深层链接DeepLink一、使用safe args传递参数1.1 、常见的参数传递 //跳转到第二个Fragment mBtnToSecondFragment.setOnClickListener(new View.OnClickListener() { @Override publi
2021-08-17 17:20:27
254
原创 JetPack-Navigation(一)
文章目录一、Navigation介绍二、Navigation主要元素三、使用Navigation3.1、 创建Navigation Graph3.2、添加NavHostFragment3.3、创建destination3.4、Fragment页面切换3.5、使用NavController完成导航3.6、添加页面切换效果3.6.1、使用XML添加切换效果3.6.2、使用NavOptions对象添加切换效果一、Navigation介绍 项目中多使用单个Activity嵌套多个Fragment的UI架构模式
2021-08-09 16:00:45
141
原创 JetPack-LifeCycle
@[toc] LifeCycle一、LifeCycle简介在开发中我们对组件的管理需要依赖与页面的生命周期,有时候,我们不得不在系统组件(Activity/fragment/service/application)的生命周期回调方法中,主动对普通组件进行调用和控制,因为普通组件无法主动获取系统组件的生命周期。举个栗子:我们在Activity的onCreate()中初始化播放器,在onPause()中暂停播放器,在onStop()中停止播放器,在onDestory()中release播放器。多个页面使用播
2021-08-04 18:09:31
133
原创 爬虫库requests使用(2)高级使用
文章目录1、文件上传2、Cookies(cookies)3、会话维持(Session)4、SSL验证(verify)5、代理设置(proxies)6、超时设置(timeout)7、身份认证(auth)8、Prepared Request 上一篇我们记录了requests的GET、POST请求和Response,这篇我们记录requests库的一些高级用法,比如文件上传,Cookies设置,代理设置。1、文件上传import requestsmfile = {'file': open("D:\\f
2021-02-03 16:20:03
220
原创 爬虫库requests使用(1)基本使用
文章目录一、requests安装二、基本使用用例三、GET请求3.1、GET基本请求3.4、抓取二进制数据四、POST请求五、响应一、requests安装Github : https:github.com/requests/requests官方文档: http://www.python-requests.orgPyPI :https://pypi.python.org/pypi/requestspip安装pip install requestswheel安装安装wheel库pip in
2021-01-28 18:03:36
225
原创 爬虫库urllib使用(4)分析Robots协议
文章目录一、Robots协议二、爬虫名称三、robotparser一、Robots协议 Robots协议也称作爬虫协议,机器人协议,网络爬虫排除协议,用来告诉爬虫哪些页面是可以爬取的,哪些页面是不可爬取的。它通常是一个robots.txt的文本文件,一般放在网站的根目录上。 当爬虫访问一个站点的时候,会首先检查这个站点目录是否存在robots.txt文件,如果存在,搜索爬虫会根据其中定义的爬取范围进行爬取。如果没有找到这个文件,搜索爬虫会访问所有可直接访问的页面。User-agent:*Dis
2021-01-26 10:18:17
339
原创 爬虫库urllib使用(3) 解析链接
文章目录1、说明2、urlparse()3、urlunparse()4、urlspilt()5、urlunspilt()6、urljoin()1、说明 urllib库提供了parse模块, 它定义了处理url的标准接口,实现url各部分饿抽取,合并以及链接的转换。2、urlparse()实现URL的识别和分段from urllib.parse import urlparseresult = urlparse("http://wwww,baidu.com/index.html;user?id=5
2021-01-25 14:27:34
469
1
原创 爬虫库urllib使用(2) 处理异常
文章目录一、说明二、URLError三、HTTPError一、说明 在我们请求的过程中会遇到网络不好或者程序连接有问题的情况,如果这些异常不处理,程序可能会因为报错而终止运行。二、URLError URLError类来自于urllib库的error模块,是error异常模块中的基类,由request模块中的异常都可以通过这个类处理。from urllib import request,errortry: responde = request.urlopen("https://ww
2021-01-21 15:49:22
241
原创 爬虫库urllib使用(1)发送请求
文章目录一、官方地址二、urllib库说明三、发送请求3.1、urlopen()3.2、request()3.3、高级用法(1)、BaseHandler类(2)、验证(3)、代理(4)、Cookies一、官方地址https://docs.python.org/3/library/urllib.html二、urllib库说明urllib是Python内置的HTTP请求库,它主要包含4个模块request: 最基本的HTTP模块,用来模拟发送请求error:异常处理模块,如果出现请求错误,可以捕获
2021-01-19 18:08:08
868
原创 Windows下MYSQL的安装及脱坑
文章目录一、官网网址二、下载地址三、安装步骤四、坑位一、官网网址https://www.mysql.com/二、下载地址https://dev.mysql.com/downloads/mysql/三、安装步骤(1)、从下载页面选择自己对应的操作系统和需要的版本(这里步骤以Window为准)(2)、下周压缩包后,进行解压(3)、在mysql目录下,bin目录同级下,新建一个文件mysql.inimysql.ini中配置一些基础信息[client]# 设置mysql客户端默认字符集de
2021-01-11 15:01:50
164
3
原创 Kt学习笔记(10)函数
文章目录一、基本用法二、使用中缀标记法调用函数三、单表达式函数四、函数参数和返回值4.1、可变参数4.2、返回值类型一、基本用法 Kt函数必须使用fun关键字开头,后面紧跟函数名,以及一对小括号,小括号是函数参数列表,如果函数有返回值,在小括号后面加冒号,冒号后面是函数返回值类型。/** * 函数的标准定义 */fun double(x : Int) : Int{ retu...
2020-03-03 16:17:37
1273
原创 【小知识点】强大的SpannableString和SpannableStringBuilder
文章目录一、效果二、介绍2.1 应用场景2.2 介绍2.3 主要方法三、用法3.1 使用ForegroundColorSpan修改字体颜色3.2 使用ForegroundColorSpan修改字体颜色3.3 使用BackgroundColorSpan修改字体颜色3.4 使用AbsoluteSizeSpan修改字体颜色3.5 使用StyleSpan修改字体颜色3.6 使用Striketh...
2020-02-28 15:15:55
966
原创 Kt学习笔记(九)数据类、封闭类
文章目录一、使用数据类二、对象复制三、数据类成员的解构一、使用数据类 数据类是 Kotlin 的一个语法糖。 Kotlin 编译器会自动为数据类生成一些成员函数,以提高开发效率 如果在程序中使用数据库,或映射 JSON 数据,很可能会将查询结果集或 JSON 格式的数 据映射成 为对象,或将对象映射成为数据集或 JSON 格式的数据。无论是哪一种,我们总是需 要一个类来表示数据。例如,要...
2019-12-25 15:32:59
464
Android炫酷的Activity切换效果,共享元素
2017-03-08
Android动画之萌萌哒蜡烛吹蜡烛动画
2017-02-27
特殊的瀑布流,对大长图和大宽图做了对应优化
2017-01-16
YCVideoPlayer-master.zip
2019-09-29
Volley,Okhttp,Retrofit网络请求事例
2018-10-10
发布朋友圈添加图片
2018-09-12
Android视频播放器
2018-09-06
android查询并跟踪快递源码
2017-10-31
Android Support Library 22.2.0 中增加了 Design Support
2017-10-17
快速搭建APPUI架构
2017-09-09
androidannotations相关jar包(两个)
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人