自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

a2758963的专栏

分享知识,传递价值

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

原创 String, StringBuilder及StringBuffer的区别

在java中,String, StringBuilder及StringBuffer经常被用来处理字符串操作。下表列出它们的异同点: StringStringBufferStringBuilder是否可继承否(final)否(final)否(final)是否长度

2015-04-07 18:07:15 674

原创 如何Android中自定义Navigationbar

在如何控制android系统中NavigationBar 的显示与隐藏文章里简要地介绍了Navigationbar的背景知识,NavigationBar的代码是放在...\frameworks\base\packages\SystemUI\路径下面的。该路径下的工程主要负责手机中系统级UI的显示部分,如下图框中选中部分(包含其中的通知栏的显示),USB的连接,截屏等等。

2015-03-06 09:46:59 3046

原创 使用TraceView调试并提高Android应用性能

TraceView是android的一个可视化的调试工具。借助它,你可以深入了解你代码在运行时的具体性能表现。它能帮你更好了解到代码运行过程的效率,进而改善代码,提高你应用的性能表现。使用TraceView的两种方法。在用TraceView工具之前,你先要生成TraceView文件,文件包含了应用的跟踪的相关信息,然后再用TraceView工具对文件进行分析。使用代码方式在代码里使

2015-02-28 18:57:14 1236

原创 android中对字符串的复数处理方法

如果你开发的应用覆盖多个国家,在处理数量的问题的时候,一定会碰到根据不同的数量使用用不同的字符串。不同的语言在处理数量对待方式不一样,这种情况非常常见,举一个简单的例子说明下中文和英文在修饰数量上的差异:在中文里,1本书,2本书,...... n本书,在英文里,1 book, 2 books, ...... n books。然而,即使在0的情况下,也要用books, 即0 books.

2015-02-25 22:57:06 3017

原创 如何在不同的android应用之间共享数据?

如果你做android的framework的开发,往往会涉及到不同应用之间的配合,需要读取或修改某个共享的数据。这时你可以用到下面两个类来解决问题,这两个类的使用在framework也有经常出现。SystemProperties,Settings.System1.SystemProperties的使用。在framework中,SystemProperties,常用来读取或修

2015-02-07 23:38:52 2524 1

原创 binder与aidl机制区别

binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的。它是对IBinder类的实现,其中IBinder类提供这样一个类的标准的本地化实现方式。大多数开发者不会去直接实现Binder类,而是用AIDL工具来描述他们自己想要的接口,借助它来生成一个合适的Binder子类。然而,你也可以直接继承Binder来实现你自定义的RPC协议,或者更简单地,实例化一个原生

2015-02-07 18:35:34 4578

原创 常见的邮件服务协议之POP3,IMAP, EXCHANGE

前段时间做邮箱客户端开发,涉及协议支持的问题,顺便了解了几大协议:一般来说,在手机客户端上设置邮箱之前,你最好得知道你所用邮箱支持的是哪种协议,常见的协议有下列几种:POP3, IMAP, Exchange, 下面针对三种协议分别作介绍,以便了解它们之间的区别:POP3(Post Office Protocol)本协议只要用于支持使用客户端远程管理服务器上的电子邮件。使用该种协

2015-02-02 00:17:30 8379

原创 如何控制android系统中NavigationBar 的显示与隐藏

我们使用的大多数android手机上的Home键,返回键以及menu键都是实体触摸感应按键。如果你用Google的Nexus4或Nexus5话,你会发现它们并没有实体按键或触摸感应按键,取而代之的是在屏幕的下方加了一个小黑条,在这个黑条上有3个按钮控件,这种设置无疑使得手机的外观的设计更加简约。但我遇到身边用Nexus 4手机的人都吐槽这种设计,原因很简单:好端端的屏幕,被划出一块区域用来显示3个

2015-01-21 20:44:45 12362 1

原创 如何关闭android 4.4首次开机的移动数据连接

默认的android系统在第一次使用时,移动数据连接是自动打开的。如果你插有SIM卡,就会有走流量的情况。虽然在第一次使用时有设置向导会提示你是否要关闭数据连接,当你看到也会有些不爽:未经过我同意,移动数据竟然给打开了。你可能很快地关闭数据连接,但当你完成了设置后,再进到 设置->流量使用情况,可以看到移动数据产生了流量。最近就是有这样的一个需求,在android4.4关掉系统默认的数据连接,

2015-01-15 18:29:01 4241 1

原创 windowmanger的addview,removeView方法出现的异常

最近在调试一个关于诡异的bug,问题就是出现在windowmanger.addview(View view)这行代码。具体情况:代码走到这行,突然没法往下走了,程序没有崩溃,logcat里也没能抓到error级别的日志。无意中,发现了warning级别的日志。java.lang.IllegalStateException:xxx has already been added

2015-01-07 10:36:50 8736 1

翻译 使用同步适配器(sync adapter)传输数据

在android设备与web服务器之间实现数据同步能显著提高你的应用的实用性,让你的应用更受用户的欢迎。比如说,你的数据上传给web服务器,这就有了一个实用的备份。当用户的设备离线工作时,这时从服务器下载输数据是很有用的。有些情况下,用户可能会觉得通过网页的同步接口来输入或编辑数据更方便,因为这些数据很快就从同页上同步过来了,他们也可能想在一段时间内采集数据然后再将数据上传到中央存储区。尽

2014-11-10 23:20:19 2505

原创 java正则表达式的入门

一、什么时候用正则表达式?在程序开发中,常常会需要对文本内容反复地去执行匹配、查找、提取、替换、判断。如果个人仅仅用代码去实现上述功能,耗费时间。正则表达式,可用来描述或匹配一系列符合某个句法规则的字符串的单个字符串。所以借助正则表达式,能够对含有各种字符歌词lrc文件提取有效信息,并归类保存。一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字

2014-11-04 19:44:44 816

原创 多个类定义attr属性重复的问题:Attribute "xxx" has already been defined

如果从单独开发app的话,可能不会遇到多个自定义类的attribute 的名字重复的问题。但是如果是团队合作开发的话,可能会碰到这样的问题,A和B自定义的两个类都用了同一个名字来定义属性,这时系统会报出警告,Attribute "xxx" has already been defined. A和B又都不想修改自己的名字,这时就很头痛。下面举个例子,在values文件夹下

2014-09-09 18:49:00 18488 3

原创 Textview的文字滚动,跑马灯效果的实现

在网上看到各种文字滚动的实现的代码,有些没交代具体使用背景,所以当使用场景不同时,效果可能却出不来。比如说,textview可能因为多级ViewGroup(如LinearLayout, RelativeL)的嵌套而无法实现滚动效果。为了搞清不同情况下如何使用的达到效果,自己做了一个demo。

2014-08-26 10:58:42 1368 1

原创 Scrollbarstyle属性的设置对scrollbar位置的影响

ScrollbarStyl总共有四个属性:insideoverlay,insideInset,outsideinset,outsideoverlay。借助这个属性,可以控制scrollbar的风格和位置。scrollbar可以被插入到一个视图里,也可以被置于一个视图的上层。同样,scrollbar可以被置于view的padding的区域,也可以置于view的padding之外的区域。

2014-08-16 13:26:52 4844

原创 android 软键盘在全屏下的布局计算问题

在非全屏模式下,将activity的windowSoftInputMode的属性设置为:adjustResize。同时在View的onSizeChanged(int w, int h, int oldw, int oldh)里可以得到变化后的尺寸,然后根据前后变化的结果来计算屏幕需要移动的距离。但是在全屏模式下,上述方法已不再奏效了。

2014-05-12 10:39:52 8564

原创 android 软键盘的显示与隐藏问题的研究

在android中,经常会和输入法的软件键盘交互。在Manifest文件里,系统给activity的一个属性-windowSoftInputMode来控制输入法的显示方式。该属性提供了Activity的window与软键盘的window交互的方式。这里的属性设置有两方面的影响:1.软键盘的显示与隐藏。-当Activity界面成为用户的焦点时,或隐藏或显示。2。对Activty的主windo

2014-05-07 10:28:35 2817

原创 详解CursorLoader在android中的应用

CursorLoader是从API 11开始引入的。一般涉及数据库的时候,都会用到cursor,如果是你设计的应用本地应用还好,在加载数据时cursor使用场景不会很频繁复杂。如若是联网的应用,面对的场景就会比较复杂,你的应用随时会从网上获取到新的内容并存储到数据库中,与此同时,你随时需要对界面的内容进行更新,所以你要管理好你的cursor: (a)对数据库进行监听,在数据变化时更新你的cur

2014-04-24 09:35:54 6934

原创 网络编程之TCP,HTTP,Socket的理解

在网络编程中,常常会接触到几个概念:TCP,HTTP,Socket。为了能区分他们之间的差异,自己做了这样的一个总结。先了解下网络协议的层次:TCP,HTTP都属于网络协议,但它们属于不同层次的。TCP位于传输层,HTTP位于应用层。下面我们再分别了解一下它们:TCP:TCP(Transmission Control Protocol) 传输控制协议,是一种面向连接的、可靠的、

2014-02-20 12:21:09 1314

原创 网络编程之网络协议概念(基础篇)

android开发不可避免的问题就是涉及到网络编程。一个没有网络接入的应用怎么称之为移动互联网应用呢!自身基础比较薄弱,先温习下网络的基础知识。任何两个事物交换信息都会按一定的规则来传输。在网络中传输信息所用的协议就叫网络协议,我们的计算机都是借着网络协议来进行通信的。网络协议在百度百科中是这样定义的:为计算机网络中数据交换而建立的规则,标准或约定的集合。网络协议的组成主要有3个要素:

2014-02-12 11:37:06 956

原创 android之绘图——Canvas,bitmap,Paint的理解

经常要和绘图打交道,总是用Canvas,bitmap,Paint,但是对它们的理解总是模糊,这里作下总结,加深对绘图的理解。    查询Canvas的官方解释:Canvas用来实现对绘图的操作。你需要4个组件来实现绘图的操作:            a).bitmap,保存着像素            b).canvas.执行画图的命令(向bitmap执行写操作)

2012-07-27 23:21:49 14723 3

原创 android之Binder设计分析

接着上篇binder简要介绍,我们来分析binder机制的设计。binder主要框架分为三个部分:服务端,binder驱动,客户端。       binder在android最常见的使用场景就是一个程序的activity与系统service进行交互。比如我通过wifi的service来获取wifi控制代理对象,来对wifi进行相关的操作。注意:这里的系统service是指System serv

2012-07-24 00:38:03 1167

原创 android中的Binder机制的简要理解

我们知道,在android系统中,每一个应用程序都运行在独立的进程中,这也保证了当其中一个程序出现异常而不会影响另一个应用程序的正常运转。在许多情况下,我们activity都会与各种系统的service打交道,很显然,我们写的程序中activity与系统service肯定不是同一个进程,但是它们之间是怎样实现通信的呢?Binder是android中一种实现进程间通信(IPC)的方式之一。了解B

2012-07-16 01:44:52 910

原创 对编译时和运行时的理解

对于编程背景经验较少的人,很难去理解编译时和运行时的概念。为了帮助我们更好地理解这些概念,我们可以借助一些问题:1.程序满足了什么样的不变性?2.在该阶段会报什么错?3.如果当前阶段成功,我们可以知道些什么?4.他们的输入输出是什么?编译时:1.不需要满足任何不变性。事实上,你都不需要良好的编程。2.在编译时会报什么错:    a.语法错误    b

2012-07-15 01:45:17 800

原创 告别2011!晚起点,新开始!

过去一年,是杂乱的一年,零碎的一年,没有记录,也没有总结。这也注定没有收获。“学而不思则惘”,这也是过去一年深深的体会。       我们需要生存,需要工作,需要挣钱。于是,工作成了努力的方向,不断地学习,不断追求技术。今天看到这个好,赶紧匆忙学习。明天又看到一篇技术好文,收藏日后再看。我们为了掌握技术,为了挣钱,透支身体健康,牺牲私人时间。后来已经完全习惯于快餐似的学习方式,迅速地借鉴网上某

2012-02-03 00:48:06 559

TextView滚动,跑马灯效果终极解决方案

textview跑马灯效果终极实验,解决你对实现效果的疑问,viewgroup嵌套对跑马灯效果是否有影响,为什么有时候同样的设置对textview1起作用,对textview2不起3作用。

2014-08-26

android全屏模式下计算键盘的大小

在android全屏模式下,无法通过Activity的布局变化来得到键盘的大小,进而按自己需要来解决布局相关的问题。本例提供了一个解决方案。

2014-05-12

Android输入法显示与隐藏的对布局的影响

这是一个关于输入法键盘的显示与隐藏的例子,解决了常见的输入框被键盘遮盖的问题。特别针对登录界面有效,在键盘显示的情况下,无需滑动界面一次完成多个编辑框的输入和登录动作。

2014-05-07

CursorLoader使用

这是一个CursorLoader使用的小例子。可以通过联系人查询,增加的更新来加深对cusorLoader的了解。 附上CursorLoader讲解的博客: http://blog.csdn.net/a2758963/article/details/24335965

2014-04-23

android窗帘上下拉动自由显示

在android上实现仿窗帘拉动效果,图片自由上下拉伸显示。

2012-07-27

android窗帘拉动自由显示

在android上实现窗帘拉动效果,自由拉伸。

2012-07-27

aidl下的Binder设计测试

Aidl下的binder简单设计例子,通过aidl的设计及调用来理解binder机制。

2012-07-24

Aidl下的Binder简单例子

Aidl下的binder简单设计例子,通过aidl的设计及调用来理解binder机制。

2012-07-24

空空如也

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

TA关注的人

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