排序:
默认
按更新时间
按访问量

Code Fragment-使用继承封装技术层次

最近花了一些时间去看一些小游戏的东西,android中可以通过SurfaceView来实现绘制,并有相应的生命周期的方法,如 @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, ...

2014-02-23 23:29:34

阅读数:549

评论数:0

Code Fragment-封装重复代码的代码

封装重复代码的方法有: 提取方法:在一个类里提取重复部分的code生成方法,在其他使用的地方直接调用。pull up方法:把两个兄弟类中重复的方法,放到父类中实现。提取成类:使用组合的方法。封装成静态的工具类。使用单例。重载类型的方法,参数少的去调用参数多的,在多出的参数里传入默认值。

2013-12-06 23:53:07

阅读数:671

评论数:0

Code Fragment-根据逻辑意义确定数据库结构

数据库的设计: 根据逻辑意义封装成表。根据数目对比关系确定表中字段关系。 Android Calendar的实现

2013-11-22 00:40:44

阅读数:422

评论数:0

Code Fragment-使用枚举策略模式表示状态

代码如下: package com.jue.test; public enum DownloadStatus { STATUS_DOWNLOAD_ING("下载中", "下载时的icon", "点击暂停"), STATU...

2013-11-16 00:44:53

阅读数:529

评论数:0

Code Fragment-使用正则表达式表示过滤

本文参考自《会说话的代码》,本书值得一看 一个文本框中,只允许下列字符:0~9,a,b,e,:。那么对应的检验方法可能如下: public static boolean isValidate1(char text) { String[] allowedChars = new St...

2013-11-06 23:49:48

阅读数:421

评论数:0

Code Fragment-简单的打印时间的操作

Android中用于检测时间相关的工具有TrackView很是强大,自己也写了一个简单的打印时间的类,可以用于一些简单的时间使用检测。 效果如下: I/Stack (21850): ---------------------------------测试方法运行时间的调用 START -...

2013-11-03 21:14:24

阅读数:377

评论数:0

Code Fragment-打印调用堆栈。

某一个方法可能由于多处调用,可以通过两种方式查看调用信息: Debug调试。打印error的堆栈。 Debug的方式可以用来查找always的问题,很方便的定位问题。但是一些random的问题使用打印堆栈更有效,因为实在不清楚这些问题啥时候出现。 我们可以使用如下: packa...

2013-09-22 19:39:51

阅读数:902

评论数:0

Code Fragment-从不要catch最父类的Exception。

今天看Code的时候,发现有一大段代码catch了Exception,是Exception,而不是它的子类,这是很暴力的处理。 什么时候需要去catch异常: RuntimeException: 一般不需要catch,因为他通常是一种编程的错误,是需要修正的。非RuntimeExcepti...

2013-09-12 21:00:12

阅读数:862

评论数:0

Code Fragment-避免null的保护不一定是保护

经常遇到这种情况,当遇到一个NullPointException的时候,做一些所谓的保护措施,例如下: public void playVideo(Video video) { player.play(video); } 发现player为null,所以产生了NullPointExcepti...

2013-09-11 21:25:28

阅读数:402

评论数:0

Code Fragment-使用一定的命名说明一种关系。

紧密关系:通过命名的本身的角色加以体现。 例如在Launcher中有一种拖拽的模型如下: DragSource:可以提供drag元素的容器。 DragObject:被拖拽的元素。 DropTarget:可以放置DragObject的目的地。 DragListener:拖拽过程中的监听器。 这...

2013-09-09 18:21:46

阅读数:434

评论数:0

Code Fragment-同一层级的代码段封装成方法。

同一层级的代码段可以封装成方法,这样显示有一种层级美。 下面的是Android code:packages/apps/Calendar/src/com/android/calendar/CalendarController.java private void launchSelectV...

2013-09-07 10:00:47

阅读数:1060

评论数:0

Code Fragment-当前程序结束的时候,做一些清理的操作。

在程序结束的时候,当然可以是类,也可是Activity或Application。我们可以主动调用一些清理的操作。 如:packages/apps/Settings/src/com/android/settings/bluetooth/DockService.java中的onDestroy代码处理...

2013-09-07 02:10:27

阅读数:1548

评论数:0

Code Fragment-通过位运算来表达状态

可以用位运算来标记不同的状态,使用不同的移位能够保证它们状态的不同如下, 本例子参考自Android code/frameworks/base/core/java/android/app/DownloadManager.java /** * Value of {@link #COLUMN_S...

2013-09-06 23:22:16

阅读数:548

评论数:0

Code Fragment-避免用户多次快速的点击事件

问题: 对于一些用户的按钮,可能需要处理较多的逻辑,用户特别快的连续点击有可能引起一些难以处理的问题。 处理: 为此,我们可以在某个view在点击之后,设置其不可点击,等到一定时间后再设置为可点击, 优点: 简单有效 android下一个例子: ...

2013-09-05 00:22:02

阅读数:1563

评论数:0

Code Fragment-定义合适的数据结构。

定义合适的数据结构相对算法更高效,应用在项目中的数据结构 MessagePool中的 消息队列。LruCache,用来优先记录最近使用的项目。 根据需要,还可以定义诸如: 经常使用的cache创建负荷最大的cache弱引用的cache本地的cache

2013-09-03 23:31:13

阅读数:390

评论数:0

Code Fragment-简单的数据类直接使用public字段来访问设值。

在UI调用频繁的地方,或者循环里面,经常有一些数据类的使用,可以直接使用它的public字段访问,代替方法。 static ArrayList getItemsInLocalCoordinates(Context context) { ArrayList items = new Arr...

2013-09-03 00:47:10

阅读数:556

评论数:0

Code Fragment-方法的长参数序列可进行封装

本文借鉴于《重构-改善既有代码的设计》 下面的代码来自Android源码,分别是Android2.3以及Android4.0的Launcher代码。 2.3的实现代码如下: void onDrop(DragSource source, int x, int y, int xOffse...

2013-09-01 23:59:42

阅读数:370

评论数:0

Code Fragment-尤大表达式在Java中没有必要

本文借鉴与《编写可读代码的艺术》 经常看到如下的表达: public void removeEventListener(String type, EventListener listener, boolean useCapture) { if (null...

2013-08-30 21:57:33

阅读数:382

评论数:0

Code Fragment-使用代码块

本文参考自Android源码,声明代码块,在必要的时候break退出。并继续执行后面的代码。 import java.util.Random; public class TestMain { public static void main(String[] args) { // TO...

2013-08-29 23:01:01

阅读数:448

评论数:0

Code Fragment-删掉那些认为有用而注释掉的code。

本文思想参考自《Clean Code》 在android的源码里,有这样一段code。 // This is to replace p.setStyle(Style.STROKE); canvas.drawRect() since it // doesn't work ...

2013-08-28 23:50:59

阅读数:373

评论数:0

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