- 博客(62)
- 资源 (2)
- 收藏
- 关注

原创 Gilde框架的使用(未完待续)和glide-transformations(图形变换)
Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。基本使用:● 添加依赖:dependencies { compile 'com.github.bumptech.glide:glide:3.7.0'}● Glide中需要用到网络功能,因此你还得在AndroidManifest.xml...
2019-10-09 23:16:04
777

原创 解析JSON数据之GSON
GSON可以将一段JSON格式的数据 ==自动映射 ==》成一个对象(或对象数组)(Json:{}表示一个JSONObject对象,[]表示JSONArray数组(其元素就是一个JSONObject对象))使用GSON:1. 在app/build.gradle文件中,的dependencies闭包添加:implementation 'com.google.code.gson:gso...
2019-09-08 23:53:23
233

原创 解析JSON数据之JSONObject
JSON 数组是在JSON对象中延伸出来的,多个JSONObject对象就是一个JSONArray,数据之间由逗号分隔,花括号{}保存对象,方括号[]保存数组。[]一个数组JSONArray,里面可有多个{}元素JSONObject对象,每个元素JSONObject又有若干字段属性("Key":"Value")JSON数组语法规则JSONArray 最外层是“[”和“]”包裹起来的:如...
2019-09-08 11:37:52
924

原创 网络数据(XML)解析方法之SAX解析
在网络上传输数据最常用的格式有Json、XML。这里介绍是XML数据的解析之SAX解析,还有一个Pull解析也常用。SAX解析和Pull解析区别:sax解析:自动获取下一个节点,直到xml数据结束位置pull解析:需要手动设置循环,借助next()直到文件结束private void sendRequestWithOKHTTP() { new Thread(new...
2019-09-07 20:04:04
259

原创 网络数据(XML)解析方法之Pull解析
在网络上传输数据最常用的格式有Json、XML。这里介绍是XML数据的解析之Pull解析,还有一个SAX解析也常用SAX解析和Pull解析区别:sax解析:自动获取下一个节点,直到xml数据结束位置pull解析:需要手动设置循环,借助next()直到文件结束准备工作:搭建一个Apache服务器(安装自行百度),在安装/解压Apache的目录:Apache/htdocs下,新建一...
2019-09-07 10:34:15
423

原创 OkHttp简单使用
发送http请求,原生的是使用HttpURLConnection,但一般开发首选的是开源的网络通信库,如OKHttp。OKHttp的开源地址:https://github.com/square/okhttp.下面是OKHttp简单使用,更过详细请移步OKHttp官方网站.① 首先,在app/build.gradle文件的dependencies{}中添加,如下依赖:im...
2019-09-06 11:01:57
343

原创 git基础(版本控制)
基本的命令:1. 打开GitBash,进入需要操作的项目project的主目录2. 创建代码仓库:git init(创建好代码仓库后,此项目的根目录下,会生成一个隐藏的.git文件夹:记录本地所有的git操作 如果要删除本地仓库,删除此隐藏的.git文件夹即可)3. 提交代码到代码仓库: ● git add 目录或文件 //把待提交的目录或文...
2019-07-18 00:44:59
161
原创 java面试题笔记之HashMap排序
注:此题答案源于网络的面试宝典,只是看到记录一下已知一个HashMap<Integer,User>集合,User有name(String)和age(int)属性,请写一个方法实现对HashMap的排序功能,该方法形参为HashMap<Integer,User>,返回类型为HashMap<Integer,User>,要求:根据HashMap中的User的age...
2020-04-28 22:13:56
666
原创 js时间格式化(以及显示NaN问题)
js格式化时间为yyyy-MM-dd HH:mm:ss: //在Jquery里格式化Date日期时间数据 function timeStamp2String(time){ var datetime = new Date(); datetime.setTime(time); var year = datetime.getFullYe...
2020-01-02 17:35:52
7885
1
原创 MySQL获取当天、昨天、前天、前n天 内 或 当天内 数据
注意:前N天当天内指的是仅仅那一天内的,前N天内指的是1 2 3 ... n这几天所有的数据,可自行检验 今天(前0天)当天的数据 select * from 表名 where TO_DAYS(表中的时间字段) = TO_DAYS(NOW())或SELECT * FROM 表名 WHERE ( TO_DAYS( NOW( ) ) - TO_DAYS( 表中的时间字段) )...
2019-12-31 16:27:14
2402
原创 spring学习之控制反转(IOC)
01 控制反转(IOC)⼯⼚就是负责给我们从容器中获取指定对象的类。这时候我们获取对象的⽅式发⽣了改变。 Spring就是 我们的⼯⼚⻆⾊以前: 我们在获取对象时,都是采⽤new的⽅式。是主动的。现在: 我们获取对象时,同时跟⼯⼚要,有⼯⼚为我们查找或者创建对象。是被动的。这种被动接收的⽅式获取对象的思想就是 ==》控制反转,它是spring框架的核⼼之⼀。...
2019-12-20 09:22:31
217
原创 spring学习之spring概述和体系结构
Table of Contents01. Spring概述1.1 spring的优势1.2 spring的体系结构01. Spring概述Spring是⼀个开源框架,Spring是于2003 年兴起的⼀个轻量级的Java 开发框架,由Rod Johnson 在其 著作Expert One-On-One J2EE Development and Design中阐述的部分理...
2019-12-19 22:29:36
287
原创 Mybatis学习之注解开发
Table of ContentsTable of Contents前言:1、java 注解简介2、注解与xml取舍 3、mybatis 注解 3.1、SQL语句映射 3.2、结果集映射 3.3、关系映射4、最后在mybatis配置文件配置映射器:前言:之前将映射器Mapper时,提到实现的方法有 XML映射+接口...
2019-12-19 16:22:18
233
原创 MyBatis学习之延迟(懒)加载、缓存
Table of Contents01 延迟加载(懒加载) 1.1 什么是延迟加载? 1.2 实现需求 1.3 使⽤assocation实现延迟加载 1.3.1 账户的持久层DAO接⼝ 1.3.2 账户的持久层映射⽂件 1.3.3 ⽤户的持久层接⼝和映射⽂件 1.3.4 开启Mybati...
2019-12-19 15:42:18
275
原创 MyBatis学习之关联(集合)映射:嵌套查询/结果
Table of Contents01结果映射(resultMap):集合(关联)映射 1.1 代码示例 1.2 resultMap元素及属性说明02 关联映射(association) 2.1关联的嵌套 Select 查询 2.2 关联的嵌套结果03 集合映射(collection) 3.1集合的嵌套 Sele...
2019-12-19 11:04:16
2705
1
原创 MyBatis学习之多表查询(XML方式)(延迟/懒加载)
Table of ContentsMybatis 多表查询●表之间的关系有⼏种: ⼀对多 ,多对⼀, ⼀对⼀, 多对多01 ⼀对⼀ 1.1SQL脚本: 1.2实体类 1.3 映射接口: 1.4 xml映射文件: 1.5 最后配置XML映射文件 1.6 创建测试类: 1.7 小结:02 一对多 2...
2019-12-16 23:20:43
584
原创 MyBatis学习之映射器Mapper(结果映射以及解决列名不一致)
Table of Contents结果映射:(resultMap,resultType) 1.resultType配置结果类型 2. resultMap结果类型 3. 小结:都可以解决实体类属性 和 数据库表的列名不匹配 情况结果映射:(resultMap,resultType)resultMap元素是 MyBatis 中最重要最强大的元...
2019-12-16 15:11:01
804
原创 MyBatis学习之映射器Mapper(接口映射器+xml映射文件)
Table of Contents01 MyBatis映射器:1.1 接口映射器+xml映射器1.2 接口映射器+注解02 接口映射器+xml映射器 方式2.1 mybatis配置文件 引入映射器:2.2 XML映射文件 的几个顶级元素:2.2.1select元素 以及Select 元素的属性2.2.2insert, update 和 delete元素...
2019-12-13 17:14:53
9559
4
原创 MyBatis之XML配置
Table of ContentsTable of Contents01.XML配置官方文档:https://mybatis.org/mybatis-3/zh/configuration.html02.XML配置文件结构2.1 配置文件的层次结构如下:2.2properties(属性)2.3settings(设置)2.4typeAliases(类型别名)2.5...
2019-12-05 21:09:58
312
原创 MyBatis之原理和快速入门学习
Table of ContentsMyBatis官网:https://mybatis.org/mybatis-3/zh/index.html01.什么是 MyBatis?1.1 mybatis介绍1.2传统的jdbc问题1.3 mybatis原理02.MyBatis快速入门案例(XML方式,注解后面再做笔记)2.1 在pom.xml添加依赖:2.2创建实体...
2019-12-04 23:35:38
335
原创 设计模式之观察者模式(Observer Pattern)
观察者模式(Observer Pattern)当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和...
2019-12-04 19:41:54
228
原创 使用IntelliJ IDEA软件创建maven项目
01.安装IntelliJ IDEA略。。。(自行百度)02.idea配置Tomcat略。。。(自行百度)03.idea配置maven打开>File->Settings->Build,Execution,Deployment->Build Tools->Maven 配置maven04.idea创建maven项目...
2019-12-03 21:12:56
169
原创 maven框架
Table of ContentsMaven:01.什么是Maven?1.1Maven的两个经典作用1.1.1 Maven的依赖管理1.1.2 项⽬的⼀键构建02.Maven的安装2.1官⽹去下载它的安装软件2.2Maven的配置2.3Maven软件版本测试03.Maven仓库3.1Maven仓库的分类3.2Maven本地仓库的配置04.M...
2019-12-03 20:47:59
1523
原创 Navicat中创建外键点击保存却自动变成了索引
今天做Mybatis的多表查询练习时(一对一、一对多、多对多),需要在某个表添加外键做关联时,用Navicat创建外键时,点击保存却不见成功,转存为SQL文件,发现变成了创建索引Caption出现这个原因,是因为自己创建表时,忘记设置表的引擎类型了,默认为:MyISAM了,然后修改为InnoDB就可以了Caption所以用Navicat创建表时,记得选择 “选项”-&...
2019-11-29 17:14:33
2525
原创 常见算法之素数/质数(java)
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;Java代码实现:在一般领域,对正整数n,如果用2到之间的所有整数去除,均无法整除,则n为质数。质数大于等于2 不能被它本身和1以外的数整除 public static boolean testIsPrime3(int n){ if (n < 2) { ...
2019-10-22 14:50:36
350
原创 常见算法之典型数组处理(java)
数组中最大元素:double max = a[0]; //假设第一个最大for( int i=1;i<a.length; i++){ if( a[i] > max ) max = a[i]; }计算数组的平均值:int N = a.length;double sum = 0.0;for (int i = 0; i<N; i++){ ...
2019-10-22 14:28:58
252
原创 设计模式之代理模式(Proxy Pattern)
代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操...
2019-10-16 17:35:28
155
原创 设计模式之建造者模式(Builder Pattern)
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个...
2019-10-16 17:06:07
171
原创 设计模式之单例模式(Singleton Pattern)几种常用实现方式
单例模式(Singleton Pattern)单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例...
2019-10-16 14:33:02
259
原创 设计模式之工厂模式(Factory Pattern)
工厂模式(Factory Pattern)工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类...
2019-10-15 22:18:51
315
原创 设计模式之介绍/23类型/6大原则
设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可...
2019-10-15 21:44:22
214
原创 创建定时后台(服务Service)任务(Android Alarm机制)和Doze模式
Android中的定时任务一般两种实现方式,一种是Java的Timer类,一种是Android的Alarm机制。不过Timer类不适合长期在后台运行的定时任务。因为手机都有休眠机制,长期不使用手机CPU会进入睡眠状态,而Timer类没有唤醒CPU的功能,而Alarm有。Android Alarm机制:Alarm机制用法,借助的是AlarmManager类。和NotificationMana...
2019-09-19 19:18:33
836
原创 定制日志工具:自由地控制日志的打印
写一个项目,为了方便测试,很多地方都会打印大量的日志。但是,开发期间打印出来当然方便,但是项目上线后还是会打印就会影响运行和泄露数据,删除日志打印语句嘛有麻烦而且回头维护时还是需要这些日志。所以为了能自由控制,开发时打印,上线后不打印 做法就是定制自己的日志工具。① 新建一个类LogUtil:public class LogUtil { public static final...
2019-09-19 15:19:49
218
原创 使得Intent可以传递对象(方法:Serializable序列化 和 Parcelable)
Intent可以用于启动活动、发送广播、启动服务等等,还可以在Intent添加一些数据,以达到传值的效果传递常见数据类型的数据(如int,String):(这里仅仅假设在Activity1,传递到Activity2)① Intent. putExtra( "Key" ,value),添加要传递的数据 (Activity1中)Intent intent = new Intent(A...
2019-09-18 23:56:02
394
原创 任意地方获取Context的技巧
有时候,并不是所有逻辑操作都在Activity(活动也是Context对象),所以当刚好要使用Context时(如,请求网络失败后用Toast提示,就需要Context对象),又不在Activity中,这么办了?任意地方获取Context的技巧:Android提供了一个Application类,每当应用程序启动时,系统都会自动的将这个类进行初始化。所以方法就是自己写一个新类继承Applic...
2019-09-18 17:23:47
342
原创 Android Material Design之下拉刷新(SwipeRefreshLayout)
SwipeRefreshLayout是实现下拉刷新功能的核心类(布局),①只要将 需要下拉刷新功能的控件,嵌入到SwipeRefreshLayout作为子控件即可(如RecyclerView需要下拉刷新功能,只需将RecyclerView添加到SwipeRefreshLayout布局里面即可),②最后具体的下拉刷新功能,要刷新什么,就在对应的Activity中实现了。①将 需要下拉刷新功...
2019-09-18 15:33:38
359
原创 Android Material Design之AppBarLayout:可以解决RecyclerView遮挡Toolbar
假如,当RecyclerView遮挡屏幕顶部的Toolbar时,解决方法:①一般解决就是使用偏移,将RecyclerView向下偏移一个Toolbar高度即可。②不过,Design support 提供的一个控件:AppBarLayout 也可以解决此问题。而且还可以实现ToolBar需要时就出现,不需要时就隐藏(因为AppBarLayout 内部做了很多滚动事件的封装)。AppBar...
2019-09-18 15:06:20
895
原创 Android Material Design 之悬浮按钮FloatingActionButton、提示工具SnackBar、CoordinatorLayout布局
悬浮按钮FloatingActionButton和提示工具SnackBar是Design Support提供的控件。悬浮按钮FloatingActionButton及其点击事件:悬浮按钮FloatingActionButton是不属于主界面平面上的控件,而是位于另一个维度,好像三维坐标上的Z轴。设置它的app:elevation=""可以设置悬浮高度,值越大,悬浮高,投影大。同时也有...
2019-09-18 14:14:09
630
原创 Android Material Design 之滑动菜单(之NavigationView)
在这篇Android Material Design 之滑动菜单(之DrawerLayout控件及其导航按钮HomeAsUp)文章中,DrawerLayout实现的滑动菜单中,DrawerLayout第二直接子控件(即滑动菜单内容区域)仅仅使用TextView太过单调,所以要想滑动菜单漂亮,可以把DrawerLayout第二直接子控件(即滑动菜单内容区域)用NavigationView实现。N...
2019-09-17 23:44:30
390
2
原创 Android Material Design 之滑动菜单(之DrawerLayout控件及其导航按钮HomeAsUp)
!!!!注意,此文章是基于这篇文章的代码,继续修改的:(Android Material Design 之ToolBar控件)Material Design简单介绍:Material Design是Google推出的一套界面设计语言,用于解决Android平台界面风格统一的问题。滑动菜单:就是将一些菜单选项影藏起来,而不是放在主屏幕,然后通过滑动的方式将菜单显示出来。就是QQ侧...
2019-09-17 20:44:09
514
mybatis教案.pdf
2019-11-27
ServiceBestPractice.zip
2019-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人