- 博客(55)
- 资源 (50)
- 收藏
- 关注
原创 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 828
原创 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 2274
原创 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 1663
原创 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 533
原创 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 1997
原创 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 1268
原创 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 1009
原创 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 819
原创 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 178
原创 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 120
原创 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 129
原创 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 173
原创 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 91
原创 JetPack-LifeCycle
@[toc] LifeCycle一、LifeCycle简介在开发中我们对组件的管理需要依赖与页面的生命周期,有时候,我们不得不在系统组件(Activity/fragment/service/application)的生命周期回调方法中,主动对普通组件进行调用和控制,因为普通组件无法主动获取系统组件的生命周期。举个栗子:我们在Activity的onCreate()中初始化播放器,在onPause()中暂停播放器,在onStop()中停止播放器,在onDestory()中release播放器。多个页面使用播
2021-08-04 18:09:31 84
原创 爬虫库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 172
原创 爬虫库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 167
原创 爬虫库urllib使用(4)分析Robots协议
文章目录一、Robots协议二、爬虫名称三、robotparser一、Robots协议 Robots协议也称作爬虫协议,机器人协议,网络爬虫排除协议,用来告诉爬虫哪些页面是可以爬取的,哪些页面是不可爬取的。它通常是一个robots.txt的文本文件,一般放在网站的根目录上。 当爬虫访问一个站点的时候,会首先检查这个站点目录是否存在robots.txt文件,如果存在,搜索爬虫会根据其中定义的爬取范围进行爬取。如果没有找到这个文件,搜索爬虫会访问所有可直接访问的页面。User-agent:*Dis
2021-01-26 10:18:17 257
原创 爬虫库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 399 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 183
原创 爬虫库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 718
原创 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 127 3
原创 Kt学习笔记(10)函数
文章目录一、基本用法二、使用中缀标记法调用函数三、单表达式函数四、函数参数和返回值4.1、可变参数4.2、返回值类型一、基本用法 Kt函数必须使用fun关键字开头,后面紧跟函数名,以及一对小括号,小括号是函数参数列表,如果函数有返回值,在小括号后面加冒号,冒号后面是函数返回值类型。/** * 函数的标准定义 */fun double(x : Int) : Int{ retu...
2020-03-03 16:17:37 1098
原创 【小知识点】强大的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 855
原创 Kt学习笔记(九)数据类、封闭类
文章目录一、使用数据类二、对象复制三、数据类成员的解构一、使用数据类 数据类是 Kotlin 的一个语法糖。 Kotlin 编译器会自动为数据类生成一些成员函数,以提高开发效率 如果在程序中使用数据库,或映射 JSON 数据,很可能会将查询结果集或 JSON 格式的数 据映射成 为对象,或将对象映射成为数据集或 JSON 格式的数据。无论是哪一种,我们总是需 要一个类来表示数据。例如,要...
2019-12-25 15:32:59 389
原创 今天我们来写高逼格的if/else
文章目录一、实况概述二、最香的枚举三、高逼格的工厂模式四、高逼格的策略模式五、测试用例六、下载地址一、实况概述 对于多种判断,在代码中遇到的情况太多了,今天我们拿管理员权限举个????。 一般来说我们正常的后台管理系统都有所谓的角色概念,不同管理员权限是不一样的,能够行使的操作也不一样:系统管理员(ROLE_ROOT_ADMIN) :有A操作权限订单管理员(ROLE_ORDER_ADMI...
2019-12-24 14:32:59 350
原创 Kt学习笔记(八)枚举、扩展
文章目录一、枚举1.1枚举类的基本使用1.2为枚举值指定对应的数值1.3枚举类的其他用法一、枚举1.1枚举类的基本使用Kt 枚举类型以类的形式存在每一个枚举值都是一个对象, 多个枚举值用(",")分开enum class Direction{ NORTH,SOUTH,WEST,EAST}使用 //定义一个枚举类变量 var direction : Direc...
2019-12-10 16:29:03 416
原创 Kt学习笔记(七)接口、抽象类
文章目录一、接口二、抽象类一、接口kt中的接口和Java中的接口类似,使用interface关键字声明,一个类可以实现多个借口,实现的方法和类继承相同,而且,接口中的属性和方法都是open的/** * 定义MyInterface接口 */interface MyInterface{ fun process() fun getName() : String ...
2019-12-06 14:50:42 761
原创 Kt学习笔记(六)类的继承
文章目录一、Kt类如何继承二、重写方法三、重写属性一、Kt类如何继承与Java不同,Kt类的继承需要使用冒号(????,冒号后面需要调用父类的构造器kt和Java一样,都是单继承 ,只能有一个父类kt默认class是final的 也就是说默认不允许继承,需要显式使用open关键字允许继承classopen class Parent //需要使用open声明Parent类 ...
2019-12-06 14:09:51 1007
原创 Kt学习笔记(五)修饰符
修饰符 不指定修饰符, 默认的是publicKt中修饰符有四个:private protected internal publicprivate 仅仅在类的内部可以访问protected 在子类中可以访问internal 任何在模块内部类可以访问public 任何类都可以访问open class TestOuter //open 表明这个类是可继承的{ private...
2019-12-03 17:14:51 212
原创 Kt学习笔记(四)类成员
文章目录一、属性的基本用法二、属性的getter和setter形式三、保存属性值的字段四、函数4.1 普通函数写法4.2 可变参数kt类中成员:属性、函数、嵌套类一、属性的基本用法语法: var/val <propertyName> [:<propertyType>] [=<property_initializer>] [<g...
2019-12-02 18:18:55 389
原创 Kt学习笔记(三) 构造器
文章目录一、主构造器二、第二构造器三、单例四、默认参数一、主构造器在Kt中允许定义一个主构造器(primary constructor )和若干个第二构造器(secondary constructor)主构造器是类头的一部分,紧跟在类名后面,构造器参数是可选的class Person constructor (firstName : String){}如果主构造器没有任何注释...
2019-11-28 15:15:23 592
原创 Kt学习笔记(二) 控制流
文章目录一、if语句二、when语句三、for循环四、while do..while4.1 while 循环4.2 do..while 循环一、if语句 在Kt中,if语句本身就是表达式,有返回值 var a : Int = 20 var b = 30 var max : Int if(a < b) max = b var min : Int...
2019-11-27 17:20:56 271
原创 Kt学习笔记(一) 语法基础
文章目录一、基本语法1、1 定义变量1、2 定义方法1、3 注解的使用二、基本数据类型2、1数据类型2、2 字符类型2、3 Boolean类型一、基本语法1、1 定义变量在Kotlin中 数据类型要放在变量后面,并且用冒号(:)分割定义变量用var,常量用val在kotlin中,数据类型都以大写字母开头在定义变量时未进行初始化,必须指定数据类型,在定义变...
2019-11-20 18:55:58 2197
原创 RecyclerView实现的流式标签单选多选
文章目录一、实现效果二、前期准备三、使用方法3.1、多选的实现3.2、单选的实现一、实现效果单选效果:多选效果:二、前期准备依赖的添加: //瀑布流LayoutManager implementation 'com.google.android:flexbox:1.0.0' //RecyclerView implementation 'com.androi...
2019-11-19 16:01:28 1108
原创 快速集成一款超好用的VideoPlayer
文章目录1、使用效果2、Git链接与播放器说明3、Demo下载地址4、用法项目依赖Gradle依赖API接口XML使用Java代码块AndroidManifest注册声明周期的绑定PS说明:1、使用效果2、Git链接与播放器说明Git链接:点击跳转到GITHUB页面GitHub release api LicenseQSVideoView接口完善,功能丰富支持设置视频比例支持两...
2019-09-29 11:10:01 1827
原创 多线程编程(二)—— 同步
文章目录一、说明二、重入锁与条件对象三、同步方法四、同步代码块五、volatile 5.1、 JAVA内存模型 5.2、 原子性、可见性和有序性 5.3、 volatile关键字 5.4、 正确使用volatile关键字六、总结一、说明 上个博客讲了一些关于多线程的基础(定义,使用,中断),这篇博客讲线程的同步。在多线程的应用中,两个或者多个以上的线程需要共享对同一个数据的...
2019-06-04 10:24:55 151
原创 多线程编程(一)—— 线程基础
文章目录一、说明二、进程与线程(1)、什么是进程(2)、什么是线程(3)、为何要使用多线程三、线程的状态(6种)四、创建线程五、理解中断六、安全地终止线程一、说明 Android沿用了JAVA的线程模型,一个Android应用在创建的时候会开启一个线程,我们叫它主线程或者UI线程,如果我们想访问网络或者数据库等耗时操作时,都会开启子线程去处理,从Android3.0开始,系统要求网络访问必...
2019-05-29 15:36:30 219
原创 Camera使用(二)——自定义Camera
实现功能:1、通过SurfaceView进行摄像头的预览2、将拍照的照片存储到指定的位置3、拍照后的照片用ImageView显示出来activity_custom_camera.xml代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.c...
2019-05-27 09:57:56 261
原创 Camera使用(一)
目录一、Android调用系统相机二、Android调用系统相机获取拍摄图片三、Android调用系统相机缩略图四、全部代码一、Android调用系统相机通过隐式Intent启动系统相机: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //data获取到的图片的缩略图 sta...
2019-05-23 14:25:03 1027 1
原创 Socket编程基础(五)——通过Socket实现UDP编程
目录一、UDP简介二、实现基于UDOP的Socket通信—服务端三、实现基于UDP的Socket通信—客户端四、服务器响应客户端五、完整代码一、UDP简介 UDP协议(用户数据报协议)是无连接、不可靠、传输是无序的,特点就是:传输速度快。 进行数据传输时,首先需要将要传输的数据定义成数据报(Datagram),在数据报中指明数据所要达到的Socket(主机地址和端口号),然后...
2019-05-14 16:03:23 4532
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关注的人