自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android Volley完全解析,带你从源码的角度理解Volley

经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。 多数朋友突然看到一张这样的图,应该会和我一样,

2017-01-19 15:48:41 460

原创 Volley框架的使用总结

在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。Volley主页 https://android.goog

2017-01-19 15:46:10 309

原创 二分查找

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以

2016-10-30 16:06:52 265

原创 归并排序

private int[] merge(int[] lres, int[] rres) { int[] res = new int[lres.length + rres.length]; int l = 0; int r = 0; int c = 0; while(l < lres.length && r < rre

2016-10-30 16:03:41 271

转载 图片的缓存

本博文为子墨原创,转载请注明出处!http://blog.csdn.net/zimo2013/article/details/15108267/** * * @author zimo2013 * @see http://blog.csdn.net/zimo2013 * */public interface ICacheManager { public boolean a

2016-10-30 12:49:27 366

转载 KMP

KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳转表next过程中进行了多个层面的优化和抽象,使得KMP算法进行模式匹配的原理显得不那么直白。本文希望能够

2016-10-26 09:23:28 227

翻译 快速排序

快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种

2016-10-26 09:20:09 248

转载 adb 常用命令

基本用法命令语法adb 命令的基本语法如下:adb [-d|-e|-s ] 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s ] 这一部分,直接使用 adb 。为命令指定目标设备如果有多个设备/模拟器连接,则需要为命令指定目标设备。参数含义-d指定当前唯一通过 USB 连接的 Android 设备为命令目标

2016-10-19 18:27:28 1528

原创 常用的几何公式

三角形:1. 半周长 P=(a+b+c)/22. 面积 S=aHa/2=absin(C)/2=sqrt(P(P-a)(P-b)(P-c))3. 中线 Ma=sqrt(2(b^2+c^2)-a^2)/2=sqrt(b^2+c^2+2bccos(A))/24. 角平分线 Ta=sqrt(bc((b+c)^2-a^2))/(b+c)=2bccos(A/2)/(b+c)5. 高线 Ha

2016-10-19 17:31:37 2484

原创 算法之网格。。

#define abs(x) ((x)>0?(x):-(x))struct point{int x,y;};int gcd(int a,int b){ return b?gcd(b,a%b):a;}//多边形上的网格点个数int grid_onedge(int n,point* p){ int i,ret=0; for (i=0;i  ret+=gcd(abs(

2016-10-19 17:20:46 535

原创 算法之整数几何函数库

//整数几何函数库//注意某些情况下整数运算会出界!#define sign(a) ((a)>0?1:(((a)struct point{int x,y;};struct line{point a,b;};//计算cross product (P1-P0)x(P2-P0)int xmult(point p1,point p2,point p0){ return (p1.

2016-10-19 17:19:20 374

原创 常用算法整理之圆

#include #define eps 1e-8struct point{double x,y;};double xmult(point p1,point p2,point p0){ return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);}double distance(point p1,point p2){ r

2016-10-19 17:17:29 339

原创 算法之素数的快速筛选两种方式

素数打表法12345678910111213141516memset(f, 0,sizeof(f)); f[1]=1 ;i=2;while(i{    for(j=i*2; j    {        f[j]=1;    }    i++;

2016-10-19 17:11:09 805

转载 计算一个大数n的阶乘的位数宽度(十进制)(log i累加法 )

计算一个大数n的阶乘的位数宽度(十进制)(log i累加法 )转载 输入:      每行输入1个正整数n, (0输出:      对于每个n,输出n!的(十进制)位数。 分析:      这道题采用蛮力法。根据定义,直接求解!    所谓n!的十进制位数,就是 log(n)+1, 根据数学公式有:n!=1*2*3*.....*n;         

2016-10-19 17:09:44 580

原创 趣味算法之求余 a^b%m;

123456789a%k  当p=1a^p%k=(a*a^(p-1)%k)%k;  p是奇数。((a*a)%k)^p/2 p是偶数。long long mod(longlong a,longlong p){    if(p==1)    returna%m;    if(p%2)    re

2016-10-19 17:08:36 502

原创 算法之错排公式 错排(加组合)

递推的方法推导错排公式  当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.  第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;   第二步,放编号为k的元素,这时有两种情况.1,把它放到位置n,那么,对于剩下的n-2个元素,就有M(n-2)种方法;

2016-10-19 17:05:43 462

原创 四叉树的构建-范围模拟分裂

四叉树的构建-简单的范围模拟分裂#include#include#includeusing namespace std;struct node{double dian[4];//用来保存x,y的最大值和最小值int gs;//限定一个节点中所能存放最大点数bool j;//用来标记是否进行了分裂node *f[4];//四叉树的四个节点void csh(

2016-10-19 17:04:32 789

翻译 算法之红黑树简单理解和定义

红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。红黑树和AVL树类似,都是在

2016-10-19 15:51:41 2630

转载 一篇关于Android Root不错的文章

Android的内核就是Linux,所以Android获取root其实和Linux获取root权限是一回事儿。你想在Linux下获取root权限的时候就是执行sudo或者su,接下来系统会提示你输入root用户的密码,密码正确就获得root权限了。Android本身就不想让你获得Root权限,大部分手机出厂的时候根本就没有su这个程序。所以你想获得Android的root权限,第一步就是要把编

2016-10-19 11:18:14 465

转载 Android 6.0 以上权限大坑和权限检查基类封装

简单介绍关于运行时权限的说法,早在Google发布android 6.0的时候,大家也听得蛮多的。从用户的角度来讲,用户是受益方,更好的保护用户的意思,而对于开发者来说,无疑增加了工作量。对于6.0以下的权限在安装时,会根据权限声明产生一个权限列表,用户只有同意才能完成app的安装。而在6.0以后,不需要先对权限授权就可以安装app,对于权限的授权我们可以选择禁止。在新的权限机制中,G

2016-10-19 11:13:13 1350

转载 Android-Tips

Android-Tips 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,我遇到的坑都顺利地被填平了。 为了便于日后遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了。 如果你是个 Android 新人,那么我希望这份列表,可以成为你踩到坑时的不完全手册。

2016-10-19 11:01:25 438

转载 Android 与 HTML + Js的交互

在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的javascript进行交互,Android也对交互做了很好的封装,所以很容易实现例如:点击网页中的按钮Android调用原生对话框,点击网页中的电话号码调用Android拨号APP。这篇给大家介绍下如何实现An

2016-10-19 10:44:20 303

转载 Android源码下载总结

这几天下载编译了android源码,下面是一些笔记。准备工作1.安装JDK和Xcode, 一般android开发人员的mac电脑上这两样应该是必备的吧。我的JDK是1.7版本,没试过1.8是否可行。 安装Xcode是因为需要里面Command Line Tools的。从Yosemite开始,Command Line Tools可以单独安装,无需像之前一样 必须先安装Xcode才能安装Com

2016-10-19 10:39:58 514

转载 android:process 的坑,你懂吗?

许多知识知其然而不知其所以然,这也许就是大神与菜鸟的区别吧。最近排查问题时发现一个问题: 一个在 Application 中启动的定时任务在运行时会被调用多次,诡异的很,最后发现是一个前人留下的坑,原因就是对 android:process 不知其所以然造成的。android:process 属性关于 android:process 属性,相信大家都不陌生,android 官网是这样说

2016-10-19 10:34:42 1717

原创 Android6.0中有关权限的那些坑资料的整理

Runtime Permissions           在Android 6.0中谷歌摒弃了之前的install time permissions model取而代之的是runtime permissions model。先来说说install time permissions model,这个大家不陌生,就是当Android App安装的时候会向用户展示一坨权限,如果此时用户选择安装,则

2016-10-19 09:51:46 2270

原创 android文件管理器开发中遇到的一些问题

1.难点主要有如何获取外挂设备的信息以及路径无论是U盘还是TF卡等等获取方式在其他博客中请自己查看。2.在Android6.0中想要对外部设备进行的文件的操作是比较难的因为6.0中Android系统对外部存储器操作的权限进行了修改,所以只能进行读操作,无法进行对外部设备的写操作,在翻看了大量的知识博客中,找的了相关的解决方法Android 外部存储权限分析 不知道你有么

2016-10-19 09:30:21 1102

原创 Android文件管理器开发中对文件的复制,移动,删除,新建文件夹等的操作

//新建文件 public boolean newFile(File file) { boolean result = false; if (file != null) { try { result = file.createNewFile(); } catch (Exception e) { e.printStackTrace(); result = false; } } return resu

2016-10-19 09:27:01 2609

原创 Android中有关于获取外挂设备的路径以及基本信息

/** * 获取所有存储卡挂载路径 * @return */ /* public static List getMountPathList() { List pathList = new ArrayList(); final String cmd = "cat /proc/mounts"; Runtime run = Runtime.getRuntime();//取得当前JVM的运行时环境 try

2016-10-19 09:24:26 776

转载 CountDownLatch的介绍和使用

CountDownLatch的介绍和使用http://www.itzhai.com/the-introduction-and-use-of-a-countdownlatch.html1、类介绍java.util.concurrent 类 CountDownLatchjava.lang.Objectjava.util.concurrent.CountDownLatch

2016-10-18 18:29:00 260

转载 Android中各类.mk文件的编写

LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_STATIC_JAVA_LIBRARIES := xsocket jackson-mapper logging jackson-core javatar log4jLOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES

2016-10-18 18:26:55 9291

原创 android中对u盘以及tf卡插入的广播监听

public class UsbStateReceiver extends BroadcastReceiver { //BroadcastReceiver private String TAG = "UsbStateReceiver"; public static final int USB_STATE_ON = 0x00021; public static final

2016-10-18 18:21:48 5093

原创 Android文件管理器开发对各类文件的打开以及处理

针对Android6.0开发的对读写权限的处理public class AppUtil { // Storage Permissions private static final int REQUEST_EXTERNAL_STORAGE = 1; private static String[] PERMISSIONS_STORAGE = {

2016-10-18 18:14:28 5270

原创 Android文件管理器开发之对隐藏的文件进行过滤

1.Android为linux系统。隐藏文件的操作通常是在文件名前面加一个.2.Windows系统下,隐藏文件的方式与之很大不同。3.两者不能相互隐藏。Windows下隐藏文件在linux下是可以被看到的。过滤隐藏文件需要实现FileFilter接口package com.memo.filemanager;import java.io.File;import java.

2016-10-18 18:11:03 2513

Android Api

Android Api

2016-10-19

算法之BFS与DFS

算法之BFS与DFS

2016-10-19

空空如也

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

TA关注的人

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