自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

平缓而扎实的前进吧。

keep your temper!

  • 博客(103)
  • 资源 (25)
  • 收藏
  • 关注

原创 AlertDialog 源码解析一

概要:AlertDialog,平常用的很多,今天走了一遍内部实现,记录一下。解析:一AlertDialog的常用调用: new AlertDialog.Builder(mContext) .setTitle("title") .setMessage("message") .

2017-11-30 11:53:08 379

原创 SparseArray

概要:SparseArray是android.util中提供的类,用于存储整数-Object映射。相对于我们常用的HashMap,它的性能更好:1,避免了自动装箱过程。(java中将基本数据类型自动转化成转载器数据类,拆箱:将装载器数据类型转化成基本数据类型);2,使用二分法对SparseArray的key检索。分析:public class SparseArray i

2017-11-08 16:39:47 372

原创 SharedPreference源码解析

概要:    SharedPreference属于轻量级的键值存储方式,以xml文件保存。作为Android存储数据的一个重要的方式,值得透彻分析一下。SharedPreference的获取方式: 首先SharedPreference的获取方式,有两种Activity的getSharedPreference(int mode)与Context的getSharedPr

2017-10-20 16:21:03 415

原创 Android ORMLite框架笔记

一概要:在Android 项目开发中,如果要使用数据库,向大家介绍一个关于数据的开源框架ORMLite。提高我们开发数据的效率,特别是对于数据库使用频繁的项目开发。配置:我们需要去官网下载两个jar(ormlite-android-5.0.jar,ormlite-core-5.0.jar),官网:http://ormlite.com/releases/优点:轻量级;使用简单,易

2017-07-31 17:04:51 279

原创 AndroidStudio 打包apk笔记

一,概要:一个App开发完了之后,我们需要对其进行打包,然后才能发布。Android Studio里面就集成了打包工具,非常方便。下面归纳两种打包的方式:Generate Signed APK(可视化的操作)。Gradle(直接在Gradle中配置好)。二,签名文件,(Android Studio默认生成的是jks文件,就像Eclipse中keystore)1,其实

2017-07-25 18:10:43 462

原创 HTTP协议笔记

一概要:HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是从万维网(WWW:World Wide Web)服务器,传送超文本到本地浏览器的通讯协议。HTTP是基于TCP/IP协议来传送数据的。HTTP是属于应用层的传输协议,由于其简便快捷,快速的方式,适用于分布式超媒体信息系统。二主要特点:1,简单快速:客户端向服务器请求

2017-07-24 12:31:59 282

转载 Glide 简介

一概要:Google在2014的开发者论坛上,向我们介绍了一个开源的图片加载的类库Glide。作者BumpTech(碰撞科技)。这个库被广泛的运用在了Google的开源项目中。能够被Google如此推崇一定有其过人之处。研究一下发现picaso惊人的类似。所以干脆和Picaso做类比讲解。二配置Glide:Glide需要依赖support-v4库。 //使用glide

2017-07-20 17:51:01 1288

原创 AndroidStudio中gradle,buildToolsVersion,complieSdkVersion的关系

一概要:AndroidStudio:是Google官方基于IntelliJ IDEA开发的一个Android 应用开发工具。相对于之前的Eclipse实在是太好用了。Gradle:是AndroidStudio的管理工具,它可以完成Android App的编译、打包等工作。buildToolsVersion:是Android构建工具的版本,其中包括打包工具aapt,dx等。通过SDK

2017-07-20 15:03:08 2011

转载 AndroidStudio + MAT 内存泄漏分析

一概要:二使用:

2017-07-13 17:11:58 653

原创 LeakCanary 使用一

一概要:LeakCanary是GitHub上著名的开源组织Square贡献的一个内存泄漏自动检测工具。优点:自动化发现内存泄漏;配置非常的简单。缺点:配置时集成到低版本的应用会有bug,这时尝试修改版本:compileSdkVersion 21。配置请参考:https://github.com/square/leakcanary#补充一点:内存泄漏往往发生在,生命周期较长的对象

2017-07-12 16:37:48 1653

原创 RxJava 使用详情

一概要:RxJava已经被越来越多的人使用,提及。个人也觉得非常好用,优秀。这里做一个简单的归纳。1,RxJava是什么:GitHub上介绍(翻译):一个在Java VM上使用可观测的序列来组成异步的,基于事件的程序的库。简单点:一个实现异步操作的库。类似Handler,与AsyncTask。2,RxJava优点是什么:相对于Handler/AsyncTask,RxJava使用非常

2017-07-10 15:35:54 282

原创 OkHttp 使用详情二

一概要:OkHttp,作为当下最流行的网络请求方式,是非常方便且高效的。但是如果现在有个需求,上传和下载文件并且在过程中给用户提供友好的界面提示(提示用户下载的进度)。似乎没方法用简单的OkHttp API来实现。网上搜索了一个下,找到一个一些方法。在证明确实可行之后。在此归纳总结出这篇博客。(OkHttp的基本使用,请参考:OkHttp 使用详情一)二实现1,

2017-07-06 18:00:55 420

原创 OkHttp 使用详情一

一概要:Android已经为我们提供了HttpURLConnection 和 Apache Http Client,能够满足我们各种的Http请求需求,当时Android SDK依然为我们默认提供了OkHttp。因为OkHttp相对更高效,更省流量。OkHttp的特点:1,支持SPDY,共享同一个Socket来处理同一个服务器的所有请求。2,如果SPDY不可用,则通过连接池来减

2017-07-05 22:52:07 437

原创 ASimpleCache (ACache)缓存框架

一,概述官方介绍:ASimpleCache是一个为Android定制的轻量级的,开源缓存框架。轻量级到只有一个Java类(由十几个类精简而来)。1,它可以缓存什么对象?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。2,它有什么特色?(1), 轻,轻到只有一个java类。(2), 可配置,可

2017-06-30 16:04:37 1025

原创 Windows+Git+GitHub

概要:Git分布式代码管理工具,gitHub是只支持git的远程代码库,本文介绍在Windows平台上使用这套代码管理系统。从创建GitHub仓库(repository)到使用git提交代码到github上的远程仓库。

2017-03-22 17:11:10 2645

原创 ImageLoader

ImageLoader,图片加载类。在Android中经常使用到图片加载。所以一个好的图片的加载类对一个优秀的app非常重要。本文中是一个自定义的ImageLoader,

2017-03-21 16:19:54 581

原创 AsyncTask

概要:      AsyncTask是一种轻量级的简单异步任务类,它可以在线程池中执行后台任务,然后把执行任务的进度和执行任务的最终结果传递给主线程并在主线程中更新UI。分析:一,简单用法 AsyncTask的重要的方法:1,onPreExecute() 运行在主线程,在doInBackgroud前执行,一般做一些准备工作。2,doInBackground(Str

2017-03-02 13:15:56 352

原创 LiveTemplate

概要:     LiveTemplate是非常好用的一个功能,他能极大的提高你编程的效率。通过Ctrl + J快捷键,快速的补全代码。分析:    比如我们最常用的findViewById,每次输入+提示补全,我其实可以做到更高效。就是设置LiveTemplate。一,调出Live Template的设置界面(Settings  —— 搜索Live Template

2017-02-26 22:11:54 564

原创 Rotate3dAnimation

概要:    Roate3dAnimation 实现了围绕y轴竖直方向 或者绕x轴方向旋转的3d动画效果。这个例子来自Android APIDemo中的一个自定义View动画。他的实现展示自定义View动画的基本步骤。主要是重写initialize方法,applyTransformation方法。分析:    在Roate3dAnimation中,我们使用Android

2017-02-23 15:36:07 2597

原创 Android.graphics.Camera

概要:Camera(相机),但是这里的android.graphics.Camera不同于hardware.Camera。它主要用于2d图像实现3d效果。Camera的一系列,旋转,平移方法。实质上改变的是内部的Matrix变量。最后我们可以通过camera.getMatrix(matrix)方法。获取Matrix的值。之后就可以通过Matrix来改变图像了。分析:

2017-02-21 18:47:35 2360

转载 Android Matrix(变形矩阵)

概要:Matrix(矩阵),这是一个数学的概念。通常的nxm(n行,m列)行列数是不受限制的。但这里主要讲的是3x3矩阵(3行3列)如图:Matrix对图形的变形通常有如下四种形式:Translate       平移变换 Rotate            旋转变换   Scale              缩放变换Skew              错切变换

2017-02-20 17:33:58 836

原创 AppWidgetProvider的使用

一介绍:AppWidgetProvider 是Android用于生成桌面小部件的类,它继承自BroadCastReceiver.所以它本质上是一个广播接受者,谨记这一点,AppWidgerProvider的很多功能都好理解了。如图:二开发一个桌面小部件的步骤我会根据一个小demo,来记录整个桌面的开发流程,先看一下demo的效果(是一个时钟和文本用来形象的显示时

2017-02-16 16:55:08 6247

原创 Android Notification

概要Notification通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容。比较熟悉的通知有:短信同事,文件下载通知,以及在音乐播放时,在通知栏有播放通知界面可以控制播放的暂停播放。有几点特性:通知是运行在system server进程中的,由NotificationManagerService管理。Notificat

2017-02-14 13:08:48 215

原创 Eclipse项目转Android Studio项目

概要: Google为了方便我们使用Android Studio,提供了两种导入Eclipse代码的模式:一、兼容Eclipse模式,二、生成全新的Android Gradle Project。我们先看兼容模式。

2017-02-06 15:55:52 302

原创 Android SVG动画

Android 5.X SVG矢量动画机制概要Google在Android 5.X中增加了对SVG矢量图形的支持,首先大概了解一下SVG。可伸缩的矢量图形(Scalable Vector Graphics)使用XML格式定义图形图像放大或改变尺寸的情况下其图形质量不会有损失万维网联盟标准总的来说SVG是一个绘图标准。与Bitmap对比,SVG最大的优点就是放大不会失真。< path >标签

2017-01-04 18:04:19 1575

转载 Android proguard 使用

转载:ProGuard详解 - 李江东 综述 对于proguard工具相信大家都不陌生,它通过移除无用代码,使用简短无意义的称号来重新命名类、方法、字段的 方法,从而达到压缩,优化和混淆代码的目的。最终我们会得到一个较小的apk文件。并且通过proguard工具处理过的 apk文件更难进行逆向工程。ProGuard工作原理简介 ProGuard能够对Java类中的代码进行压缩

2016-12-29 11:23:04 326

原创 Android apk 反编译

通过反编译第三方apk,学习和借鉴他人代码是学习Android的一个重要途径之一。下面是我对。    测试环境:windows。    使用工具:

2016-12-28 17:41:20 327

原创 Android 从头开始

今天特别的倒霉,笔记本的硬盘坏了。我勒个去,好多东西都没备份!(以后一定要养成定时备份的习)。所以一切从零开始1,安装JDK。进入Oracle官网(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下载,雨自己系统相匹配的jdk。下载完后点击安装(默认设置就好,一路

2016-11-02 17:35:10 402

原创 Java爬虫技术

Jsoup解析html方法,通常被人称之为爬虫技术。(个人认为可能是返回的数据,只有一小部分是我们需要的,造成了数据的冗余,和网络延迟)。1,下载Jsoup架包,小编在网上找了一个资源下载jsoup架包。(添加到libs后,add to path,其中jsoup-1.9.2-sources.jar的作用是,当我们需要查看源码的时候,指定到这个包就可以了)2,Jsoup的应用

2016-10-21 16:56:35 3337

原创 Android 沉浸式状态栏

沉浸式状态的应用,是android4.4加入的功能实现。先看看应用的实例(状态栏的颜色改变了,整个界面和谐了): 实现方法有三种:1,系统实现在代码中进行设置:public class TopBarActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanc

2016-10-20 18:13:15 370

原创 正则表达式

正则表达式:描述一种字符串的匹配模式,可以检查一个串中是否含有某种子串,可以将匹配子串做替换或提取串中符合某种条件的子串。(正则表达式并不仅限于某种语言,但是每种语言中有细微的差别)用途:正则表达式可以数据验证,替换文本,提取字符串。基本语法:

2016-09-30 15:23:22 260

原创 Thread,Runnable,Callable,Feature的之间的关系

A   调度执行线程单元的三种形式Thread,Runnable实现run()方法,Callable实现 T call()有返回值。B   Runnable,可以被Thread包装,启动线程执行,也能被ExecutorService调度;Callable只能用ExecutorService作为调度容器。C   Future 主要用于查看任务进行的状态(isDone()任务是否完成),结果。

2016-09-21 16:31:14 1555

原创 Android export jar file和代码混淆。

今天我要将的不是打包apk,而是一个项目打包成第三方jar,供别人使用。例如,这样一个项目:(本身也引用了第三的jar),怎样打包成一个简单的jar呢。先给大家介绍一个eclipse的插件,net.sf.fjep.fatjar_0.0.31.jar,   fatjar插件解压net.sf.fjep.fatjar_0.0.31.zip后将plugins目录下的net.sf

2016-07-15 17:11:51 608

原创 Android实现滑动的7种方法

在Android4.x之后,滑动操作大量的出现在Android系统中,滑动的操作方式具有更好的用户体验。所以本章会对Android中实现滑动效果的方式做一个小归纳。    在介绍滑动方法前,先讲一下Android的坐标系,Android的坐标系分为两种。    1,Android坐标,    以屏幕的左上角为坐标0点,0点向右为X轴正方向,0点向下为Y轴的正方向。在触摸事件中eve

2016-06-02 15:36:42 3644

原创 自定义控件的归纳

Android类库为我们提供了非常丰富的控件来美化我们的UI界面。也提供了非常方式的拓展方法让我们设计自己风格的控件(自定义控件)。     要想自定义控件首先要先熟悉几个方法:1,onFinishInflate(),从xml文件中加载组件后回调。2,onSizeChange(),组件大小改变时回调。3,onMeasure(),回调该方法会组件的大小进行测量。4,onLayou

2016-05-30 14:52:40 372

原创 Android跨进程通讯的几种方式

Android系统的每个应用都是运行在一个单独的虚拟机中(不同的进程)。因此不同的app间不能直接通讯,但是可以间接进行通讯。今天我要介绍的四种跨进程通讯方式就是四种间接通讯方式。这四种跨进程通讯的方式,分别对应Android的四大组件:Activity,ContentProvider,Broadcast,Service。Activity可以跨进程启动其他应用的Activity,Conte

2016-03-30 19:03:03 3296

原创 android apk更新

一,检测是否需要更新1-1,检查当前的网络状态1-2,获取当前版本信息1-3,检测是否具有新版本,用户选择是否跟新二,下载最新apk2-1,下载最新版本的apk三,启动更新3-1,启动更新1-1,检查当前的网络状态: /** * 获取网络类型 * * @param context Context * @r

2016-03-29 17:01:46 373

原创 清除ViewPager+FragmentPagerAdapter的缓存

当ViewPager+FragmentPagerAdapter时,当系统配置发生改变时。我们Activity需要重新创建,但是FragmentPagerAdapter的缓存机制会影响我们重新加载数据。只需在activity的onCreate加上: @Override protected void onCreate(Bundle savedInstanceState) {

2016-03-15 17:07:05 6239

原创 自定义Camera

实现的功能是,第三方调用系统相册,可以选择进入此自定界面。可以预览图片。并且返回图片存储路径(第三方可以根据filePath获得图片并展示)布局文件:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

2015-12-23 19:17:57 415

原创 Widget基础用法

这边只是一个简单的时钟提示Widget。分五个步骤:1,编写Widget的UI布局2,设定Widget的配置信息3,实现AppWidgetProvider4,创建Service5,配置清单文件。1,编写Widget的UI布局,只是RelativeLayout中添加一个TextView。Widget布局支持FrameLayout,LinearLayout,Rela

2015-12-22 17:02:36 396

OkHttp使用所需jar

包含okhttp-3.8.1.jar,okio-1.7.0.jar

2017-07-05

反编译工具整合包

apktool,dex2jar,jd-gui工具整合包。

2016-12-28

RefreshListView_demo

SwipeRefreshLayout + LoadMoreListView实现下拉加载,上拉刷新

2016-11-25

DymicCurve_demo

自定义动态曲线的初级版本

2016-11-25

proguard5.2.1.zip

proguard5.2.1.zip

2016-07-15

net.sf.fjep.fatjar_0.0.31.zip

fat-jar

2016-07-15

Demo_Download

点击开始,下载并实时跟新进度,点击暂停下载停止,再次点击开始,接着上次进度下载。

2015-12-09

CustomArcMenu

自定义ARCMenu卫星菜单,带动画效果

2015-11-18

httpclient-4.3.6

httpclient-4.3.6.jar

2015-11-16

Android 加速传感器

仿微信摇一摇界面功能,使用Android 加速传感器,监听三个维度的加速度,当加速度达到一定值,则执行响应事件。

2015-07-08

Demo_NetWorkingImageLoader.zip

网络图片加载,设计图片的内存缓存和硬件缓存机制,多线程处理机制,图片压缩处理等!

2015-06-17

Handler_imageLoader

利用异步消息处理机制,打造图片加载器。加载手机中图片最多的文件夹中的图片。

2015-06-12

自定义ViewPagerIndicator

自定义ViewPagerIndicator,与其具有类似的功能,不过下表图标为白色三角形

2015-05-14

折叠式侧滑菜单

侧滑菜单的侧滑菜单部分,以折叠张开的方式滑入滑出!

2015-05-14

AnimBetweenActivity

Android界面间的切换动画,两种不同的方法实现。overidepeddingtransition方法和设定theme属性方法

2015-05-13

Demo_ColorChange

自定义了一个颜色渐变控件,随着ViewPager的滑动,字体的颜色会逐渐从左到有慢慢改变;左边的标题字体从左到右逐渐变黑,右边的标题字体从左到右逐渐变红!

2015-05-12

Demo_slidingMenu

三种不同种类的侧滑菜单,第一种内容控件随着菜单列表控件一起滑动;第二种,菜单列表控件滑动,内容控件不动;第三种,内容控件滑动,菜单列表控件不动!

2015-04-27

图片浏览器

实现图片浏览器的效果,底层是一个ViewPager,ViewPager的每个Item可以缩放,平移!

2015-04-27

GestureLockView

根据手指在屏幕上划过的痕迹,生成密码,并判断生成的密码是否正确,从而达到解锁的效果

2015-04-27

自定义Drawable

通过自定义Drawable实现,圆角图片,和圆形图片.让自定义多一个方向!

2015-04-27

仿微信界面实现

仿微信界面实现,下面的字体和图表的颜色都会随着ViewPager的滑动具有渐变的效果具有渐变的效果,点击菜单<发起群聊>。会跳到图片截取界面,也是仿微信的效果(根据自己的喜好稍稍有点调整);

2015-04-27

CustomView3

开始时界面上是一片灰色(模拟乌云),当用手滑动时会将灰色(乌云)擦掉!显示一张绝美的美女图。

2015-04-12

CustomImaeView1

利用Android BitmapShader对象,实现图片以圆图或圆角图形式展示!

2015-04-11

CustomView1

自定义控件实现验证码效果,每次点击控件会重新展示4个随机数字,和两条横线!

2015-04-02

自定义view(视频音量调控)

自定义视屏音量调控的实例, 用手机看视频,调节音量时会出现一个小图标,向上滑动时,白点数目会增多(声音会变大),向下滑动时白点数目会减少(声音会变小),我尝试着自己做了一个(有图示效果,当没加声音效果)

2014-12-03

空空如也

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

TA关注的人

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