自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

GreenDAO的CRUD操作

GreenDAO的CRUD操作

2015-09-14

在线热更新Dexposed框架

在线热更新Dexposed框架

2015-09-09

SVG矢量动画

SVG矢量动画

2015-09-06

ThemeChangeDemo

android 主题切换

2015-08-29

materialdesign动画示例

materialdesign动画示例

2015-08-28

RecyclerViewHeaderAndFooter

RecyclerViewHeaderAndFooter添加头部和尾部

2015-08-26

RecylerView侧滑删除和拖拽

RecylerView侧滑删除和拖拽

2015-08-24

Android事件分发机制

Android事件分发机制测试Demo

2015-08-18

Volley请求网络图片

使用Volley请求网络图片防止OOM

2015-08-15

Volley.jar

Volley.jar

2015-08-12

Material CheckBox

Material Design 风格的checkbox,Material Design 风格的checkbox

2015-08-07

Android Data Binding

Android Data Binding结合RecyclerView的使用

2015-08-06

插件化开发-动态加载

插件化开发-动态加载已安装apk和未安装的apk

2015-07-29

DiskLruCacheDemo

DiskLruCacheDemo

2015-07-23

DiskLruCache

Google又提供了一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证),怎么使用呢?下载好了之后,在项目中新建一个名为libcore.io包,然后将DiskLruCache.java代码文件复制到这个包中即可开始使用。

2015-07-23

LruCache使用

LruCache使用

2015-07-21

Material Design icon图标

Material Design icon图标

2015-07-19

FloatingActionButton的使用

Google提供的Design Library中FloatingActionButton的使用。 和配合Snackbar的使用

2015-07-19

ViewPager的使用

ViewPager的动画效果实现,利用Google提供的两种动画来说明自定义动画。

2015-07-19

CollapsingToolbarLayout使用 源码下载

CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(如:ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。

2015-07-16

日期选择控件(可防止屏幕旋转抛出的异常)

日期选择控件(可防止屏幕旋转抛出的异常)

2015-07-13

AppBarLayout实现上滑隐藏ToolBar

AppBarLayout实现上滑隐藏ToolBar,下滑出现

2015-07-12

NavigationView实现侧滑菜单栏

将介绍使用Google最新推出规范式设计中的NavigationView和DrawerLayout结合实现侧滑菜单栏效果

2015-07-11

CardView的使用

CardView是support-v7包下的一个控件,google新推出的一款符合材料设计的Layout。。。

2015-07-11

RecyclerView实现瀑布流

RecyclerView实现瀑布流效果。

2015-07-04

RecyclerView的使用

提供一种插件式编程,开发者对RecyclerView的设计更加自由

2015-07-04

使用DialogFragment替代AlertDialog

Google官方推荐使用DialogFragment代替AlertDialog,很好的解决屏幕旋转产生的问题。。。

2015-05-25

ListView添加CheckBox复选框

在ListView中添加CheckBox,实现多选条目

2015-05-15

ViewFlipper详解demo

该demo主要是说明了ViewFlipper这个控件怎么使用,并加入动画效果和点击暂停过一段时间又自动切换,可谓是实现了ViewFlipper功能外又完善了它的自动切换效果

2015-02-26

android 指南针 源码

android 指南针 源码

2014-08-21

java实现的多媒体播放器

ava实现的简单多媒体播放器

2014-08-20

空空如也

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

TA关注的人

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