- 博客(25)
- 资源 (11)
- 收藏
- 关注
原创 Android RecyclerView实现树形列表
前段时间公司有个项目,需要展示客户关系的树形列表,当时网上找了一些资料,有些觉得挺复杂的,有些测试下来有bug。最终决定自己解决。最底下有demo,需要源码的同学可以下载效果图(带节点的展开与收缩,并且可以实现项的单选,选中项字体为蓝色): 一、实体类的构建这个类不多解释,各个属性的含义都在注释上/** * 公司类 */public class Bas...
2019-06-25 15:37:54
6446
9
原创 Android 获取内存信息(RAM,ROM)
一、RAM,ROM简单介绍RAM为运行内存,比如,360手机助手的悬浮窗,经常提示的运行内存超过80%之类的,指的都是运行内存。一般大小为几个G。ROM为存储数据的内存,比如,爱奇艺APP在视频页面显示的“总空间31.6G,剩余28.8G”,指的是ROM。一般大小几十G,几百G都有。ROM越大,可存储的视频,文件,音乐等越多。 二、Android 获取RAM,ROM的方法1. ...
2018-09-07 00:25:31
15656
1
原创 Android 运行时权限(危险权限)
一、说明Android 6.0开始,Google将权限分为两类,一类是Normal Permission, 这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。二、危险权限列表下表列出了Android所有的危险权限,剩余的权限就都是普通权限需注意...
2018-05-30 15:05:09
10291
2
原创 Android RecyclerView使用
本文参照 《第一行代码 Android 第二版》进行整理,同时添加了一些书中该章节没涉及的内容。一、RecyclerView 功能介绍 RecyclerView可以说是一个增强版的ListView,它不仅可以实现ListView同样的效果,还优化了很多ListView 的不足之处。比如:1.实现横向滑动 2. 实现GridView的效果 3. 实现瀑布流效果 ...
2018-05-05 10:42:10
2050
1
原创 Java synchronized关键字
synchronized关键字在Java中用于线程同步可用于 1.修饰代码块 2.修饰类 3.修饰方法1.修饰代码块 (1)一个线程访问一个对象中的synchronized(this)同步代码块时,其他试图访问该代码块的线程将被阻塞,必须等待当前线程执行完这个代码块以后才能执行该代码块。示例:package com.czlt.syncorenizedtest;public...
2018-04-26 13:23:33
226
原创 安卓EventBus使用
EventBus作用:简化组件之间的通信,可用于线程间的通讯代替handler,用于组件间的通讯代替Intent,用于Activity和Fragment之间通信。使得代码更简洁,性能更好。EventBus GitHub地址EventBus使用方法:一、导入jar包 gradle:compile 'org.greenrobot:eventbus:3.1.1' 也可下载jar包导入(可在E...
2018-03-07 15:08:50
2060
原创 Android程序崩溃处理
由于Android手机型号,厂商等很多,我们不能保证测试时候没问题的程序,在各种手机上都没问题。当出现问题,程序崩溃时,我们可以设置对应的监听,将对应的报错信息记录下来,上传至服务器。一、原理在Thread类中,有一个接口 UncaughtExceptionHandler /** * Implemented by objects that want to hand
2017-12-04 09:36:44
2214
原创 Android使用第三方字体
很多时候,Android系统自带的字体可能和我们的APP风格不符。这时候,我们就需要下载并使用第三方字体了。Android中使用第三方字体,需先下载字体库,一般后缀名为 .ttf (百度上可以找到很多)Android开发中使用方法:1.在 asset 目录下,新建fonts文件夹,用于存放字体文件,并将需要使用的字体文件放入该文件夹2. 给TextView设置字体
2017-12-02 15:40:34
2805
原创 Java 十六进制(Hex)与byte数组之间的转换
一、十六进制(Hex)与字节(byte)的概念十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15。字节(byte): java中一个byte为8个二进制位。转换原理: 每个二进制位有两种状态,分别为0,1 因此,两个二进制位有4种状态,分
2017-11-27 23:00:06
126157
16
原创 Android okHttp的简单使用
本文主要展示 okHttp 插件的基本用法,主要包含 1.get方式请求数据2.post方式请求数据3.文件的上传4.文件的下载5.加载网络图片okHttp所需的jar包:okHttp的jar包,okio的jar包布局文件:布局文件很简单,就五个按钮,一个imageView<RelativeLayout xmlns:android="htt
2017-03-06 09:41:33
499
原创 Android Switch控件修改样式
Android中自带的Switch控件在很多时候总觉得和整体系统风格不符,很多时候,自定义Switch是一种方法。但其实不用这么麻烦,安卓自带的Switch通过修改一些属性,也可以达到和自定义Switch差不多的一个效果。个人感觉,Switch的属性设置和其他控件还是有挺大区别的。因此,写下此文,方便有需要的同学参考。先上效果图:以上便是修改后效果 与 原生Switch的效
2017-02-09 19:46:13
57281
16
原创 安卓 动画效果 Animation
Android 中 四种动画效果:1.alpha:渐变透明度动画效果2.scale:渐变尺寸的动画效果3.translate:位置转移动画效果4.rotate:旋转动画效果(还可使用 set 定义动画集合:将几个不同的动作定义成一个组)一、动画效果的属性1.通用属性:Android中,这几种动画效果的父类都为Animation,所以四种动画效果有着部分相同的属性
2017-01-22 12:58:31
614
原创 Spring 泛型依赖注入
Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用示例:1.Repository 的父类 BaseRegistorypublic class BaseRepository {}2.Service的父类 BaseServiceBaseService中配置一个泛型的BaseRepository。public class BaseServi
2016-12-23 22:06:01
304
原创 Spring 通过注解配置
一、Spring 在classpath下自动扫描组件•Spring 能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. •特定组件包括:–@Component: 基本注解,标识了一个受Spring管理的组件–@Respository:标识持久层组件–@Service: 标识服务层(业务层)组件–@Controller: 标识表现层组件•对于扫描到的
2016-12-23 18:48:16
606
原创 Spring xml基本配置
2.通过构造器注入 3.若一个 bean有多个构造器可以根据 index和 value进行更加精确的定位. 4.若字面值中包含特殊字符,则可以使用 DCDATA来进行赋值. ]
2016-12-18 20:41:27
476
原创 hibernate 管理Session:Session 对象的生命周期与本地线程绑定
hibernate 自身提供了三种管理Session对象的方法Session 对象的生命周期与本地线程绑定Session 对象的生命周期与JTA事务绑定Hibernate 委托程序管理Session对象的生命周期Session 对象的生命周期与本地线程绑定实示例步骤:1.hibernate.cfg.xml配置管理Session的方式
2016-12-14 14:08:22
506
原创 hibernate二级缓存
hibernate缓存分为两级第一级别为Session级别的缓存,由hibernate进行管理第二级别为SessionFactory级别,可分为两类内置缓存:Hibernate自带的。在Hibernate的初始化阶段,hibernate会把映射元数据和预定义的SQL放到SessionFactory缓存中,该内置缓存是只读的外置缓存(二级缓存):一个可配置的缓存插件。默认情况下Ses
2016-12-14 13:25:28
324
原创 Hibernate HQL,QBC查询 本地SQL查询
一、HQL查询以双向一对多的 Department--Employee 为例1.基本步骤:(1)创建query对象(2)绑定参数(3)执行查询HQL语句中的参数可基于位置,也可基于命名基于位置的参数(占位符使用?) //1. 创建 Query 对象 //基于位置的参数. String hql = "FROM Employee e WHERE e.sa
2016-12-12 10:43:18
388
原创 Hibernate 检索策略 (lazy,batch-size,fetch属性)
以 customer-order为例一.类级别的检索策略customer.hbm.xml注意:1.lazy=false:立即检索,lazy=true:延时检索 默认true2.lazy属性只对 load 方法有效,对 get,HQL,QBC 均无效。二.一对多,多对多的检索策略(set 的属性)customer.hbm.xml
2016-12-09 11:21:43
513
原创 hibernate 继承映射
1.subclass 继承映射可实现父类,子类共用一张表,需在该表内增加一列辨别者列以 Person——Student为例,Student继承Person,并多出 school 属性映射文件 person.hbm.xml
2016-12-08 12:56:15
206
原创 hibernate 一对多,多对一,一对一,多对多 映射
1.多对一映射 many-to-one单向多对一映射(以customer--order为例)一个customer可以有多个order,一个order只能对应一个customer实体类中Order中存放一个Customer的对象customer.hbm.xml映射文件 order.hbm.xml文件
2016-12-08 10:44:53
371
原创 Android 监听开机关机,隐藏启动图标功能
一.监听开机监听开机可以在开机时初始化一些程序的参数,以及开机自启动软件等。方法:使用广播接收器步骤1.写广播接收器public class StartupReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { //写
2016-11-09 18:37:11
735
原创 hibernate主键常用的生成方式
1. increment保存数据的时候hibernate会先发送一条select语句,查询数据库主键的最大值,再根据最大值,得到下一个主键,赋给对象。注意:多个实例一起运行时不能使用此方法,因为线程安全问题,会出异常。(适用于测试环境,非生产环境)2.identity由底层数据库负责生成标识符,它要求底层数据库把主键定义为自动增长字段类型注意:1.要求底层数据库必须支持自动增长
2016-11-04 20:19:03
406
原创 java 线程池使用及原理
1.缓存线程池 newCachedThreadPool缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 public static void main(String[] args) { ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); for (int i
2016-10-27 19:47:40
251
RecyclerView使用代码,实现横向滑动,纵向滑动,网格布局,瀑布流
2018-05-05
安卓 EventBus 使用示例 eventbus-3.1.1.jar
2018-03-07
Android 低功耗蓝牙
2017-11-24
安卓音乐播放器
2016-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人