自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JAVE_LOVER

爱好编程,专注于Android移动开发

  • 博客(92)
  • 资源 (11)
  • 收藏
  • 关注

原创 AS Gradle 8.0 配置 + Realm 使用

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建开源工具。它使用一种基于 Groovy 的特定领域语言 (DSL) 来声明项目设置,也增加了基于 Kotlin 语言的 kotlin-based DSL。查看版本路径:Gradle版本。

2023-05-02 17:50:15 2714

原创 Git学习系列博客全目录

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40031567Git主要特点1、速度:Git在本地上保存着所有当前项目的版本和更新,并且Git中的绝大多数操作都在本地,无需连网,所以处理起来速度。2、简单的设计:Git的实现与项目复杂度无关,它永远可以在几毫秒的时间内完成分支的创建和切换。3、完全分布式模式:每个人电脑上都有一个完整的版本库,而且它支持离线工作(大部分操作都是本地执行),本地提交可以稍后提交到服务器上。4、对非线性开发模式

2015-05-26 16:29:56 1468

原创 Java学习系列博客全目录

截止目前,Java系列教程已更新完毕。内容覆盖了:JavaSE基本知识点、UML建模、单元测试等。希望对想学习Java语言的朋友能够提供帮助。在编写的过程中,难免会出现一些错误,希望大家能多多提些意见。由于本书都是从笔者CSDN博客中摘抄过来的,基本没有经过什么正规的校验,所以难免会出现一些不对的地方。欢迎各位大牛对本书提出批评。作者博客:h

2015-05-08 23:22:13 2013 1

原创 Java设计模式博客全目录

今天来对这23种设计模式做个总结。咱使用设计模式的目的是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,当然设计模式并不是万能的,项目中的实际问题还有具体分析。咱不能为了使用设计模式而使用,而是在分析问题的过程中,想到使用某种设计模式能达到咱需要的效果,而且比不使用设计模式更有优势,那么咱该考虑使用设计模式了。

2014-10-13 02:04:52 5498 5

原创 Jetpack系列之CameraX 相机

CameraX 是Jetpack的相机组件,具有强大的参数支持和兼容性,可以实现视频拍摄、预览等操作,且API简单易用。// cameraX。

2023-03-24 02:19:09 788

原创 Jetpack系列之WorkManager 任务管理

WorkManager 概述:WorkManager 可以自动维护后台链式任务的执行时机、执行状态。WorkManager 一般用于多文件上传,复杂计算,多流程控制等。Data的优势: 1)一组持久的键(字符串)/ 值(字符串、基本元素或其数组变量)对,用作ListenableWorkers的输入和输出;2)有效负载的串行化(字节数组)大小限制10KB;3)支持序列化和反序列化持久操作,更轻量级(轻量级HashMap)。// 同时执行A(先)->B(后)、C(先)->D(后), 最后执行E。

2023-03-22 22:47:39 241

原创 Jetpack系列之Paging2.0 分页加载

Paging是Jetpack中的一个数据分页加载组件,核心成员有 DataSource, PagedList, PagedListAdapter。// 下拉刷新// paging分页(可选 2.1.1)

2023-03-22 22:36:27 627

原创 Jetpack系列之DataBinding数据双向绑定

DataBinding是Jetpack中实现数据双向绑定的组件。android {...// 开启 dataBinding。

2023-03-21 23:31:35 438

原创 Jetpack系列之Room 数据库

Room:准确的说,Room是Jetpack 基于Sqlite开发的数据库组件,好处就是基于简单的注释来实现Sqlite中的许多繁琐的定义和操作,同时也可结合LiveData消息订阅数据变更。

2023-03-21 22:57:36 175

原创 Jetpack系列之Navigation页面路由

Navigation 一般用做APP页面路由,通过它可以管理各 fragment 间的跳转.....

2023-03-21 19:38:54 377 1

原创 Android ANR 处理

首先sharedPreferences的commit方法是同步的,apply方法一般是异步执行的,所以主线程不要用其commit,用apply替换。首先这会比较耗时,另外这个操作provider那一方的进程如果挂了或者正在启动,我们应用的query就会很长时间不会返回,我们应该在其他线程中执行query、provider的query等获取数据的操作;,在一些同步的操作主线程有可能被锁,需要等待其他线程释放对应锁才能继续执行,这样会有一定的anr风险,对于这种情况有时也可用异步线程来执行对应的业务逻辑。

2022-12-09 17:17:51 1189

原创 Jetpack系列之LiveData详解

LiveData is a data holder class that can be observed within a given lifecycle. This means that an Observer can be added in a pair with a LifecycleOwner, and this observer will be notified about modifications of the wrapped data only if the paired Lifecycle

2022-12-08 01:50:24 455

原创 Jetpack系列之ViewModel详解

jetpack系列

2022-12-05 18:45:21 450

原创 Android学习系列(四)AS gradle3.0+ so库的生成及使用

前言NDK(Native Developerment Kit)提供了一系列的工具,咱们可以用它来将c/c++代码打包成so(c/c++函数库)文件。这样做的好处是保护代码(反编译难度大),提供程序的执行效率(c代码),并且能够移植到其它平台上。JNI(Java Native Interface)提供了一些API实现了Java与其它语言(如: c/c++)的通信,咱们可以通过这些API使java方法

2018-01-15 16:32:07 1690

原创 Android学习系列(三)四大组件之Service详解

Service概述Service作为Android四大组件中的一员,有着非常重要的地位。它没有交互界面,一般用于长期运行在后台来处理一些比较耗时的操作和为其他应用提供服务接口,如消息推送、音乐播放、定位服务、后台数据同步、长连接(如:蓝牙、IM)的数据收发及连接状态变化等。Service分为本地服务和远程服务,本地服务运行在主进程的主线程中,而远程服务则运行在独立进程的主线程中。当然如果在服务

2016-04-04 20:08:52 1438

原创 SQLite应用详解

SQLite是D.Richard Hipp用C语言编写的开源嵌入式引擎,它可以在所有主要的操作系统上运行。值得一提的是,袖珍型的SQLite竟然可以支持高达2TB大小的数据库,每个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。在事务处理方面,SQLite通过数据库级上的独立性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库中读取数据,但只有一个可以写入数据,而在某个进程或线程想数据库执行写操作之前,必须获得独占锁; 在数据类型方面,SQLite采

2015-05-18 18:56:04 3224

原创 全面掌握Mysql知识点及select支持的运算操作

花了2天时间整理了一下Mysql中的常用命令及select支持的运算操作,希望这篇博客对大家有所帮助。内容提纲1、登录mysql2、查看mysql信息3、查看所有数据库4、打开指定数据库5、李处指定数据库中的所有表6、查看指定表的结构7、查看建表语句8、建库建表9、修改指定表结构10、查看数据库的编码方式11、DML语句(CRUD)操作12、注释方式13、表数据的导入导出14、数据库的导入导出15、视图View16、索引index17、存储过程Procedure18、事

2015-05-16 17:54:19 2417 1

原创 Java代码优化系列(一)开篇立碑

在开篇之前,先补充一下《Java学习系列》里面的instanceof关键字的使用及其陷阱。简要说明:instanceof是一个简单的二元操作符,它是用来判断一个对象是否为一个类的实例。只要instanceof左右操作数有继承或实现的关系,程序都是可以编译通过的。下面通过一个简单实例来说明一下instanceof关键字的使用及其陷阱:class A<T> { public boolean isDateInstance(T t) { return t instanceof Date; }}

2015-05-06 02:04:42 2105

原创 Java学习系列(二十四)Java正则表达式详解

正则表达式可以说是用来处理字符串的一把利器,它是一个专门匹配n个字符串的字符串模板,本质是查找和替换。在实例演示之前先了解一下Pattern、Matcher这两个工具类,Pattern:编译好的带匹配的模板(如:Pattern.compile("[a-z]{2}");/ / 取2个小写字母);Matcher:匹配目标字符串后产生的结果(如:pattern.matcher("目标字符串");)。字符串还有一个自带的matches方法用来判断目标字符串是否匹配给定的正则表达式,格式为:targetStr.mat

2015-05-05 17:22:00 8034 2

原创 Java学习系列(二十三)Java面向对象之内部类详解

一、前言内部类也称寄生类,就是把一个类放在类里面(即内部类的上一级程序单元是类)定义,将其作为外部类的成员。内部类主要用几种定义形式:静态(static)内部类,非静态内部类,匿名内部类(也就是没有名字的寄生类)。内部类的好处就是内部类可以直接外部类的(包括私有)成员,反之不能。下面我们通过一些实例来详细讲解一下Java中内部类的使用及几种定义形式的相互调用。二、实例说明(1)匿名内部

2015-04-29 23:53:41 1375

原创 Java学习系列(二十二)Java面向对象之枚举详解

今天我们来讲讲枚举,希望通过这篇博客大家能对枚举有个更全面的了解。枚举是一种实例(大写)数固定的类(不能再创建实例),枚举改变了常量的声明方式,而且它在编译期间就限定了类型。枚举多用于确定的状态数(如:鼠标上下左右、IM消息已读未读)、类型数(如:系统、聊天、添加好友消息,我的他的)、模式数(回复、评论模式,刷选、全部模式)等等。枚举和类一样,同样有抽象类、可以实现接口、可含内部类、初始化块,值得注意的是:枚举的构造器无论是否使用private修饰,默认总是被private修饰;当然,枚举变量也可以在swi

2015-04-28 10:39:23 1971 2

原创 Java学习系列(二十一)Java面向对象之注解详解

一、前言Java中的注解Annotation运用到很多方面,比如之前讲的单元测试中的@Test、Spring、SpringMVC还有其他框架等等。Java本身自带的注解也有一些,比如:@Override(子类要重写/覆写父类的对应方法)、@Deprecated(表示方法不建议被使用)、@SuppressWarnings(抑制警告)等等。当然,我们也可以自定义一些自己需要的注解(通常可以加在包,

2015-04-27 01:31:51 2327

原创 Java学习系列(二十)Java面向对象之反射详解

前言今天讲讲Java中的反射。我们常见的反射多用于JDBC中的加载驱动程序Class.forName("com.mysql.jdbc.Driver");、Struts的MVC、Hibernate中的ORM、Spring中的IOC还有一些其他框架等等。那它有什么好处呢?它的好处就是能够动态的创建对象和编译且能够访问某个类中的所有(包括私有)属性方法及对象的属性方法并进行调用,比较灵活,这样也有利

2015-04-26 18:46:31 1506

原创 基于Junit3.8和Junit4.x的单元测试详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40028509前言好久没有写来CSDN写博客了,前段时间一直在加班赶项目,所以博客一直没有更新;现在空闲时间比较多,所以后面会长期更新博客。今天来复习一下单元测试基于Junit工具的使用。Junit3.8与Junit4.x的使用还是有些区别的,所以分开来讲,但不管怎样,单元测

2015-04-26 02:14:10 4606

原创 Java设计模式菜鸟系列(二十三)访问者模式建模与实现

访问者模式(Visitor):把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定而算法又容易变化的系统。访问者模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者;而它的缺点就是增加新的数据结构很困难。访问者模式就是一种分离对象数据结构与行为的方法,通过这种分离,可达到为一个被访问者动态添加新的操作而无需做其它的修改的效果。

2014-10-13 00:36:28 2776

原创 Java设计模式菜鸟系列(二十二)中介者模式建模与实现

中介者模式(Mediator):主要用来降低类与类之间的耦合的,因为如果类与类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。中介者模式只需关心和Mediator类的关系,具体类与类之间的关系及调用交给Mediator就行。

2014-10-13 00:02:13 2448

原创 Java设计模式菜鸟系列(二十一)享元模式建模与实现

享元模式(Flyweight):运用共享的技术有效地支持大量细粒度的对象。主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销。在某种程度上,你可以把单例看成是享元的一种特例。享元与单例的区别:1、与单例模式不同,享元模式是一个类可以有很多对象(共享一组对象集合),而单例是一个类仅一个对象;2、它们的目的也不一样,享元模式是为了节约内存空间,提升程序性能(避免大量的new操作),而单例模式则主要是共享单个对象的状态及特征。

2014-10-12 22:27:53 2442

原创 Java设计模式菜鸟系列(二十)解释器模式建模与实现

解释器模式(Interpreter):它定义了对象与对象之间进行某种操作之后会得到什么值。一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。解释器模式用来做各种各样的解释器,如正则表达式的解释器等等。

2014-10-12 17:17:29 2290

原创 Java设计模式菜鸟系列(十九)备忘录模式建模与实现

备忘录模式(Memento): 主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象。Memento设计模式用来备份一个对象的当前状态,当需要的时候,用这个备份来恢复这个对象在某一个时刻的状态。

2014-10-12 16:21:25 3126

原创 Java设计模式菜鸟系列(十八)责任链模式建模与实现

责任链模式(ChainOfResponsibility): 有多个对象,每个对象持有下一个对象的引用,形成一条链,请求在这条链上传递,直到某一对象决定处理该请求,但是发出者并不清楚最终哪个对象会处理该请求。1、责任链模式可以实现,在隐瞒客户端(不知道具体处理的人是谁)的情况下,对系统进行动态的调整。2、链接上的请求可以是一条链,可以是一个树,还可以是一个环,模式本身不约束这个,需要自己去实现,同时,在一个时刻,命令只允许由一个对象传给另一个对象,而不允许传给多个对象。

2014-10-12 15:16:47 2350

原创 Java设计模式菜鸟系列(十七)桥接模式建模与实现

桥接模式(Bridge): 把事物和其具体实现分开(抽象化与实现化解耦),使他们可以各自独立的变化。假设你的电脑是双系统(WinXP、Win7),而且都安装了mysql、oracle、sqlserver、DB2这4种数据库,那么你有2*4种选择去连接数据库。按平常的写法,咱要写2*4个类,但是使用了桥接模式,你只需写2+4个类,可以看出桥接模式其实就是一种将N*M转化成N+M组合的思想。

2014-10-12 01:20:27 2758

原创 Java设计模式菜鸟系列(十六)原型模式建模与实现

原型模式(Prototype):该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。而这里的复制有两种:浅复制、深复制。浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了完全彻底的复制,而浅复制不彻底。1、浅复制的核心是super.clone(),它调用的是Object的clone()方法,而在Object类中,clone

2014-10-11 17:45:36 2376

原创 Java设计模式菜鸟系列(十五)建造者模式建模与实现

建造者模式(Builder):工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理。简单起见,就拿之前的工厂方法模式进行修改一下就可以得到建造者模式。建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。所以与工厂模式的区别就是:工厂模式关注的是创建单个产品,而建造者模式则关注创建复合对象,多个部分。

2014-10-07 23:32:39 4094

原创 Java设计模式菜鸟系列(十四)代理模式建模与实现

代理模式(Composite):代理模式其实就是多一个代理类出来,替原对象进行一些操作。比如咱有的时候打官司需要请律师,因为律师在法律方面有专长,可以替咱进行操作表达咱的想法,这就是代理的意思。代理模式分为两类:1、静态代理(不使用jdk里面的方法);2、动态代理(使用jdk里面的InvocationHandler和Proxy)。下面请看示例:

2014-10-07 19:41:42 6051 2

原创 Java设计模式菜鸟系列(十三)状态模式建模与实现

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39828653状态模式(State):允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。状态模式说白了就是一个对像有不同的状态,不同的状态对应不同的行为,它其实是对switch case这样的语句的拓展。封装基类状态的行为,并将行为委托到当前状态。

2014-10-06 17:22:30 2556

原创 Java设计模式菜鸟系列(十二)组合模式建模与实现

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39828653组合模式(Composite):组合模式有时又叫部分-整体模式,将对象组合成树形结构来表示“部分-整体”层次结构。组合模式在处理树形结构的问题时比较方便。

2014-10-06 16:11:42 3430 3

原创 Java设计模式菜鸟系列(十一)迭代器模式建模与实现

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39807741迭代器模式(Iterator):提供了一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。迭代器模式就是顺序访问集合中的对象,这句话包含两层意思:一是需要遍历的对象,即集合对象,二是迭代器对象,用于对集合对象进行遍历访问。

2014-10-06 14:28:48 2818 2

原创 Java设计模式菜鸟系列(十)模板方法模式建模与实现

模板方法模式(Template Method):在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以再不改变算法结构的情况下,重新定义算法中的某些步骤。简而言之:模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。模板方法模式:一个抽象类中,有一个主方法,再定义1...n个方法,可以抽象,可以不抽象,定义子类继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用。

2014-10-05 21:47:34 3084

原创 Java设计模式菜鸟系列(九)外观模式建模与实现

外观模式(Facade):是为了解决类与类之间的依赖关系的,像spring一样,可以将类与类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类与类之间的耦合度,该模式中没有涉及到接口。

2014-10-05 20:46:52 3088

原创 Java设计模式菜鸟系列(八)适配器模式建模与实现

适配器模式(Adapter):将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。1、类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。2、对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Adapter类,持有原类的一个实例,在Adapter类的方法中,调用实例的方法就行。3、

2014-10-05 19:52:51 3971

Git学习系列基础教程

Git学习系列基础教程,博客地址:http://blog.csdn.net/lhy_ycu/article/details/20574453

2015-05-19

Java设计模式菜鸟系列教程

博客原地址:http://blog.csdn.net/lhy_ycu/article/details/40031567

2015-05-19

sqlite3可执行工具、驱动、分析器、客户端工具

sqlite3可执行工具、驱动、分析器、客户端工具

2015-05-18

Java基础教程完整版

截止目前,该系列教程已更新完毕。内容覆盖了:JavaSE基本知识点、UML建模、单元测试等。希望对想学习Java语言的朋友能够提供帮助。

2015-05-08

安卓framework源码

安卓framework源码,Android framework层源码~

2014-10-15

观察者模式相关

观察者 Observer 模式定义:在对象之间定义了一对多的依赖关系 这样一来 当一个对象改变状态时 依赖它的对象都会收到通知并自动跟新 Java已经提供了对观察者Observer模式的默认实现 Java对观察者模式的支持主要体现在Observable类和Observer接口 ">观察者 Observer 模式定义:在对象之间定义了一对多的依赖关系 这样一来 当一个对象改变状态时 依赖它的对象都会收到通知并自动跟新 Java已经提供了对观察者Observer模式的默认实现 Java对观察者模式的支持主要体现在Obs [更多]

2014-10-03

策略模式相关

策略模式让用户可以选择执行一个动作的方法,也就是说,用户可以选择不同的策略来进行操作。个人觉得策略模式可以用这个公式:不同的XXX 拥有不同的XXX供用户选择。比如说:不同的象棋棋子拥有不同的走法供用户选择。

2014-10-01

LinearLayout的3种实现方式

LinearLayout的3种实现方式:xml配置布局、代码动态实现,自定义实现。

2014-09-28

JavaSE基础教程

本电子书涵盖了java基础大部分内容。在编写的过程中,难免会出现一些错误,希望大家能多多提些意见。由于本书都是从笔者CSDN博客中摘抄过来的,基本没有经过什么正规的校验,所以难免会出现一些不对的地方。欢迎各位大牛对本书提出批评。

2014-03-09

计算机网络实验大全

非常齐全的计算机网络实验,值得你拥有~亲,还在等什么呢

2013-12-01

链式二叉树三种遍历

【先序遍历】:先访问根节点,然后先序遍历左子树,再先序遍历右子树! 【中序遍历】:中序遍历左子树,然后访问根节点,再中序遍历右子树! 【后序遍历】:后序遍历左子树,然后后序遍历右子树,再访问根节点!

2013-08-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除