今天我们就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今后详细讲解。
分享到:
相关推荐
根据提供的信息,“Java语言程序设计 基础篇 第八版 带目录”这本书主要针对初学者介绍了Java编程的基础知识。尽管提供的具体内容部分只包含了下载链接,我们仍然可以根据书名、描述以及标签来推断出书中可能涵盖的...
在Android应用开发中,设计模式是一种重要的编程技巧,它能够帮助开发者解决常见问题,提高代码的可读性、可维护性和可复用性。本文将深入探讨设计模式中的迭代器模式,这是一种在Android APK开发中非常实用的模式,...
根据提供的文件信息,“Java语言程序设计-基础篇(原书第8版)”这本书主要面向初学者,旨在通过详细的讲解和示例帮助读者掌握Java编程的基础知识。以下是对该书籍可能涉及的一些关键知识点进行的总结: ### 1. Java...
第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 4.1 用户界面开发...
Java语言是目前世界上最流行的编程语言之一,广泛应用于企业级应用、移动开发(Android)、大数据处理等领域。本资源包含了“Java语言程序设计-基础篇”和“Java语言程序设计-进阶篇”的全部源码,是学习和深入理解...
【标题】"JAVA程序员必读基础篇"所涵盖的知识点主要集中在Java编程语言的基础概念、语法和编程实践中,这是每一个想要踏入Java开发领域的初学者必须掌握的核心内容。这本书可能包括了以下几个方面: 1. **Java简介*...
Java基础篇涵盖了许多核心概念,这些概念构成了Java编程语言的基础,是任何Java开发者必备的知识。以下是对这些基础知识的详细说明: 1. **Java简介**:Java是由Sun Microsystems开发的面向对象的编程语言,后来被...
这篇博客笔记集合涵盖了IT行业的多个重要领域,包括Java编程、多线程与并发处理、数据结构、Android开发、设计模式以及算法。以下是这些主题的详细解释: 1. **Java基础**:Java是一种广泛使用的面向对象的编程语言...
首先,Android开发的基础是Java或Kotlin语言。Java作为早期的Android开发语言,其语法特性如面向对象、异常处理、多线程等都是Android开发者必须掌握的。而Kotlin,作为Google推荐的现代Android开发语言,以其简洁、...
《Android 3D游戏开发教程》是一本专为Android平台上的3D游戏开发设计的指导书籍,涵盖了从基础到高级的全方位技术。本教程旨在帮助开发者掌握如何在Android平台上构建引人入胜、视觉效果丰富的3D游戏。下面将详细...
这一系列文章通过实例讲解了多种设计模式在Android开发中的应用,帮助读者更好地理解这些模式并能在实际项目中运用它们来优化代码结构。 ### Android开发从零开始 **知识点概述:** - **环境搭建**:详细介绍如何...
1. **环境搭建**:首先,你需要安装Java Development Kit (JDK) 和 Android Studio,这是开发Android应用的基础。Android Studio提供了集成开发环境(IDE),包含了编写代码、调试、性能优化等所需工具。 2. **...
第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 ...
### 2012北京尚观Android培训笔记之Java篇概览 #### 面向对象的理解 面向对象编程(OOP)是Java的核心概念之一,它将现实世界中的实体抽象为类,类中包含属性(即数据成员)和方法(即函数)。面向对象的关键特性...
第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命周期 3.3 Android程序U设计 3.4 小结 第4章 用户界面开发 ...
- **Java基础知识**:虽然描述中提到“有一点Java基础最好”,但Java是Android开发的核心语言之一,因此具备一定的Java基础知识对于初学者来说至关重要。这包括但不限于数据类型、变量、控制结构(如循环和条件语句...
不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpcnGL等...
1. **基础篇** - `ch01`:通常涵盖Android开发环境的搭建,包括SDK安装、Android Studio的使用以及必要的编程语言Java或Kotlin的基础知识。此部分可能还涉及Android应用的基本结构和生命周期。 2. **图形与渲染** ...
在Android开发领域,初学者经常会遇到许多挑战,这篇名为“Android开发简单教程”的文档,结合其标签“源码”和“工具”,很可能是为帮助新手理解Android应用的基础架构和开发流程而设计的。以下是根据这些信息推测...
综上所述,Android JNI开发手册为开发者提供了全面的JNI开发知识,从基础知识到实际应用,从单线程到多线程,再到设计模式和异常处理,涵盖了JNI开发的各个方面,为读者在Android平台上使用JNI技术提供了详实的指导...