自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (9)
  • 收藏
  • 关注

原创 安卓常见异常处理

1.crashDump:{java.lang.IllegalStateException: Can not perform this action after onSaveInstanceStateat android.support.v4.app.l.s(FragmentManager.java:1314)处理方法:FragmentTransaction ft = getSuppor

2015-07-29 13:40:46 6615 1

原创 cocos2d 3.2的一个简单lua demo

开发工具:Cocos Code IDE开发hua

2014-07-22 14:27:34 1974

翻译 Instagram架构的发展

Instagram是一家基于iOS和Android的社交图片照片分享应用开发商。凭借着独特的运营理念,自2010年3月成立以来,短短一年的时间就吸引了1400万用户。而后随着手机相机改动、图像处理升级、与Facebook等社交灵活交互、支持Android等服务不断升级,用户量迅速冲击3000万,于2012年9月被Facebook以7.15亿美元收购。而截止到今年2月底,其活跃用户成功突破1亿。

2014-03-31 09:23:06 6257

翻译 常见性能问题

1.数据库:Working size exceeds available RAMLong & short running queriesWrite-write conflictsLarge joins taking up memory2.虚拟化:Sharing a HDD, disk seek deathNetwork I/O fluctuations in the clo

2014-03-31 09:19:16 1373

翻译 Instagram后端架构

在 Amazon EC2上跑 Ubuntu Linux 11.04 (Natty Narwhal)在 Amazon 的 ELB(Elastic Load Balancer) 上起了三个 Nginx 实例DNS 服务使用 Amazon Route53 服务使用 Django 做逻辑处理大部分数据存储在 PostgreSQLTB 级别的海量图片存储在 Amazon S3 上CD

2014-03-27 11:34:17 2562

原创 互联网接口设计常见方法

1.通过服务器控制客户端接口缓存方式和时间;2.通过服务器控制客户端图片缓存时间;3.服务器和客户端接口鉴权安全;4.服务器和客户端接口通信安全;5.服务器控制客户端页面跳转方式;6.服务器控制客户端交互方式;

2014-02-28 17:06:39 1620

原创 android常用库

Source from github、google code and bitbucket:* “Rocket” by Zhao Xiaogang and Yang Hao* “Done and Discard” by Roman Nurik* “ActionBarSherlock” by Jake Wharton* “ListViewAnimations” by nhaar

2013-12-28 14:22:16 3449

原创 解决The current branch is not configured for pull No value for key branch.master.merge found in config

1.在本地工程目录找到config文件(我的是在E:\rocket\rocket\.git);2.修改config文件内容为:[core]    repositoryformatversion = 0    filemode = false    logallrefupdates = true    [branch "master"]         remot

2013-11-21 12:37:37 30984 10

原创 popup window点击窗口外区域不消失的解决方法

方法其实so easy:popupWindow.setTouchable(true);popupWindow.setFocusable(true);popupWindow.setBackgroundDrawable(new BitmapDrawable());popupWindow.setOutsideTouchable(true);不行还可以加上:popupWindow.set

2013-09-11 14:59:13 21469 6

原创 android证书制作

1. 制作Andriod程序的数字签名需要使用JDK,先确认本机是否安装了JDK,在JDK目录下有一个KEYTOOL工具,这个就是制作数字签名使用到的工具;2.打开KEYTOOL,在运行中输入cmd,使用cd命令将路径切换至keytool所在目录,然后做如下操作:输入命令:keytool -genkey -v -keystore kzoncj.keystor

2013-09-03 12:00:20 9612

原创 在任何时候我们都认为是美丽的10种颜色

如果你准备创业或者是在没有UI的时候,想做一个和UI相关的应用,这个话题值得你参考

2013-09-01 15:26:43 2056 1

原创 使用大量checkbox的时候可能出现的小问题

问题现象:当有几排chechebox的时候,你总会发现:在点击一个checkbox的时候其它的checkbox状态在发生改变,问题的本质是焦点所致。解决方法:<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"

2013-07-28 14:25:05 1785

原创 android中解决“Dex Loader] Unable to execute dex: Multiple dex files define LXXX”错误

让人心烦的问题,其实是个小问题。

2013-07-24 00:20:56 1320

原创 Rich Media(富媒体)媒体的定义

Rich Media并不是一种具体的互联网媒体形式,而是指具有动画、声音、视频和/或交互性的信息传播方法;包含下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言;富媒体可应用于各种网络服务中,如网站设计、电子邮件、BANNER、BUTTON、弹出式广告、插播式广告等。

2013-06-26 11:23:13 2275

翻译 增强Android应用视觉效果的10个UI设计技巧

在Android应用开发中,风格和设计或许不是最关键的要素,但它们在决定Android应用成功与否上确实扮演重要的角色。以下是10个Android应用的UI设计技巧,还有个附加技巧,能够提供你的Android应用的视觉吸引力。1.使用大小适当的图像在图像方面,许多Android应用开发者采用的是大小单一的做法。尽管这会使资源管理变得更为简单,但就应用的视觉吸引力而言,这是个错误的做

2013-06-23 12:02:13 1697

原创 java常用集合性能比拼

Hash 集合的性能比任何 List 的性能都要高,但每条目的成本也要更高。由于访问性能方面的原因,如果您正在创建大集合(例如,用于实现缓存),那么最好使用基于 Hash 的集合,而不必考虑额外的开销。对于并不那么注重访问性能的较小集合而言,List 则是合理的选择。ArrayList 和 LinkedList 集合的性能大体相同,但其内存占用完全不同:ArrayList 的每条目大小要比 Lin

2013-06-18 15:45:55 2026

原创 引入并发的原因

在这里我不想去谈论操作系统的发展史,而是想说一下操作系统发展过程中迫切引入并发的原因:1.资源利用率在有些时候,程序在工作的时候,必须要等待外部的某个操作结束才能进行下一步,比如在等待输入和输出的时候,而程序在等待的过程之中,是无法进行任何其它的工作的。故此,如果程序在等待的同时去执行另外的一个程序,无疑会提高程序执行的效率。小学时,华罗庚的统筹方法里面也谈到了利用率的问题,给我有相同的启

2013-06-14 09:30:06 1395

原创 Netty中文用户手册(二)

如果你运行了TimeClient,你肯定可以注意到,这个应用并没有自动退出而只是在那里保持着无意义的运行。跟踪堆栈记录你可以发现,这里有一些运行状态的I/O线程。为了关闭这些I/O线程并让应用优雅的退出,你需要释放这些由ChannelFactory分配的资源。一个典型的网络应用的关闭过程由以下三步组成:关闭负责接收所有请求的server socket。关闭所有客户端socket或服

2013-06-10 12:19:30 4892

原创 Netty中文用户手册(二)

1.8. 使用POJO代替ChannelBuffer目前为止所有的实例程序都是使用ChannelBuffer做为协议消息的原始数据结构。在这一节,我们将改进时间协议服务的客户/服务端实现,使用POJO 而不是ChannelBuffer做为协议消息的原始数据结构。在你的ChannelHandler实现中使用POJO的优势是很明显的;从你的ChannelHandler实现中分离从C

2013-06-10 12:17:15 1612

原创 Netty中文用户手册(二)

1.7. 流数据的传输处理 1.7.1. Socket Buffer的缺陷对于例如TCP/IP这种基于流的传输协议实现,接收到的数据会被存储在socket的接受缓冲区内。不幸的是,这种基于流的传输缓冲区并不是一个包队列,而是一个字节队列。这意味着,即使你以两个数据包的形式发送了两条消息,操作系统却不会把它们看成是两条消息,而仅仅是一个批次的字节序列。因此,在这种情况下我

2013-06-10 12:14:36 1403

原创 Netty中文用户手册(二)

1.4. 响应协议服务目前,我们虽然使用了数据,但最终却未作任何回应。然而一般情况下,一个服务都需要回应一个请求。让我们实现ECHO协议 来学习如何完成一个客户请求的回应消息,ECHO协议规定要返回任何接收到的数据。与我们上一节实现的抛弃协议服务唯一不同的地方是,这里需要返回所有的接收数据而不是仅仅打印在控制台之上。因此我们再次修改messageReceived方法就足够了。@

2013-06-10 11:54:56 2908

原创 Netty中文用户手册(三)

第二章. 架构概述2.1. 丰富的缓冲实现Netty使用自建的buffer API,而不是使用NIO的ByteBuffer来代表一个连续的字节序列。与ByteBuffer相比这种方式拥有明显的优势。Netty使用新的buffer类型ChannelBuffer,ChannelBuffer被设计为一个可从底层解决ByteBuffer问题,并可满足日常网络应用开发需要的缓冲类型。这些

2013-06-10 09:48:21 2423

原创 Netty中文用户手册(二)

第一章. 开始这一章节将围绕Netty的核心结构展开,同时通过一些简单的例子可以让你更快的了解Netty的使用。当你读完本章,你将有能力使用Netty完成客户端和服务端的开发。如果你更喜欢自上而下式的学习方式,你可以首先完成 第二章:架构总览 的学习,然后再回到这里。1.1. 开始之前运行本章示例程序的两个最低要求是:最新版本的Netty程序以及JDK 1.5或

2013-06-10 09:42:21 7121 2

原创 Netty 中文用户手册(一)

序言本指南对Netty 进行了介绍并指出其意义所在。1. 问题现在,我们使用适合一般用途的应用或组件来和彼此通信。例如,我们常常使用一个HTTP客户端从远程服务器获取信息或者通过web services进行远程方法的调用。然而,一个适合普通目的的协议或其实现并不具备其规模上的扩展性。例如,我们无法使用一个普通的HTTP服务器进行大型文件,电邮信息的交互,

2013-06-10 09:17:06 2426

原创 Runtime.getRuntime().addShutdownHook介绍

介绍从函数的字面意思上我们很很好理解就是JVM在关闭的时候会逐渐关闭钩子里面添加的函数,见详细例子:‘例子public class Test { static class ThreadOne extends Thread { public void run() { int i = 0; while (i < 3) { try { Thread.sle

2013-06-01 12:09:13 2674

原创 ThreadFactory的常见使用方法

概述ThreadFactory是一种在软件开发过程中封装对象创建过程的面向对象的设计模式。常见的有如下两种使用场景:异常捕获ExecutorService executor = Executors.newSingleThreadExecutor(new LoggerThreadFactory ()); executor.submit(new Runnable() { @Ove

2013-05-29 20:50:34 26126 3

原创 网站的架构演进过程

单一应用架构 当网站业务流量或者流量很小时,只需一个单一的应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。 分布式

2013-05-28 08:21:13 1069

原创 关于Pojo

POJO --"Plain Ordinary Java Object",是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB,JDBC等等。POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但

2013-05-27 13:54:54 1269

原创 web service和rpc的区别

1.rpc    RPC的全称叫远程过程调用,在过去一般传输的数据是二进制的,数据的传输形式相对轻量和简单,传输过程相对来说也要高效一些。直到后面XML-RPC的出现,RPC的传输形式相对来说要丰富一些,数据结构的传输也可以传输较为复杂的情况。    RPC不要求可以通过web的方式进行查看。2.web service    web service的出现,可以说是在rpc发展的基础

2013-05-21 14:59:15 7474

原创 android上的缓存、缓存算法和缓存框架

1.使用缓存的目的缓存是存取数据的临时地,因为取原始数据代价太大了,加了缓存,可以取得快些。缓存可以认为是原始数据的子集,它是从原始数据里复制出来的,并且为了能被取回,被加上了标志。在android开发中,经常要访问网络数据比如大量网络图片,如果每次需要同一张图片都去网络获取,这代价显然太大了。可以考虑设置本地文件缓存和内存缓存,存储从网络取得的数据;本地文件缓存空间并非是无限大的,容

2013-05-21 14:10:46 13383

原创 谨慎去获取控件的高和宽,以防带来不必要的性能问题

int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); ssidtext.measure(w, h); int

2013-05-16 14:56:32 1505

原创 base64和bitmap互相转换

public class Base64 { /** * Default values for encoder/decoder flags. */ public static final int DEFAULT = 0; /** * Encoder flag bit to omit the padding '=' characters at t

2013-05-10 15:26:17 5442

原创 linux下查看so文件的函数列表

nm -D XXX.soobjdump -tT  XXX.so

2013-05-10 11:05:50 24384

原创 提高OCR识别率的一些菜鸟方法

原稿的质量直接影响到最后OCR的正确率,因此先要适当调整原稿。对于低质量稿件,可考虑在扫描前用复印机先行复印并适当调节对比度和亮度,使背景变成白色,而文字色泽保持黑色即可。经过复印以后的报纸,OCR的识别率有明显的提高。扫描过程中一定要将原稿摆正,否则OCR软件将无法正确识别。如果无法将原稿摆正,可使用 “自动倾斜校正”或者“手动纠斜”功能纠正字体的倾斜。选择适当的扫描参数也很重要,一般OCR是原

2013-05-05 19:54:29 16519

原创 OCR系统性能好坏的主要指标

拒识率;误识率;识别速度;用户界面的友好性;产品的稳定性;易用性;可行性等。

2013-05-05 18:45:34 4141

原创 到2013年5月份的android不同版本市场占有率

谷歌在Android官方网站上公布了当前各版本Android的市场份额,其中Android 2.3市场份额仍最高,但已经跌破40%。  谷歌数据显示,截至本周三,Android 2.3(Gingerbread)市场份额仍最高,但已经降至38.5%。与此同时,Android 4.0(Ice Cream Sandwich)、4.1和4.2(Jelly Bean)市场份额继续增长。  其

2013-05-03 16:51:11 4300

原创 android中获得相对高的权限方法

openFileOutput方法:FileOutputStream fos;fos = openFileOutput("filename", MODE_WORLD_READABLE);FileOutputStream fos;fos = openFileOutput("filename", MODE_WORLD_READABLE);可用的mode 参数如下:/**

2013-05-02 17:40:21 1370

原创 图片合成

private Bitmap onCompositeImages(){ Bitmap bmp = null; bmp = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig()); final

2013-05-02 17:32:27 3654 2

原创 图片上动态添加文字

android上在图片上动态添加文字的方法:public Bitmap drawTextToBitmap(Context gContext, int gResId, String gText) { Resources resources = gContext.getResources(); float scale = resources.getDisplayMetrics(

2013-05-02 17:28:59 11100 3

原创 生活和项目中常见图片格式

位图常用的位图格式文件扩展名MIME 类型固有名称描述.bmpimage/bmpWindows位图最常被MicrosoftWindows 程序以及其本身使用的格式。可以使用无损的数据压缩,但是一些程序只能使用未经压缩的文件。.iff .ilbm ?互换档案格式(Interchange fil

2013-05-02 00:20:15 1650

android加载sd卡上没安装的apk的类

android加载sd卡上没安装的apk的activity

2012-12-18

enif项目源代码

网络接口和图片缓存框架+整个框架的使用的代码例子

2012-11-22

android上的soap裁剪包

android上的soap裁剪包,另外可以参见我的csdn上的文章;

2012-11-18

android资源清理工具

该工具,可以清理12种工程里面不用的资源,在维护项目和长期开发的项目里面,为了减小开发和维护难度,以及减小apk包的大小,作用突出,效果明显。

2012-08-31

gallery无限循环

详见:http://blog.csdn.net/androidzhaoxiaogang/article/details/6936324

2011-11-04

button在底部的多个view切换<实例三触摸和点击实现3D切换>

button在底部的多个view切换<实例三触摸和点击实现3D切换> 3d动画

2011-09-28

button在底部的多个view切换优化之<实例二3D切换>

1.将View的操作借助一个单实例的MainViewmanager分离开来; 2.实现真正意义上的MVC; 3.继续使用原来的索引也即表驱动的方式来管理view的添加和删除等;

2011-09-27

多个button互相切换view<实例二3D切换>

代码精简,结构清晰,使用了include标签,希望对大家有帮助;另外实现了3D旋转动画。

2011-09-21

多个button互相切换view<实例一>

代码精简,结构清晰,使用了include标签,希望对大家有帮助。

2011-09-21

空空如也

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

TA关注的人

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