第1章 导读
Android设备的普及程度是有目共睹的,不过,能够开发自己的Android应用是不是更有吸引力呢?相信不少朋友都跃跃欲试,而本书旨在帮助读者完成这项充满乐趣和挑战的工作。
从内容的安排上,本书并不会假设读者有任何的编程基础,从基本的Java编程语言开始,逐步学习Android应用的开发。很多开发工具都提供了跨平台的支持(如Eclipse、Android Studio等),可以在Windows、Linux或Mac OS平台上进行Android开发工作。本书内容将基于Windows平台,主要使用两个开发工具。讨论Java编程语言时,使用NetBeans集成开发环境;讨论Android应用开发时,使用Android Studio集成开发环境。讨论相关内容时,会详细说明开发工具的安装和使用。
为了方便阅读和使用,先了解一下本书的内容,以及阅读和使用中的注意事项。
Java部分(第2~12章)主要讨论Java编程语言和常用的JDK资源,通过该部分的学习,读者可以编写具有实用功能的Java代码,处理一些比较复杂的数据结构,并为Android应用的开发工作做好准备。
第2章讨论Java开发的基础知识。主要内容包括如何安装与配置NetBeans和JDK环境,如何编写和组织Java代码,如何查看程序的运行结果,如何将Java应用发布为JAR文件,以及如何处理基本的数据类型,如整数、小数、字符、布尔数据和枚举类型等。
第3章讨论软件开发中一个非常重要的概念,即面向对象编程(Object-Oriented Programming, OOP)。通过类和对象的使用,可以更有效地封装数据与数据操作方法,使代码更易编写和维护。此外,还将讨论JDK中与数学计算相关的两个类。一个是java.lang.Math类,其中封装了大量的数学计算方法;另一个是java.util.Random类,它提供了丰富的随机数生成方法。
第4章讨论Java编程语言中接口(interface)的应用。与USB等接口相似,软件开发中也可以通过标准化的接口创建不同功能的组件,并可以灵活地组合和应用。此外,还讨论分别通过实现两个接口完成对象完全复制(深复制)的操作。
第5章讲述代码流程的控制,包括条件语句、循环语句、选择语句,以及在代码出现异常时的处理方法。通过这些内容的学习,可以更加有效地控制程序的执行。
第6章讨论文本信息处理的相关内容,包括使用String类处理文本内容,使用StringBuffer和StringBuilder类更加高效地操作文本内容,使用正则表达式判断不同格式的文本内容。此外,还介绍如何对文本编码,以及GUID的获取。
第7章讨论Java中的泛型应用,展示如何通过一次编写算法处理不同类型的数据,有效提高开发效率。
第8章讨论如何使用数组处理相同类型的数据序列,以及通过List<E>接口、Map<K,V>接口及相关组件处理数据集合。
第9章讨论日期和时间数据的处理。首先介绍传统JDK资源与java.time包开发资源的应用,然后将常用的日期和时间处理代码封装为CDateTime类,以方便在项目中重复使用。
第10章讨论如何操作文件和目录,并展示如何通过流(Stream)来读写文件,以及如何读写文本文件。
第11章讨论如何使用线程(Thread)提高应用的整体执行效率,并了解如何使用定时器(Timer)来处理代码的执行。
第12章讨论设计模式的应用基础,旨在展示软件结构的灵活构建方式,为创建易于开发和维护的软件结构打下基础。
如果读者已经掌握了Java编程语言及JDK资源的应用,可以暂时进入Android部分,以上内容可以在开发工作中随时参考。
Android部分(第13~29章)讨论Android应用开发相关内容,包括基本组件的使用、SQLite数据库、定位与地图显示、传感器、应用发布等,并通过一个项目实例综合演示一系列开发技术的应用。
第13章讨论如何安装和使用Android Studio开发环境,了解Android应用的基本组成,以及如何使用模拟器和Android设备进行测试。
第14章讨论Android应用中最常用的组件,即Activity(活动)的使用,包括Activity的启动、关闭及运行周期,不同Activity之间的跳转与数据传递等内容。
第15章讨论常用的可视化组件和位图的基本处理,通过这些内容的学习,可以了解构成用户界面的基本元素,为创建各种功能的用户界面做好准备。
在了解基本组件的基础之上,第16章讨论如何更有效地组织界面元素,并通过布局来创建用户界面。此外,还讨论如何使用SearchView和ListView组件来完成搜索功能,以及创建自定义组件的基本方法。
第17章讨论如何使用通知(Notification)来提醒用户,以及如何使用服务(Service)在后台执行应用逻辑。
第18章讨论如何使用广播在应用与系统之间或应用之间进行信息的传递。
第19章讨论Android设备中网络相关的应用,包括如何在Windows中使用IIS配置Web测试环境,如何在Android应用中获取网络资源,以及如何处理JSON和XML数据。此外,还对常用的网络资源操作代码进行封装。
第20章讨论两种基本的用户数据保存方法。一种是使用Context中的一系列方法,另一种是使用SharedPreferences。
第21章讨论如何使用SQLite数据库高效地进行数据管理工作,其中,包括SQL语句和SQLiteDatabase类的使用。分别介绍数据表的创建,以及记录的添加、更新、删除和查询等操作。
第22章讨论如何使用Android SDK来完成设备的定位工作。
第23章讨论如何使用高德地图SDK完成定位工作并获取位置相关信息,以及如何将指定位置显示到高德地图中。
第24章讨论如何使用百度地图SDK进行定位工作并获取位置相关信息,以及如何将指定位置显示到百度地图中。
第25章讨论Android设备中一些常见传感器的使用,如加速计、陀螺仪、亮度传感器等。
第26章讨论如何使用内容(Content)进行应用间的数据交换,包括如何操作外部应用的数据,以及如何为其他应用提供数据操作接口等。此外,还介绍如何使用相机和图库资源,如何播放音频和视频文件,以及如何读取通讯录等。
第27章讨论如何处理应用图标和不同分辨率的图像,如何创建竖屏与横屏资源,以及如何支持多种语言等内容。
第28章创建一个完整的示例项目,其功能是完成账目的添加、删除、查询和统计操作。此外,应用还支持中文、英文两种语言。
第29章讨论Android应用发布前所需要做的准备工作,以及如何创建不同的分发版本。
本书涵盖Java和Android应用开发两大部分内容,可以满足不同程度开发人员的需求,读者还可以在根据学习和工作需要随时参考相关内容。
接下来首先进入Java的学习。