- 博客(16)
- 资源 (33)
- 收藏
- 关注
原创 ORM对象关系映射之使用GreenDAO进行CRUD操作
在Android中,我们都知道使用的数据库是SQLite,而使用这种原生的数据库非常繁琐,它对表的管理和进行CRUD操作都需要我们写sql语句,在进行多表关联的操作上,更是需要写一堆sql,而且维护起来也极其不便。所以ORM程序设计技术应用而生,它主要是用于实现面向对象编程语言里不同类型系统的数据之间的转换。目前流行的ORM框架目前主要流行这么三款ORM框架:ORMLite(官网)ActiveA
2015-09-21 16:46:23 4295 4
原创 Android事件分发机制
【注】:这篇文章中的内容都以这张图来讲解分发机制,其中A、B、C都是ViewGroup,它们的层次关系为:A为根布局,B为二级子布局,C为三级子布局,其中C布局中包含一个Button按钮,即A包含B,B包含C,C包含Button。 好了,废话少说。先来讲下今天的三位主角吧。 1、dispatchTouchEvent - 分发事件,默认为false。true:取消事件,不继续向下分发,false
2015-09-17 08:58:33 2036
原创 ORM对象关系映射之GreenDAO自定义属性转换器PropertyConverter
在使用GreenDAO定义实体的属性时候,通常来说定义的实体属性名就是对应的表的字段名、实体中属性的类型(如Long、String等)就是表的字段名类型,但是我们难免会有不一样的需求,比如实体中我定义了一个Color类型的属性或者其它自定义类型的属性,而表的字段类型只有一些原始类型肯定是没有这些类型的,所以这时候该怎么办呢? 不用急,GreenDAO给我们提供了一个强大的工具,就是属性转换器:Pr
2015-09-16 18:08:51 4431 2
原创 ORM对象关系映射之GreenDAO建立多表关联
利用GreenDAO可以非常方便的建立多张表之间的关联一对一关联通常我们在操作数据库的时候,我们往往不是单独的对一张表进行操作,而是对这张表的操作会联动的影响另外一张表或者多张表,比如:现在有两张表,一张是用户User表(有name、age、sex三个字段),一张是头像Picture表(有pictureId、pictureName、width、height四个字段)。假如用户表和头像表是一对一关系,
2015-09-16 16:36:49 12726 4
原创 ORM对象关系映射之GreenDAO高级用法
CRUD增加:dao.insert(Student entity);//添加一个dao.insertInTx(Student... entity);//批量添加删除:dao.deleteByKey(Long key);//根据主键删除dao.deleteByKeyInTx(Long... keys);//批量删除dao.delete(Student entity);//根据实体删除dao.d
2015-09-15 19:48:43 5619 1
原创 ORM对象关系映射之GreenDAO源码解析
上一篇我们学习了GreenDAO的CRUD基本操作,可以说是非常的方便的,而且GreenDAO的效率和性能远远高于其它两款流行的ORM框架,下面是我从官网找的一副它们三个ORM框架之间的性能测试的直观图: 那么这篇我们就从源码的角度来学习GreenDAO更深层次的工作原理。GreenDAO的工作原理图解:从上篇我们知道,如果Android项目中要使用GreenDAO框架,需要先创建一个Java
2015-09-15 16:21:33 5659 1
原创 Android中让多个线程顺序执行探究
前言: 不知道从什么时候开始,越来越喜欢把平时学到的一些东西做个总结,做个梳理,于是坚持写博客。在我看来写博客是对自己的一种提升,也可以帮助在这个问题上有疑惑的猿。之前看到这样一个问题,就是有人因自己的技术还不扎实,想写博客,又怕写出来的博客怕别人说不正确。对于这种问题,我更多的是把写博客看成自己技术的总结,因为你总结一个技术,肯定是需要查大量资料,而在此过程中你不仅巩固了以前的知识也会不断的
2015-09-14 10:27:15 8018 4
原创 Android免Root无侵入AOP框架Dexposed
Dexposed框架是阿里巴巴无线事业部近期开源的一款在Android平台下的免Root无侵入运行期AOP框架,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录,性能统计,安全控制,事务处理,异常处理等方面。针对Android平台,Dexposed只支持函数级别的在线热更新,如对已经发布在应用市场上的宿主APK,当我们从crash统计平台上发现某个函数调用有bug,导致经常性cra
2015-09-09 14:48:35 4603 1
原创 Kotlin For Android 示例代码实战
下面就为大家介绍怎么使用Kotlin来开发Android 上面这篇中我们在下载Kotlin插件的时候也下了一个功能扩张插件,其实这个插件大有用处,它可以使得我们在不使用注解和第三方库的情况下不使用findViewById来实例化控件,我们只需要导入对应的布局然后直接使用id来使用这个View就可以了。扩展功能插件的使用要使用这个功能: 1、首先需要导入这个插件的依赖,在Module的gradle
2015-09-08 11:56:38 4585 1
原创 Android Studio中创建Kotlin For Android项目
Kotlin俗称Android中的Swift,它是Jetbrains公司开发的基于JVM的一门语言,JetBrains公司可能大家并不熟悉,不过相信IntelliJ IDE大家一定知道,Android Studio正是基于它开发的,Kotlin本身也是面向对象语言。为什么要使用Kotlin?它具有如下优点: 1、轻量级 2、和Java具有高度的交互性,可以和Java代码一起运行 3、
2015-09-08 11:01:45 4979
原创 Android性能优化之界面UI篇
1、使用style、color、string、dimen样式来分离xml布局文件,减少代码的重复使用,增加代码复用率,防止hardcode,下面是一个例子: 在定义layout时候,因为每个View或ViewGroup都必须要有layout_width和layout_height,所以我们可以专门定义一个size_style.xml,里面的内容为:<resources> <style na
2015-09-07 13:37:42 2318 1
原创 Otto事件总线框架的使用
Otto是一个在Android中的事件总线框架,它是square的一个开源框架,具体介绍点击这里,项目下载点击这里为什么要使用Otto事件总线: 通常来说在Android中: 1、Activity与Activity间的传值是通过Intent,值回调是通过startActivityForResult() 2、Activity与Fragment间的传值是通过setArguments,值回
2015-09-06 16:03:24 4369
原创 Material Design之视图状态改变
视图状态改变是通过StateListAnimator动画集来改变View的状态的,它可以使View在不同状态下发生不同的变化,如下是在drawable目录下定义一个StateListAnimator:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/an
2015-09-06 09:51:00 3172 3
原创 Android使用SVG矢量动画(二)
上篇我们学习了怎么显示SVG矢量图像,当然还有一个更强大的功能,就是让SVG图像动起来,先上一张效果图吧: 要实现上述动画效果,就得用AnimatedVectorDrawable这个类了,它就是负责VectorDrawable矢量图形的动画的,不过我们不能像属性动画那样去通过代码进行设置动画,而是需要通过animated-vector标签在xml文件中创建一个AnimatedVectorDrawa
2015-09-02 15:25:17 6517 5
原创 Android中使用SVG矢量图(一)
SVG矢量图介绍首先要解释下什么是矢量图像,什么是位图图像? 1、矢量图像:SVG (Scalable Vector Graphics, 可伸缩矢量图形) 是W3C 推出的一种开放标准的文本式矢量图形描述语言,他是基于XML的、专门为网络而设计的图像格式,SVG是一种采用XML来描述二维图形的语言,所以它可以直接打开xml文件来修改和编辑。 2、位图图像:位图图像的存储单位是图像上每一点的像素值
2015-09-02 13:46:37 8310
原创 Android百分比布局支持库(android-percent-support)
Android中提供了五种布局,其中用的最多的就是:LinearLayout, RelativeLayout 和 FrameLayout这三种布局,在对某一界面进行布局时最先想到也是通过这三种来布局的,不过当某一界面过于复杂时,往往会有多层嵌套,可能嵌套层数过深超过5层,比如,当我们有一个需求是这样的:界面中的一个按钮的长度需要是屏幕宽度的一半,而且需要在任何屏幕下都是屏幕宽度的一半,这个需求我们往
2015-09-02 09:30:05 4029
DiskLruCache
2015-07-23
CollapsingToolbarLayout使用 源码下载
2015-07-16
ViewFlipper详解demo
2015-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人