自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (1)
  • 收藏
  • 关注

原创 window和windowmanager

window和windowmanager一、window1.window属性(1)type属性 应用window--一个Activity(1-99层) 子window---不能单独存在,如dialog(1000-1999层) 系统window--需要声明权限,如toast及状态栏 (2000-2999层)    (2)flags属性  FLAG_SHOW_LOC

2017-08-25 11:27:54 304

原创 service工作过程

Service工作过程一、Service1. Service的两种工作状态:启动状态:startService绑定状态:bindService(service,serviceConnection..)2. Service生命周期 1.Service的启动过程通过mBase,即ContextImpl,( ContextImpl是Context的具体实现,att

2017-08-25 11:26:56 318

原创 数据结构基本知识

一、二叉树、图二叉树:层次深度前序遍历:可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。中序遍历:先左后根再右。巧记:左根右后序遍历:在二叉树中,先左后右再根。巧记:左右根树与二叉树的转换森林哈夫曼树(最优二叉树,带权路径最小的二叉树)哈夫曼算法图 :图算法指利用特制的线条算图求得答案的一种简便算法。无向图、有

2017-08-25 11:22:36 308

原创 java设计模式

设计模式:设计模式基本原则:S:单一职责原则O:开放关闭原则L:里氏替换原则    抽象只要父类能出现的地方子类就可以出现,且替换为子类不会产生错误或异常主要继承、多态I:接口隔离原则D:依赖倒置原则   接口或抽象类   面向接口编程或面向抽象编程   依赖通过抽象产生   SOLID 抽象、单一职责、最小化最少知识

2017-08-25 11:21:31 218

原创 性能优化

EntityGenerator:生成实体类一、网络底层框架设计优化:1. 工具类的优化2. 网络底层的优化  onFail统一处理  dialog  progressbar统一处理3.数据缓存设计  设置缓存时间  cookie设置二、图片缓存设计 1.imageloader的实现原理   内存---硬盘----网络 2.Fresco 

2017-08-24 15:44:03 189

原创 排序

插入排序:一、思路:插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,i=1开始递增,{   j=i递减{      a[j]与a[j-1]比较,交换   }}二、程序:static void InsertSort(int a[], int n)  

2017-08-24 15:43:21 158

原创 android View

view一、view滑动方式:1. scrollBY  scrollto    优点:view提供的原生方法,专门用于view的滑动,且不影响内部元素的点击事件    缺点:只能移动view的内容,不能滑动view本身,适合对view本身的滑动2. 使用动画    view动画:不会改变view本身的属性,事件仍会在老位置属性动画(Android3.0以上)

2017-08-24 15:41:23 166

原创 support包

一、Support Annotation Library   注解@NonNull 作用于函数参数或者返回值,标记不可为空等等注解二、Percent Support Library   百分比percentRelativelayoutpercentFramelayout     app:layout_heightPercent="30%"     app

2017-08-24 15:40:48 307

原创 handler机制

Handler机制一、Handler机制Handler:Looper:循环,消息循环MessageQuene:消息队列,采用单链表的数据结构存储消息列表ThreadLocal:在不同的线程中互不干扰的存储并提供数据,可以获取每个线程的Looper主线程ActivityThread中有默认Looper,不需要创建如要使用Handler,子线程中必须先创建Loope

2017-08-24 15:37:50 288

原创 广播

BroadCastReceiver工作过程广播的使用方法:1.定义广播接收者(继承BroadCastRecevier)广播的注册 静态注册                                                                       动态注册   MyReceiver receiver

2017-08-24 15:37:05 253

原创 bitmap

一、bitmap1.BitMap代表一张位图,扩展名可以是.bmp或者.dib。  位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩,例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数为:1024×768×32/8=3072KB2.1.从资源文件中获取    Bitmap

2017-08-24 15:35:57 351

原创 Android动画

动画一、动画分类1.帧动画  每一帧对应的图片和持续时间  xml资源文件方式  标签   android.onshot 控制动画是否循环播放  android.duration 每一帧的播放持续时间  代码方式2.补间动画(Tween Animation)  四种方式:  透明度   alpha  大小变化 Scale  平移     translate

2017-08-24 15:33:37 161

原创 Android的线程和线程池

Android的线程和线程池一. 主线程和子线程 主线程:UI线程 子线程:执行耗时任务,如网络请求,I/O操作等二.Android中的线程形态1.AsyncTask  封装了Thread+Handler    AsyncTask的执行分为四个步骤,每一步都对应一个回调方法,这些方法不应该由应用程序调用,开发者需要做的就是实现这些方法。   1) 子类化Asyn

2017-08-24 15:32:28 175

原创 Activity工作机制

四大组件工作机制一、Activity1.启动类ActivityThread:App的真正入口。当开启App之后,会调用main()开始运行,开启消息循环队列,这就是传说中的UI线程或者叫主线程。               与ActivityManagerServices配合,一起完成Activity的管理工作ApplicationThread:是ActivityThread的

2017-08-24 15:31:17 529

转载 Builer模式链式调用

设计模式之Builder模式当我第一次使用Picasso的时候,看见下面的官网示例时,我和我的小伙伴都惊呆了!Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);如此简洁明了的使用方式,如此灵活多变的链式调用,让我深深地迷住了,然后我一直苦苦追求它,奈何天资愚笨,不知如何掀起它的神

2017-08-18 11:54:17 1297

转载 Activity启动过程全解析

文/裸奔的凯子哥(简书作者)原文链接:http://www.jianshu.com/p/6037f6fda285著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。前言一个App是怎么启动起来的?App的程序入口到底是哪里?Launcher到底是什么神奇的东西?听说还有个AMS的东西,它是做什么的?Binder是什么?他是如何进行IPC通信的?Activity

2017-08-08 14:48:51 275

转载 Android 带你彻底理解 Window 和 WindowManager

Android 带你彻底理解 Window 和 WindowManager标签: androidWindowWMSIPC2017-04-05 23:31 2264人阅读 评论(5) 收藏 举报 分类:Android(22) 版权声明:转载请说明出处:http://blog.csdn.net/yhaolpz目录(?)[+]

2017-08-07 11:27:11 220

转载 Android图片缓存之初识Glide

Android图片缓存之初识Glide前言:     前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架。技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实现方案不能满足项目的需求改用Afinal,由于Afinal不再维护而选择了师出同门的Xutils,中间也接触过别的开源框架比如

2017-07-13 16:15:26 202

转载 html5 常用 标签

html5 常用 标签一、主体结构header页面头部,不同与aside边栏nav外部链接集合section章节或段落article类似文章、摘要或留言POST等形式的记录(一般搭配内嵌头部、尾部、底部结构使用)hggroup类似子标题,标题信息、可选标题、TAG标签这样的数据,还是英文更好

2017-06-27 11:27:32 463

原创 Android5.0新控件

1. recycleview   使用方法   实现listview,gridview及瀑布流   添加分割线--自定义itemDerection   删除及增加动画   下拉刷新   onscrollstatechanged 参数(RecyclerView recyclerView, int newState)    //正在滚动  public static fin

2017-06-14 10:14:38 352

转载 Android APK反编译就这么简单

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

2017-06-12 15:44:31 241

原创 android源码编译

(以下基于ubuntu12.04操作系统)1 android编译环境搭建   1  $ sudo apt-getupdate   2 下载并安装jdk,配置环境变量   3输入sudo apt-get install命令通过ubuntu服务器在线安装需要使用的软件   $ sudo apt-get install git gnupg flex bisongperf build-

2017-06-09 11:32:05 338

转载 Android Snackbar花式使用指南

Snackbar是Android Support Design Library库中的一个控件,可以在屏幕底部快速弹出消息,比Toast更加好用。本文对原生Snackbar进行了修改,使其更加灵活。1.Snackbar基本介绍使用Snackbar要导入com.android.support:design库。Snackbar显示在所有屏幕其它元素之上(屏幕最顶层),同一时间只能

2017-05-19 15:05:21 1716

转载 接口和抽象类有什么区别

接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.

2016-09-01 10:16:49 266

转载 浅析Java中的final关键字

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:  一.final关键字的基本用法  二.深入理解final关键字  若有不正之处,请多多谅解并欢迎指正。  请尊重作者劳动成果,转载请标明原文链接

2016-08-16 16:03:33 222

转载 java内存分配分析

java内存分配分析本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由

2016-08-16 14:47:29 216

转载 Java中String类的内存分配

Java中的String类非常重要,功能强大,这里我们只谈它的内存分配。方法/步骤1物理的内存是线性结构,并不存在拥有不同功能的不同区域。编译器(或者JVM)为了更高效地处理数据,会用不同的算法把内存分为各种区域,不同的区域拥有各自的特性,Java中,内存可以分为栈,堆,静态域和常量池等。(可能有不同的叫法,但逻辑是一

2016-08-15 18:56:00 364

转载 Android跨进程通信一 Messenger

实现客户端与服务端之间的交互说明:         Messenger是信使的意思,从它的名字就可以了解到它充当着信差的角色。Android通过它实现跨进程通信,主要有客户端信使与服务端信使两种角色。        当客户端调用bindService( )的时候,服务端会通过onBind( )方法将Ibinder传递给客户端,然后客户端通过ServiceConnection中的

2016-07-19 15:15:07 260

转载 Android中跨进程通信方式之使用Bundle

一、开启多进程方式 activity android:name="com.example.activity.SecondActivity" android:process="com.example.activity.remote"> activity>12341234process属性指定SecondAc

2016-07-19 15:09:23 1323

转载 Android中跨进程通信方式之使用文件共享

一、使用Serializable序列化对象import java.io.Serializable;public class User implements Serializable{ private static final long serialVersionUID = 1L; private String username; private String pa

2016-07-19 15:07:18 807

转载 监听ContentProvider数据改变

当程序A在执行insert、update、delete时,通过getContext().getContentResolver().notifyChange(uri, null)方法来告诉所有注册在该Uri的监听者数据发生改变2.应用场景,有两个应用,  A应用       B应用      ContentProvider  A,B两个应用都需要访问Content

2016-07-18 17:49:57 543

转载 ContentProvider数据库共享之——读写权限与数据监听

一、数据库读写权限1、概述在AndroidManifest.xml中provider标签中有三个额外的参数permission、readPermission、writePermission;先看下面这段代码:[html] view plain copy provider      android:name=

2016-07-18 16:26:29 2689

转载 Android ContentProvider和Uri详解

ContentProvider的基本概念 :1.ContentProvider为存储和读取数据提供了统一的接口2.使用ContentProvider,应用程序可以实现数据共享3.android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)一、 使用ContentProvider(内容提供者)共享数据C

2016-07-18 16:00:14 252

转载 Android-onInterceptTouchEvent()和onTouchEvent()总结

Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等。这些Gesture会使用户体验大大提升。Android中的Gesture识别(detector)是通过GestureDetector.OnGestureListener接口实现的。首先,Android事件处理机制是基于Liste

2016-05-25 16:55:59 286

原创 mToolBar使用及属性

1.继承AppComptActivity或ActionBarActivity 2. Theme      AppCompt.Light.NoActionBar 3. Activity设置theme 4. 设置属性      (1)顺序  :   setTitle-------------setSupportActionBar(toolbar)------------------

2016-01-28 10:45:27 1499

转载 Android 5.x Theme 与 ToolBar 实战

1、概述随着Material Design的逐渐的普及,业内也有很多具有分享精神的伙伴翻译了material design specification ,中文翻译地址:Material Design 中文版。So,我们也开始Android 5.x相关的blog,那么首先了解的当然是其主题的风格以及app bar。当然,5.x普及可能还需要一段时间,所以我们还是尽可能的去使用兼容

2016-01-28 10:37:46 263

转载 Android之Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

Android之Android apk动态加载机制的研究(二):资源加载和activity生命周期管理转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客)前言为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中

2016-01-07 17:31:11 332

转载 Android apk动态加载机制的研究

目录(?)[+]转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/22597587 (来自singwhatiwanna的csdn博客)背景问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个

2016-01-07 16:42:17 293

转载 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS(2)

http://blog.csdn.net/tenfyguo/article/details/409587271.  HTTPS1.1. 什么是HTTPSHTTPS(HypertextTransfer Protocol Secure)即安全的HTTP。HTTPS的安全基础是安全套接层(Secure Sockets Layer,SSL)。HTTP工作在应用层(OSI模型

2015-12-04 14:49:43 749

转载 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

网络请求的安全性:1. 窃取秘钥2.伪造请求一,对称加密所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k。 对称加解密的过程如下:发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密钥)才能进行通信。发送端用共享密钥k对明文p进行加密,得到密文c,并将得到的密文发送给接收端

2015-12-04 14:46:04 634

空空如也

空空如也

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

TA关注的人

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