自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(55)
  • 收藏
  • 关注

转载 算法系列(七)数据结构之树的基本结构和二叉树的遍历

一、概述 在算法系列(六)数据结构之表队列和栈一文中介绍了数据结构中的基本线性数据结构。对于大量的数据,链表访问时间太慢,而数组插入删除时间太慢。我们讨论一下数据结构树。 树结构大部分操作平均运行时间都为O(logN) 二、树的定义 树是由n(n>=1)个有限节点组成一个具...

2016-06-17 23:25:00 63

转载 Android依赖注入Dagger的使用和源码解析(上篇)

一、基本概念 依赖注入(DI)和控制反转(IOC): 依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。 使用依赖注入...

2016-06-17 23:25:00 81

转载 android开源图表库MPAndroidChart文档翻译(上)

MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。 android开源图表库MPAndroidChar的githu地址: https://github.com/PhilJay/MPAndroidChart 文档地址...

2016-06-17 23:25:00 173

转载 android开源图表库MPAndroidChart文档翻译(中)

在 android开源图表库MPAndroidChart文档翻译(上)中,介绍了mpandroidchart的创建,回调方法,还有轴。这篇文章继续翻译剩余内容。文档内容比较多,这是中篇。最后的内容在下篇做翻译。 六、设置数据 要给图表设置数据,调用的方法为 public void...

2016-06-17 23:25:00 223

转载 算法系列(三)排序算法上篇--冒泡排序插入排序和选择排序

在算法系列(二)查找算法一文中,主要介绍了二分查找。这篇文章来介绍一下排序算法。 排序算法概述 排序算法比较多,分两个篇幅来讲。由易道难。 先总体看一下都有哪些排序算法 冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序,计数排序,基数排序,希尔排序,桶排序。 排序算法分类 ...

2016-06-17 23:25:00 100

转载 EventBus的使用和源码解析

一、基本介绍 EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于 Android 四大组件间通讯,也可以用户异步线程和主线程间通讯等等。EventBus Even...

2016-06-17 23:25:00 87

转载 Picasso的使用和源码解析

一、基本介绍 picasso是Square公司开源的一个Android图片下载缓存库,github地址https://github.com/square/picasso,可以实现图片下载和缓存功能。 Picassso的特点有: 自动将图像缓存在本地,自带内存和硬盘二级缓存功能 通过图...

2016-06-17 23:25:00 191

转载 算法系列(九)平衡二叉查找树AVL树

在算法系列(八)数据结构之二叉查找树中,介绍了二叉查找树的定义和基本操作。大部分操作的平均时间复杂度为O(logN),但是如果预先输入的数据有序,那么一连串的insert操作花费的时间就会很长,时间复杂度为O(N),一种解决方法是增加平衡附加条件,使得任何节点深度都不会过深。AVL树是最先...

2016-06-17 23:24:00 65

转载 ListView注意的问题和源码解析(上)

设置没有数据时显示的默认布局 setEmptyView这个方法传入的是一个view, TextView emptytext=new TextView(this);emptytext.setText("the list is empty");listview.setEmptyView(...

2016-06-17 23:24:00 88

转载 有效避免OOM--合理使用软引用和弱引用

在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引...

2016-06-17 23:24:00 88

转载 算法系列(四)排序算法中篇--归并排序和快速排序

在算法系列(三)排序算法上篇一文中,介绍了冒泡排序,插入排序和选择排序算法。这篇文章继续讲解排序算法。 概述 冒泡排序,插入排序和选择排序算法这些算法的时间复杂度都是O(N^2),是否有更高效的排序算法呢?当然有了,堆排序,归并排序,快速排序,它们的时间复杂度都是O(nlogn)。...

2016-06-17 23:24:00 133

转载 算法系列(六)数据结构之表队列和栈

在http://blog.csdn.net/robertcpp/article/details/51559333一文中,我们讲了排序,这一章来介绍一下基本数据结构:表、队列、栈和它们的简单实现 一、表ADT 1、数组实现顺序表 通过对数组操作,来直接对表进行增删查改操作,这种线性表...

2016-06-17 23:24:00 74

转载 Volley源码解析使用方式和使用场景分析

概述 Volley是Google在2013年推出的一个网络库,用于解决复杂网络环境下网络请求问题。刚推出的时候是非常火的,现在该项目的变动已经很少了。项目库地址为 https://android.googlesource.com/platform/frameworks/volley ...

2016-06-17 23:24:00 67

转载 Retrofit2使用方式和源码解析

简单介绍 Retrofit是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。 ...

2016-06-17 23:24:00 65

转载 算法系列(五)排序算法下篇--如何超越排序算法下界

概述 在算法系列(四)排序算法中篇--归并排序和快速排序一文中,我们介绍了归并排序和快速排序,最坏的情况下,最快的排序算法的时间复杂度是O(nlogn),是否有更好的算法呢?到目前为止,没有特殊的规则,O(nlogn)已经是最好的排序算法了,也就是说通用排序算法的时间复杂度下界就是O(nlo...

2016-06-17 23:24:00 158

转载 Android 事件总线OTTO使用说明和源码解析

一、Otto简单介绍 OTTO是Square推出的库,地址:https://github.com/square/otto 先来看看otto的官方介绍 An enhanced Guava-based event bus with emphasis on Android support...

2016-06-17 23:24:00 116

转载 android开源图表库MPAndroidChart文档翻译(下)

在 android开源图表库MPAndroidChart文档翻译(中) 介绍了设置数据,设置颜色,轴的格式化,图例,动态修改数据。这篇文章继续翻译MPAndroidChart文档剩余内容。 十七、ChartData 类 这个WIKI条目的意图是更好的介绍MPAndroidChart的数据...

2016-06-17 23:24:00 183

转载 算法系列(二)查找算法--基本查找和二分查找

在 算法系列(一)基本概念一文中,简单介绍了算法基本概念,算法复杂度评估,常用算法证明方式。这篇文章介绍一下查找算法,主要是二分查找算法。 从n个元素中A0,A1....An-1中,找到要找到的元素x,最简单的方法是遍历n个元素,找到元素x则返回x的位置,这种算法的时间复杂度为O(n)。 ...

2016-06-17 23:23:00 72

转载 算法系列(一)基本概念

一、什么是算法 算法是完成一个任务所需的一系列步骤,计算机解决计算机问题,我们希望从一个计算机算法中获得两个结果,给定一个输入,它应该总能够产生该问题的正确输出结果,并且在运行该算法时,能够有效的利用资源。(出自《算法基础》) 算法是为求解一个问题所需要遵循的、被清楚指定的简单指令集合。(...

2016-06-17 23:23:00 70

转载 Java并发之CyclicBarrier

CyclicBarrier是一个同步辅助工具类,它允许一组线程相互等待,直到到达一个公共的栏栅点。CyclicBarriers对于那些包含一组固定大小线程,并且这些线程必须不时地相互等待的程序非常有用。之所以将其称之为循环的Barrier是因为该Barrier在等待的线程释放之后可以重用。 ...

2016-05-25 20:40:00 58

转载 Android启动过程

首先Android框架架构图:(来自网上) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。 启动的过程如下 下面将从Android源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码片段中...

2016-05-25 20:40:00 85

转载 缓存算法简单介绍

Least-Recently-Used(LRU) - 最近最少使用 替换掉最近被请求最少的文档。这一传统策略在实际中应用最广。在CPU缓存淘汰和虚拟内存系统中效果很好。然而直接应用与代理缓存效果欠佳,因为Web访问的时间局部性常常变化很大。 FIFO(First in...

2016-05-20 13:21:00 437

转载 Android启动过程

首先Android框架架构图:(来自网上) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。 启动的过程如下 下面将从Android源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码片段中...

2016-05-20 13:21:00 57

转载 StrictMode介绍

作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Android程序运行缓慢卡顿,并且常常出现ANR对话框等等问题。既然有性能问题,就需要进行性能优化。正所谓工欲善其事,必先利其器。一个好的工具,可以帮助我们发现并定位问题,进而有的放矢进行解决。本文主要介绍Strict...

2016-05-20 13:21:00 117

转载 Activity启动模式

当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中。Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activity的属性android:launchMode=""设置。 1. Standar...

2016-05-20 13:21:00 51

转载 Android WebView问题汇总以及解决方法

Android WebView常见问题解决方案汇总: 1、Android webview背景设置为透明无效 webview是一个使用方便、功能强大的控件,但由于webview的背景颜色默认是白色,在一些场合下会显得很突兀(比如背景是黑色)。 此时就想到了要把webview的背景设置为透明,这样...

2016-05-07 00:38:00 276

转载 Android H5判断是否安装app和唤起APP

第一种方式, if(...){ document.location = ''; setTimeout(function(){ //此处如果执行则表示没有app },200); } 这里的逻辑很简单,当没有成功打开app的时候 新页面不会弹出则页面逻辑可言...

2016-05-07 00:31:00 1240

转载 Android内存泄露分析和处理

Java使用有向图机制,通过GC自动检查内存中的对象,如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收。 内存泄露的原因 1.资源对象没关闭造成的内存泄漏 资源性对象比如 (Cursor...

2016-05-07 00:30:00 70

转载 Android复用布局标签优化

在布局优化中,Androi的官方提到了这三种布局<include />、<merge />、<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一下怎么使用. 1、布局重用<include /> <inclu...

2016-05-07 00:30:00 149

转载 okhttp3与旧版本okhttp的区别分析

okhttp直接newOkHttpClient,而okhttp3中提供了Builder,很好的使用了创建者设计模式 cookie的设置方式不同: okhttp调用OkHttpClient的setCookieHandler方法,CookieHandler是Android SDK提供...

2016-05-07 00:28:00 115

转载 JAVA之代码混淆proguard

官方网站用法 http://proguard.sourceforge.net/index.html#/manual/examples.html proguard主要三部分功能 缩减代码、优化代码、混淆代码。三部分功能都可以在配置文件里配置不启用此功能。 #Shrink Options #不缩...

2016-05-07 00:27:00 175

转载 android剪切板

android2.1之后版本 其一:(已运行成功) ClipboardManager clip = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); clip.ge...

2016-05-04 11:19:00 55

转载 android自定义dialog

在android中我们经常会用AlertDialog来显示对话框。通过这个对话框是显示在屏幕中心的。但在某些程序中,要求对话框可以显 示在不同的位置。例如,屏幕的上方或下方。要实现这种效果。就需要获得对话框的Window对象,获得这个Window对象有多种方法。最容易的就是直接 通过Al...

2016-05-04 11:19:00 63

转载 Windows库连接之动态链接库

从动态库中导出函数有两种方法, 使用模块定义,创建DEF文件,第一句必须是LIBRARY语句,EXPORTS语句导出函数,函数名后跟一个@和一个数字表示顺序值,DESCRIPTION语句可以对DLL用途进行描述。也可以不使用模块定义,在定义函数时使用关键字_declspec(dell...

2016-05-04 11:19:00 107

转载 android SQL 语句

基础 创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database databaseName g...

2016-05-04 11:19:00 124

转载 AlarmManager的使用

AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent。 android提供了四种类型的闹钟: ❑ E...

2016-05-04 11:19:00 172

转载 JAVA网络编程学习笔记

我在电脑上测试代码,发现TELNET命令不能用,百度后才明白Telnet作为系统管理员最常用的远程管理工具之一,在以前的Windows版本中只需运行services.msc打开服务管理,启动服务即可使用了。可是在Windows 7中,却无法找到Telnet服务了,看来Telnet因为...

2016-05-04 11:19:00 46

转载 Android签名与风险

Android签名概括:在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,这个数字证书就是这个应用的签名。此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该p...

2016-05-04 11:19:00 244

转载 Android系统服务

Android系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等。下面描述一下添加一个系统服务的具体步骤。 1、 撰写一个aidl文件,定义服务的接口,将在编译过程中通过aidl工具生成对应的java接口。一般系统服务的ai...

2016-05-04 11:19:00 53

转载 Android中Bitmap,byte[],Drawable相互转化

一、相关概念 1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象 2、Canvas画布,绘图的目的区域,用于绘图...

2016-05-04 10:45:00 48

空空如也

空空如也

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

TA关注的人

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