自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (3)
  • 收藏
  • 关注

Android杂谈--关于解析包时错误解决方案

最近在一个深度定制的产品上运行apk软件,由于产品所使用的系统是2.1-update,而我的应用最低是2.2(即android:minSdkVersion="8" ),放在这个设备上运行就会出现“解析包时错误”的问题,解决方法时设置android:minSdkVersion="4",使其向下兼容...

2012-03-21 17:17:41 466

Android杂谈--代码混淆及proguard一些错误处理

代码混淆说简单的其实就是为了防止别人反编译你的源代码,因为JAVA程序比较容易被反编译,所以如果程序中有一些比较重要的逻辑的话,通过代码混淆来处理的确可以阻止一下被人反编译。反编译教程可以参考:http://hualang.iteye.com/admin/blogs/994686不过代码混淆还是不能阻止被反编译xml格式的布局文件,混淆的是JAVA文件。但是混淆后的代码如果经验多的话,可是...

2011-12-12 17:01:48 341

Android杂谈--闹钟详谈

闹钟已经学过一段时间了,但是对它了解的不是很多,由于最近开发的一个小应用会用到这个功能,所以重新学习了一下,以便能在以后忘记的时候记起来,也方便其他人学习实现闹钟有很多中方式,比如可以使用Handler+Timer(需依赖应用程序生命周期),AlarmManager等,而我们需要时间服务不依赖应用程序而存在,即应用程序启动服务,但是即使关闭应用程序,时间服务依然运行,这就需要使用AlarmMa...

2011-12-11 15:07:31 296

HTML的target属性中_blank、_self、_parent、_top含义

_blank 浏览器会另开一个新窗口显示链接_self,在同一框架或窗口中打开所链接的文档。此参数为默认值,通常不用指定。 _parent,将链接的文件载入含有该链接框架的父框架集或父窗口中。如果含有该链接的框架不是嵌套的,则在浏览器全屏窗口中载入链接的文件,就象_self参数一样。_top,在当前的整个浏览器窗口中打开所链接的文档,因而会删除所有框架_sea...

2011-12-05 15:48:25 375

原创 安装完ubuntu后需要干到事

  Ubuntu 9.10刚刚release,就有人在网上发表了贴子告诉大家在装完这个操作系统后,还需要去安装的一些开源免费软件,相当丰富。不过,这个贴子的链接被 GFW干掉了,所以,你需要使用Tor的支持,或是使用Google Reader才能查看源文(RSS链接)。而这个贴子非常长,所以我无法作全文翻译,不过这个贴子的内容具有很强的指导意义,所以我在这里为大家总结一下 该文所提...

2011-11-28 12:01:36 318

原创 SQL Server锁的相关概念

一. 为什么要引入锁 当多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: ◆丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 ◆脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 ◆不可重复读...

2011-10-30 09:24:11 142

高性能WEB开发之减少请求、响应的数据量

 这次说说如何减少请求、响应的数据量(即在网络中传输的数据量),减少传输的数据量不仅仅可以加快页面加载速度,更可以节约服务器带宽,为你剩不少钱(好像很多机房托管都是按流量算钱的).AD: 上一篇中我们说到了 如何减少请求数,这次说说如何减少请求、响应的数据量(即在网络中传输的数据量),减少传输的数据量不仅仅可以加快页面加载速度,更可以节约服务器带宽,为你剩不...

2011-10-30 09:21:00 284

优化SQL Server数据库总结二

查询速度慢的原因很多,常见如下几种:  1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)  2、I/O吞吐量小,形成了瓶颈效应。  3、没有创建计算列导致查询不优化。  4、内存不足  5、网络速度慢  6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)  7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)  8、sp_lock,sp_who,活动的...

2011-10-30 09:20:37 122

高性能WEB开发之如何加载JavaScript

 所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等。至到JS下载、解析、执行完毕后才开始继续并行下载其他资源并呈现内容。为什么JS不能像CSS、image一样并行下载了?AD: 外部JS的阻塞下载所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等。至到JS下载、解析、执行完毕后才开始继续并...

2011-10-30 09:19:53 157

优化SQL Server数据库总结一

优化数据库的注意事项:   1、关键字段建立索引。   2、使用存储过程,它使SQL变得更加灵活和高效。   3、备份数据库和清除垃圾数据。   4、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的序列号)   5、清理删除日志。   SQL语句优化的基本原则:   1、使用索引来更快地遍历表。   缺省情况下建立的索引是非群集索引,但有时它并不是...

2011-10-30 08:27:30 134

高性能WEB开发之HTTP服务器

新产品为了效果,做的比较炫,用了很多的图片和JavaScript,所以前端的性能是很大的问题,分篇记录前端性能优化的一些小经验。AD: 第一篇:HTTP服务器因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf)提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比...

2011-10-29 19:55:38 138

高性能WEB开发之Web性能测试工具推荐

WEB性能测试工具主要分为三种,一种是测试页面资源加载速度的,一种是测试页面加载完毕后页面呈现、JS操作速度的,还有一种是总体上对页面进行评价分析,下面分别对这些工具进行介绍,如果谁有更好的工具也请一起分享下。AD: Firebug:Firebug 是firefox中最为经典的开发工具,可以监控请求头,响应头,显示资源加载瀑布图:HttpWat...

2011-10-29 19:54:16 138

高性能WEB开发之图片篇

在该网站在不影响原图片的质量下去掉图片中一些元数据,那么这怎么去实现呢?本文就主要告诉你如何高性能WEB开发之图片篇AD: 一、缩小图片大小当图片很多的时候,减少图片大小是提高下载速度最直接的方法。1. 使用PNG8代替GIF(非动画图片),因为PNG8在效果一样的情况,图片大小比GIF要小。2. 用fireworks处理PNG图片,在我们产品...

2011-10-29 19:46:50 152

高性能WEB开发之如何减少请求数

每次请求都会带上一些额外的信息进行传输(这次请求中还没有带cookie),当请求的资源很小,比如1个不到1k的图标,可能request带的数据比实际图标的数据量还大。所以当请求越多的时候,在网络上传输的数据自然就多,传输速度自然就慢了。所以要要减少请求数,那如何减少请求数呢?AD: 我们先分析下请求头,看看每次请求都带了那些额外的数据.下面是监控的goog...

2011-10-29 19:40:35 153

原创 高性能web开发技术(一)

1. 数据库访问性能优化    数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最大...

2011-10-29 19:00:26 138

原创 Android内存泄露调试分享

 各位兄弟姐妹,Java开发中的内存泄露的问题经常会给我们带来很多烦恼。特别是对一些新手,如果平时不注意一些细节问题,最后很可能会导致很严重的后果。    在Android中的Java开发也同样会有这样的问题。附件中的pdf整理了一些关于Android中的Java开发,在内存使用方面需要注意的一些问题,希望能够对大家有所帮助。  Android 内存泄漏调试  ...

2011-10-21 22:34:45 150

排序算法--折半插入排序(二分查找排序)

 折半插入排序其实就是直接插入排序的一种改进,引入了二分查找算法,这样关键字的比较次数就会减少,数量级为O(nlog^2n),但是元素移动次数还是O(n^2),所以折半插入排序的时间复杂度是O(n^2)。另外,折半插入排序是稳定的排序算法;下面是用JAVA写的算法的两种实现方式。不过原理都是一样的第一种:  package sort;import java.util...

2011-10-08 18:33:45 344

排序算法---插入排序

插入排序的算法原理比较简单,通过一点点构建有序序列来达到排序的目的。比如给出一个数组a,长度为5,那么首先会将第一个元素作为一个已经排序的序列,然后从第二个元素开始向已经排序的序列(就是第一个元素)从后向前扫描,如果比这个序列中的元素小的话,就插入到相应元素的前面,而插入后需要后移元素。然后第三个元素再从这两个元素组成的有序序列的后面扫描,找到比它小的位置后就插入,否则继续向前扫描,以此类推。...

2011-10-08 11:29:44 177

排序算法---归并排序

归并排序中的“归并”的意思是将两个或者两个以上的有序表组合成一个新的有序表。他的实现无论是顺序存储结构还是链表结构,都可以在O(m+n)的时间级上实现。 复杂度:时间复杂度:O(nlogn)空间复杂度:O(n) 用途:1、排序(速度仅次于快速排序,但较稳定)2、求逆序对数 在实现单数组的归并排序之前,首先了解一下双数组的归并排序这个双数组归并的前提是两个...

2011-10-07 21:06:28 162

排序算法---快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速...

2011-10-07 16:39:02 154

原创 APK权限大全

访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android....

2011-10-03 21:26:21 140

Android Tips---Android平台常见属性集合

属性值说明android:orientationhorizontal/vertical设置布局水平还是垂直,默认是垂直android:checkedtrue/false标记默认选中,如果是单选则选中最后一个android:layout_gravitycen...

2011-10-02 13:47:13 115

原创 Java 序列化的高级认识

引言将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序...

2011-09-30 22:34:31 147

原创 JAVA的关键字小结

abstract Java 关键字 abstract 关键字可以修改类或方法。 abstract 类可以扩展(增加子类),但不能直接实例化。 abstract 方法不在声明它的类中实现,但必须在某个子类中重写。 示例 public abstract class MyClass { } public abstract String myMethod();注释 采用 ab...

2011-09-30 19:35:06 140

原创 java的多态、重载、构造函数、析构函数的理解

一、多态性多态有3个条件 1:继承 2:重写(重写父类继承的方法) 3:父类引用指向字类对象实例如下:interface  Parent {         String  method(); }class  Child1  implements  Parent {         public  String  method()         {                ...

2011-09-30 10:26:23 234

原创 java析构函数替代者finalize()解说

许多方面,Java 类似于 C++。Java 的语法非常类似于 C++,Java 有类、方法和数据成员;Java 的类有构造函数; Java 有异常处理。 但是,如果你使用过 C++ 会发现 Java 也丢掉一些可能是你熟悉的特性。这些特性之一就是析构函数。取代使用析构函数,Java 支持finalize() 方法。 在本文中,我们将描述 finalize() 与 C++ 析构函数的区...

2011-09-30 10:23:07 157

排序算法---冒泡排序

话说这冒泡排序好久都没有用过了,忘得差不多了,但是由于目前的需要,只能再次重新学习了一下。各种算法最好是用C/C++,因为执行效率高啊,在JAVA平台运行这些算法有些不适合,不过这个冒泡排序姑且用JAVA来测试一下。下图是对它的各种复杂度的评价最差时间复杂度O(n2)最优时间复杂度O(n)平均时间复杂度O(n2)最差空间复杂度O(n) ...

2011-09-27 21:22:41 126

原创 JAVA中String、StringBuffer、StringBuilder区别

此文章为转载文章一:String、StringBuilder和StringBuffer的区别关键字: java String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每...

2011-09-27 12:31:14 125

原创 JAVA抽象类和接口的区别

下面的这篇文章讲的十分透彻了,所以转载之 简单来说,接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。还有,接口可以实现多重继承,而一个类只能继承一个超类...

2011-09-27 10:50:58 133

玩转Android---2D图形及动画---动画分析(Tween详细分析)

在Android系统中提供了两种动画实现方式:一种是Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种方式是Frame动画,这是逐帧动画,通过顺序播放排列好的图片来实现的,类似电影。 Tween动画:Tween动画能完成一系列简单的变化(如位置、尺寸、透明度和旋转等)。例如,在你的程序中有一个ImageView组件,我们通过Tween动画可以使该视图...

2011-09-26 21:59:16 169

玩转Android---2D图形及动画---图片处理

在Android中很多地方都使用到图片,比如各种图标,图片按钮等。在Android中操作图片是通过使用Drawable类来完成的。Drawable类有很多个子类,如BitmapDrawable用来操作位图;ColorDrawable用来操作颜色;ShapeDrawable用来操作各种形状。有三种凡事来实例化Drawable对象:一是用来保存在工程中的图片资源;而是在XML中定义Drawable...

2011-09-26 13:08:19 155

原创 JAVA的堆和栈

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。  2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自...

2011-09-25 12:41:59 120

玩转Android--UI篇--ViewFlipper(实现切换屏幕效果)

ViewFlipper是ViewAnimator的子类,在ViewAnimator子类下,还有一个ViewSwitcher,这个ViewSwitcher又有两个子类:TextSwitcher和ImageSwitcher。不过今天还是说说ViewFlipper。 这个控件可以实现屏幕上下、左右的切换效果,而且可以加上动画特效,当然你可以点击就可以切换了,而用手指划屏其实还是点击操作(只针对这...

2011-09-05 15:35:59 191

SQLite的小例子--备忘录

 1. Android Intents1.1. Android中的SQLiteSQLite是一个嵌入在Android中的开源数据库。SQLite支持标准的关系型数据库特征,比如SQL语法,事务和预处理语句。另外它在运行时只需要很少的内存(大约250KByte)在Android中使用SQLite不需要任何数据库的安装或管理(不需要数据库管理员)。你可以指定SQL来使用数据库工作,并且...

2011-09-02 14:58:10 638

Android Tips -- Tip01

1、什么是Dip和Sp过去,程序员经常以像素为单位设计计算机用户界面,例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素,图标大小为16x16像素等,这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面显得很小。在有些情况下,用户界面可能会小到难以看清内容。 与分辨率无关的度量单位可以解决这个问题,Android支持下列所有的单位...

2011-09-01 13:49:42 209

Android杂谈--开发游戏时选择游戏级别

在开发游戏的时候,开始游戏时需要几个难度选择的选项供用户选择。实现这种效果也不难,下面是实现的一个小例子NewGameActivity.javapackage com.hualang.gotogame;import android.app.Activity;import android.app.AlertDialog;import android.content.Dia...

2011-09-01 13:23:44 249

玩转Android--UI篇--PreferenceActivity(开启wifi和音乐等)

本测试主要是为了测试PreferenceActivity的使用,其中设置了播放背景音乐和开启wifi的设置,也就是本文要讲的PreferenceActivity。Android提供了放摆放的工具来定义所有的程序的首选项,并支持既不不许要编写代码的情况写显示这些首选项。可以在一个名为res/xml/settings.xml的资源文件中定义这些首选项:res/xml/settings.xm...

2011-09-01 11:57:15 185

原创 Android杂谈--Android生命周期

引言应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。本文主要讨论活动的生命周...

2011-09-01 10:48:29 133

Android杂谈--获取系统及应用程序(PackageManager)

PackageManager是个非常好的东西,其他的详细的细节等日后有时间整理PackageManager的功能:•安装,卸载应用•查询permission相关信息•查询Application相关信息(application,activity,receiver,service,provider及相应属性等)•查询已安装应用•增加,删除permission•清除用户数据、...

2011-08-27 19:39:06 151

linux下的access()函数判断文件是否存在、打印时间

一、access函数功能描述: 检查调用进程是否可以对指定的文件执行某种操作。   用法: #include <unistd.h>#include <fcntl.h>int access(const char *pathname, int mode);     参数: pathname: 需要测试的文件路径名。   mode: 需...

2011-08-18 10:07:33 276

Android NDK入门指南

Android NDK 是目前开发比不可少的技术

2012-10-19

空空如也

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

TA关注的人

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