自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

展翅高飞

技术博客

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

转载 handler机制的原理

andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便pus

2014-02-27 09:44:52 501

转载 Android开发学习笔记:Service的远程调用

在Andorid平台中,各个组件运行在自己的进程中,他们之间是不能相互访问的,但是在程序之间是不可避免的要传递一些对象,在进程之间相互通信。为了实现进程之间的相互通信,Andorid采用了一种轻量级的实现方式RPC(Remote Procedure Call 远程进程调用)来完成进程之间的通信,并且Android通过接口定义语言(Andorid Interface Definition L

2014-01-20 12:53:05 546

原创 ViewMapping让你少写绑定View的代码

用于标记方法import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTI

2014-01-19 18:58:19 1407

原创 Android应用性能优化

今天终于把《Android应用性能优化》这本书详读完了,总结一下学习状况:一、Java代码优化        1、使用优化的算法       2、缓存结果       3、推迟初始化(使用时分配缓存)       4、大量的数据库操作使用事务处理二、使用NDK优化性能      1、声明本地方法      2、实现JNI粘合层(javah)      3、创建A

2014-01-19 18:39:25 1124 1

转载 Windows系统下配置Android NDK开发环境

通常Android系统中的应用都是用Java语言开发的,而Android NDK能让我们在Android开发中使用C/C++原生代码。使用NDK的好处包括合理复用现有的代码、提高程序中某些关键部分的执行效率。       本文就来讲讲怎样在Windows系统下配置NDK开发环境。这里假设大家已经安装好了Android的开发环境,包括jdk、android sdk以及eclipse。

2014-01-12 18:02:36 540

原创 返回通用认证的HttpConnection对象

最近项目在访问服务器时出现了证书过期问题,需要使用无认证的连接来向服务器请求数据,方法如下:public static HttpURLConnection prepareConnection( String serverUrl) throws IOException, MalformedURLException, ProtocolException {

2013-09-27 15:17:52 887

原创 asset中获取文件并读取数据

// 方法:从asset中获取文件并读取数据 public String getFromAsset(String fileName) { String result = ""; try { InputStream in = getResources().getAssets().open(fileName); // 从Assets中的文件获取输入流 int length = i

2013-09-27 15:14:10 3781 3

原创 android service 生命周期

有了 Service 类我们如何启动他呢,有两种方法:      • Context.startService()       • Context.bindService()      1.  在同一个应用任何地方调用 startService() 方法就能启动 Service 了,然后系统会回调 Service 类的 onCreate() 以及 onStart() 方法。这样启动

2013-07-04 00:45:45 428

原创 图片缓存管理

如果每次加载同一张图片都要从网络获取,那代价实在太大了。所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了。从内存缓存读取图片是最快的,但是因为内存容量有限,所以最好再加上文件缓存。文件缓存空间也不是无限大的,容量越大读取效率越低,因此可以设置一个限定大小比如10M,或者限定保存时间比如一天。因此,加载图片的流程应该是:1、先

2013-07-02 16:08:38 502

转载 SDK源码之组合模式

http://www.cnblogs.com/qianxudetianxia/archive/2011/08/07/2129731.html

2013-06-29 11:27:26 494

转载 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少

除了高超的武艺,每位黑忍者还需要装备最好的武器。在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码。时光回到2008年,那时安卓还很年轻。只有几个相关的博客和谷歌官方的几个应用开发教程,没有函数库也没有代码生成器,甚至连成熟的设计模式也没有(除了OOP和一些Java实践)。今非昔比,我们已经有了一个成熟的OS、很棒的开发工具、稳定的Eclipse插件

2013-06-27 11:31:15 794

原创 ANT build.xml文件详解

Ant的优点跨平台性。Ant是用Java语言编写的,所示具有很好的跨平台性。操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。Ant开发Ant的构建文件Ant构建文件默认命名为build.xml,也可以取其他的名字。只

2013-06-27 10:44:27 695

原创 JAVA获取随机数

在Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的种子,Random(long seed)使用指定的seed作为发生器的种子。         随机数发生器(Random)对象产生以后,

2013-05-08 14:30:49 426

原创 Android中strings.xml占位符

整数型:%1$d,浮点型:%2$.2f,字符串:%3$s其中%后面是占位符的位置,从1开始, $ 后面是填充数据的类型 %d:表示整数型; %f :表示浮点型,其中f前面的.2表示小数的位数 %c:表示字符串 这些和C语言中输入输出函数的占位符很相似 在程序中我们可以通过下面的代码对字符串进行格式化,也就是填充占位符中的内容: String data =

2013-04-18 17:16:23 584

原创 Android中常见android.view.WindowManager$BadTokenException错误

项目中有时会出现如下的问题:new AlertDialog.Builder(activity).setTitle(getResources().getString(R.string.testspeed_prompt)) .setCancelable(false) .setMessag

2013-03-09 10:54:07 14187 2

原创 Android有效解决加载大图片时内存溢出的问题

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。       因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageV

2013-02-01 10:43:46 1518

原创 Android系统Root认识

root指的是你有权限可以再系统上对所有档案有 "读" "写" "执行"的权力。root这名词常出现再Linux & unix上,Android是架构再Liinux上面所有才会有root这名词。而root相当于windows 上的administration,一个管理者的身份。当你在Windows上是属于administration的权限下,你几乎可以再任何地方对任何档案删除他,你删除时 Wind

2013-01-06 14:07:31 482

原创 Android代码调试工具 traceview

Android 程序调试工具      Google为我们提供的代码调试工具的亮点:traceview和dmtracedump 。有了这两个工具,我们调试程序分析bug就非常得心应手了。traceview帮助我们分析程序性能,dmtracedump生成函数调用图。遗憾的是,google提供的dmtracedump是个失败的工具,并不能绘图,本文会详细介绍解决方案,实现绘图。

2012-12-21 15:42:03 428

转载 Android 网络防火墙的实现-Iptables

Iptables的介绍:iptables 是与最新的 2.6.x 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。其工作原理:netfilter/iptables IP 信息包过滤系统是一种功能强大的工

2012-12-12 14:17:56 608 1

原创 Android获取所在地城市名

public class LocationUtils { //public static String cityName = "深圳"; //城市名 public static String cityName ; //城市名 private static Geocoder geocoder; //此对象能通过经纬度来获取相应的城市等信息 /** * 通过地理坐标获取城市名

2012-12-03 14:23:09 477

原创 Android中接入微信客户端

最近因为工作的项目中要接入微信开放平台,于是一直在做这方面的工作,再加上比较忙,所以只有现在才有机会来记录一下关于程序中接入微信开放平台的事情。目前android版只支持SDK接入微信,朋友圈分享功能只有ios支持,相信不久就会有android版本的支持的。好了,废话不多说,进入话题,详情请移步http://open.weixin.qq.com。关于程序接入微信客户端,只需

2012-12-03 11:00:15 800 1

转载 android json解析及简单例子

JSON的定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.orgJSON Vs XML1.JSON和XML的数据可读性基本相同

2012-11-23 17:13:06 302

原创 新浪微博SDK混淆方法[续]

在项目中添加微博开放平台提供的源码生成的jar后,出现项目混淆出错的问题,一下是解决办法:在proguard-project.txt 中添加以下代码:-dontwarn com.weibo.sdk.android.WeiboDialog-dontwarn android.net.http.SslError-dontwarn android.webkit.WebViewCli

2012-11-23 11:33:01 4301

原创 Android系统手机端抓包方法

抓包准备1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted;2. 如果Android手机尚未root,可通过superoneclick或其它方法进行root处理(需要先安装Microsoft .NET Fra

2012-11-23 11:28:18 790 1

原创 Android:将View的内容映射成Bitmap转图片导出

前段时间在网上看到这么个例子是将view映射到一个bitmap中,稍加改进可以用于一些截图工具或者截图软件(QQ截图之类),例子写的不够完善,不过很有些学习的意义内容大致如下:在Android中自有获取view中的cache内容,然后将内容转换成bitmap,方法名是:getDrawingCache(),返回结果为Bitmap,但是刚开始使用的时候,得到的结果都是null,所以在一个论坛里

2012-11-13 16:22:18 489

原创 android对seekbar的修改重写

http://blog.csdn.net/snowleopard_wu/article/details/7562897

2012-10-08 21:05:03 433

原创 Android布局单位及分辨率(dip,dp,sp,px)

在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。以下是一个应用类,方便进行px和dp之间的转换。import

2012-10-08 17:47:04 1072

原创 Android手机分辨率基础知识(DPI,DIP计算)

1.术语和概念术语说明备注Screen size(屏幕尺寸)指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸摩托罗拉milestone手机是3.7英寸Aspect Ratio(宽高比率)指的是实际的物理尺寸宽高比率,分为long和nolong

2012-09-18 10:04:59 516

原创 新浪微博SDK使用

最近的项目中需要继承新浪微博SDK,最新的SDK增加了点对点(SOS)登陆方式。集成步骤如下所示第一步:下载新浪微博SDK  http://open.weibo.com/wiki/Sdk第二步:将新浪微博SDK中的源码和资源文件拷到本工程目录下,目录要保持一致。第三步:在本工程需要增加微博分享出 添加微博隐式认证。com_weibo_android的Oauth2.0 隐式授

2012-09-13 15:05:07 1688

原创 android常用基础

第一章 敏捷实践1、个体和交互胜过过程和工具    认识获得成功的最为重要的因素。合作沟通以及交互能力要比单纯的编程能力更为重要。    合适的工具对于成功来说是非常重要的。像编译器、IDE、源代码控制系统等。但是工具的作用不能被过分夸大,使用过多的庞大、笨重的工具就像缺少工具一样,都是不好的。所以对于工具要从小开始,直到能够证明该系统已经不再适用。    团队的构建要比环境的构建

2012-09-11 10:46:47 351

转载 Android开发的技术层次

任何一种移动开发生态系统其技术人员都是呈现金字塔式分布的。也就是我们常说的大部分人都是开发人员,只有少数人是真正意义上的程序员。      android系统也是一样,在庞大的android开发人员群体中,我认为可以由低到高分为以下四个层次:1)应用层开发     使用java语言,基于android的框架和类库,进行应用层程序的开发。这类开发一般依赖于短期记忆,也就是我们所说

2012-09-11 10:42:03 330

空空如也

空空如也

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

TA关注的人

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