今天我们就Android开发中的一些设计模式做一些基础性的掌握,在上一次的 Android开发之Java设计模式入门篇 中我们提到了一些有关 Java基础内容,本次就Android项目的架构设计相关内容做分析:

1. 静态工厂方法

静态工厂方法可以算是工厂方法加单例模式的整合在Android平台上,由于Android的Context可以很好的传递实例,静态工厂方法可以提到传统的类构造器,对于一些逻辑的服务提供类可以考虑这样的设计,比如文件下载、图片裁剪等操作。

2. Java的类访问权限

对于程序的可靠性而言,成员变量尽量私有,通过暴漏公开的方法来访问这些私有成员,提供类似getXXX和setXXX这样的方法,不仅是Java,这点C#对于属性的操作概念在Dot Net上已经深入人心,好处就是可以阻止继承后的访问换乱问题。

3. 使用枚举替代常量

Java在JDK 1.5开始加入了enum枚举类,相对于常规的final int这样的定义一些常量更简单安全,毕竟常量是一堆类似整形的数值,打印起来没有过多的意义,枚举对于继承后访问的清晰度可以很好的杜绝隐患发生。

4. 使用列表优先于数组

Java的集合类很方便,使用List类的列表在开销上比Object [ ] 这样的数组大,但是对于泛型的支持而言更好用强大。也可以避免一些不必要的错误,比如

cwjObject [] obj= new int[1];

obj[1] = "android开发网测试"; //这样会在运行时抛出类似ArrayStoreException这样的异常。

而使用列表则为:

List<cwjObject> obj=new ArrayList<int>();

obj.add("android123测试"); // 由于传入列表的是字符串,和构造时类型的int不同,在编译时就提示错误,可以避免一些不必要的情况发生。

5. Java的foreach代替for

Java的foreach仍然使用for来写,这点和C#直接用foreach关键字有点不同,但是使用方法是一样的,除了更简洁外,其实foreach比传统的for更加优化,比如传统的for第二个限制位,一般访问属性或方法,比如说

for (int x=0;x<obj.size();x++) //这句的限制符号每次都会执行obj.size() 方法,当然Android开发网相信size()方法访问的是一个数组的length属性,活着是

for (int y=0;y<obj.length;y++) //这里同样每次循环都执行obj.length对于Java VM的开销主要由这个obj的长度决定的,而Android SDK文档的推荐方式是

int nSize=obj.size() 或 int nSize=obj.length

for (int z=0;z<nSize;z++) ,但是这还不是最优的方法,下面Android123给大家更好的foreach方式的替代方法:

for (SmartObject singleObj : SmartObjectArray)
{
singleObj.setName("cwj"); 或 singleObject.strName="cwj";
}

有关Android开发中的Java设计模式技巧,希望国内Android开发者打好Java基础,别扎堆实现铺天盖地的应用,目前不说恶意软件问题,就大部分的软件设计质量令人担忧,还有很多应用基本上就是J2EE或J2SE开源项目的移植版,更多的问题Android123今后详细讲解。

更多相关文章

  1. React-Native:调用(Android)Native方法
  2. Android(安卓)UI开发 View自绘控件 分享
  3. Android(安卓)Activity之间切换出现短暂黑屏的处理方法
  4. android横竖屏切换(复制未整理)
  5. Android大图加载方法
  6. android 自定义View之SubmitView
  7. Android(安卓)开发杂记
  8. android:GLSurfaceView绘制bitmap图片及glViewport调整的效果
  9. android单元测试AndroidTestCase

随机推荐

  1. 为Android加入busybox工具
  2. 【Qt for Android】第一个安卓程序
  3. 【转】Android新手入门 FAQ
  4. Android启动过程——init,Zygote,SystemS
  5. Android(安卓)下led 的控制(上)--Android
  6. Android之应用进程模型
  7. Android(安卓)匿名共享内存Java接口分析
  8. android 控件布局(顶部、底部......) 留
  9. 刚刚接触Android,写第一个Hello world 小
  10. 新书内容连载(3):Android(安卓)SDK中常用命