自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android实战技巧:为从右向左语言定义复杂字串

我们所使用的语言,无论是中文还是英语,都是从左向右读的(Left-To-Right),因此我们已经十分习惯了从左向右读(Left-To-Right)。一旦遇到了从右向左读的(Right-To-Left),便会十分的不习惯,甚至比见到火星文还难受。光看着就令人难受了,但更让人崩溃的是,还要为应用去定义ArabiC语言的字串,也就是为应用添加Arabic语言支持,不但要查看大量的Arabic天书,还要

2016-10-27 16:43:41 585

转载 Android 6.0 动态权限申请

在Android6.0中,引入了动态申请权限机制。 以前我们在申请权限的时候,都是写在了Manifest.xml里面。 安装的时候会有一堆提示申请权限的界面, Google 可能想到用户可能并不注意这些权限。 so~ 就迎来了 动态权限机制。请注意,如果你使用了API 23以上, 然而并没有用代码处理权限问题。 那么你的程序将会 CRASH !!!下面我们来看看到底哪些权限是需要动

2016-10-19 18:23:46 458

转载 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = “Hello World!”elseendififeq ($(OPT),define)    VRE ?= “Hello World! First!”endifif

2016-10-05 20:11:08 257

转载 Android 中的 Service 全面总结

Android 中的 Service 全面总结原文链接:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html1、Service的种类  按运行地点分类:类别区别 优点缺点  应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是

2016-07-24 17:29:53 293

转载 接收广播BroadcastReceiver

接收广播BroadcastReceiver Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来响应它觉得重要的通知。broadcast receiver可以通过多种方式通知用户

2016-07-24 17:27:01 524

转载 java中的sleep()和wait()的区别

对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只

2016-07-20 21:25:43 265

转载 Java泛型

一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi");

2016-07-19 23:23:58 238

转载 适配器模式

本文讨论适配器模式。适配器模式是23中设计模式之一,它的主要作用是在新接口和老接口之间进行适配。它非常像我们出国旅行时带的电源转换器。为了举这个例子,我还特意去京东上搜了一下电源转换器,确实看到了很多地方的标准不一样。我们国家的电器使用普通的扁平两项或三项插头,而去外国的话,使用的标准就不一样了,比如德国,使用的是德国标准,是两项圆头的插头。如果去德国旅游,那么我们使用的手机充电器插头无法插到德国

2016-06-26 13:04:03 265

原创 java synchronized详解(原文基础改进)

记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。      一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。     二、然而,当一个线程访问object的

2016-06-17 16:25:18 3885

转载 Java之命令模式(Command Pattern)

1.概念  将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。   在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。但在有些情况下有必要使用一个专门的类对这种调用过程加以封装,我们把这种专门

2016-06-13 14:42:30 280

转载 设计模式六大原则

网上找到的。原博地址在:http://www.uml.org.cn/sjms/201211023.asp觉得写得相当好。写在这里分享一下。以方便自己记忆。设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原

2016-06-07 20:52:31 278

转载 Java枚举的7种常见用法

DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color { 

2016-06-01 23:56:38 256

转载 Java的桥接模式

转载自:http://www.importnew.com/6857.html放在这里,主要是方便记忆。侵权立删。简单来讲,桥接模式是一个两层的抽象。桥接模式是用于“把抽象和实现分开,这样它们就能独立变化”。 桥接模式使用了封装、聚合,可以用继承将不同的功能拆分为不同的类。1、桥接模式的故事电视和遥控器(图中有错字)是一个完美展示两层抽象的例子。你有一个电视机的接口,还有

2016-05-31 11:16:37 570

转载 android:descendantFocusability用法简析

android:descendantFocusability用法简析    开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如Imag

2016-05-22 18:44:07 276

转载 进程与线程的一个简单解释

作者: 阮一峰日期: 2013年4月24日进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开

2016-05-11 10:45:21 277

原创 递归的方法进行全排列

用递归的方法全排列。例如求0~5之间的所有输出组合。 public class fullList { static int n = 5; static int[] a = new int[n + 1]; static int[] book = new int[n + 1];// int step = 1; public

2016-05-04 13:05:52 310

原创 每日一个小算法。快速排序

快速排序就是特别版的冒泡排序。最差情况下时间复杂度为O(N*N),平均复杂度为O(N*logN)。基于二分思想。下面public class Sort {public class Sort { static int[] sortArray = new int[] {6,6,6,6,61,2,7,9,3,4,5,10,8 }; static int n = sortArray.length

2016-04-26 12:25:07 303

原创 每日一个小算法-冒泡排序

冒泡排序就是相邻的两个值进行排序。每次排序确定一个最大的或者确定一个最小的位置。每次确定一个值的位置之后。下一次遍历将少进行一次遍历。public static void sort() { int[] beforeSort = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2131, 3232, 445, 5, 6, 4, 67,

2016-04-26 10:58:09 294

原创 每日一个小算法-简化版桶排序

桶排序思想主要是将要排序的数组中的值,使对应编号也就是对应下标的桶中值加1,桶为数组的项。最后遍历桶的数组。打印出排序号的值。但是必须知道要排序数组的最大值和最小值。有待改进。public static void main(String[] args) { int[] reordering = new int[] { 1, 9, 10, 9, 5, 5, 5, 5, 1, 2,

2016-04-25 13:23:05 265

转载 [Android] ImageView.ScaleType设置图解

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:1. 在layout xml中定义android:scaleType="CENTER"2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);接下来,将对Scal

2016-04-24 22:29:15 310

原创 TextView使用SpannableString设置复合文本

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layou

2016-04-15 16:56:58 273

转载 Android Studio 告诉你名字,自己修改快捷键

本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。情况是这样子的,公司用win7,私人用mac,私用时间少,经常在as的快捷之间小小凌乱。很多搜快捷键都是去网上搜索一下as下某某快捷键是什么,然后一尝试,有的生效,有的不生效,可能as给改了keymap风格,可能被别人自定义,可能可能,很多可能。不管多少种可能,我们还是知道 快捷键 在as里面对应的名字比较靠谱,是吧,然后可以不管

2016-04-15 15:06:47 1485

原创 Android 中View类DrawingCache的使用

View组件显示的内容可以通过cache机制保存为bitmap,主要有以下方法:void setDrawingCacheEnabled(booleanflag), Bitmap getDrawingCache(booleanautoScale), void buildDrawingCache(booleanautoScale), void destr

2016-04-13 13:06:57 761

原创 java的左移和右移的区别常见的hascode和equals写法

java的左移和右移的区别常见的hascode和equals写法“>> 右移,高位补符号位” 这里右移一位表示除2“>>> 无符号右移,高位补0”; 与>>类似“<< 左移” 左移一位表示乘2,二位就表示4,就是2的n次方@Overridepublic boolean equals(Object o) { if (this == o) return true; if

2016-04-11 21:52:14 755

原创 java.util.Collections.unmodifiableMap()方法实例

unmodifiableMap() 方法用于返回指定映射的不可修改视图。声明以下是java.util.Collections.unmodifiableMap()方法的声明。public static K,V> MapK,V> unmodifiableMap(Map extends K,? extends V> m)参数m--这是一个不可修改视图是要返回的映射。返

2016-04-11 21:36:20 4241

原创 build模式小例子

简单介绍一下build模式直接上代码。简单易懂。也方便自己以后复习。public class Person { private final int age; private final int safeID; private final String name; private final String address; public int getA

2016-03-16 18:49:07 515

转载 Android中自定义样式与View的构造函数中四个参数的意义

看到大神的一篇奇文,解决了我多年的困扰。原博地址:http://www.cnblogs.com/angeldevil/p/3479431.html零、序一、自定义Style二、在XML中为属性声明属性值  1. 在layout中定义属性  2. 设置Style  3. 通过Theme指定三、在运行时获取属性值  1. View的第三个构造函数的第三个

2016-03-08 22:59:48 3188

转载 px 与 dp, sp换算公式?

随笔- 442 文章- 3 评论- 98 px 与 dp, sp换算公式?PPI = Pixels per inch,每英寸上的像素数,即 "像素密度"xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分别为低、中(android默认)、高

2016-03-02 15:30:29 2793

转载 ArrayList 和LinkedList 的优缺点

ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始

2016-02-26 22:26:24 292

原创 hasmap和treemap的实现与区别

2.两种常规Map实现  HashMap:基于哈希表实现。使用HashMap要求添加的键类明确定义了hashCode()和equals()[可以重写hashCode()和equals()],为了优化HashMap空间的使用,您可以调优初始容量和负载因子。  (1)HashMap(): 构建一个空的哈希映像  (2)HashMap(Map m): 构建一个哈希映像,并且添加映像m的所有映

2016-02-26 22:16:14 1785

转载 HashSet,TreeSet和LinkedHashSet的区别

Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可

2016-02-26 22:09:04 371

原创 每日一个小算法(二)-插入排序

插入排序1.通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。如果输入数组已经是排好序的话,插入排序

2016-02-26 20:27:48 351

原创 每日一个小算法(一) 数组中连续个数组成的和最大

题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。public class max { public static vo

2016-02-26 01:00:18 490

原创 极光推送的使用步骤

关于极光推送的使用步骤自己使用过程中的配置步骤1.去极光官网注册一个账号,并且新建一个项目网上一大堆不详细介绍了。注意包名。然后下载android的例子工程2.自己在本地创建一个和刚才一样包名的工程。3.copy相应的代码和资料。包括 manifest.xml的一些权限。剔除一些自己不需要的然后复制进来即可。<uses-sdk android:minSdkV

2016-02-25 17:01:26 11614

转载 canvas and bitmap 比较不错的文章分享下

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)1、首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the

2016-02-23 21:06:03 320

原创 Bitmap.createBitmap函数有6个重载方法

public static Bitmap createBitmap(Bitmap src)从原位图src复制出一个新的位图,和原始位图相同public static Bitmap createBitmap(int[] colors, int width, int height, Bitmap.Config config) 这个函数根据颜色数组来创建位图,注意:颜色数组的长度

2016-02-23 20:58:32 520

转载 Android入门之文件系统操作(二)文件操作相关指令

(一)获取总根[java] view plain copyFile[] fileList=File.listRoots();  //返回fileList.length为1  //fileList.getAbsolutePath()为"/"  //这就是系统的总根  (二)打开总根目录[java] view

2016-02-02 18:56:54 321

转载 Http 与 Socket 区别

HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通

2016-01-08 14:45:42 458

转载 图像渲染(Shader)

在Android中,提供了Shader类专门用来渲染图像以及一些几何图形。  Shader类包括了5个直接子类,分别为:BitmapShader、ComposeShader、LinearGradient、RadialGradient以及SweepGradient。其中,BitmapShader用于图像渲染;ComposeShader用于混合渲染;LinearGradient用于线性渲染;R

2015-12-09 19:45:36 314

转载 android的消息处理机制(图+源码分析)——Looper,Handler,Message

作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被g

2015-12-08 20:56:18 274

android4 高级编程(PDF)

android4高级编程 中文高清pdf版

2015-07-01

空空如也

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

TA关注的人

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