目录
第1章Android开发起步
1.1Android简介
1.1.1Android起源与发展
1.1.2Android特点<p> </p> <p> </p> <p> </p> <p> </p> <p>目录</p> <p> </p> <p> </p> <p>第1章Android开发起步</p> <p> </p> <p>1.1Android简介</p> <p> </p> <p>1.1.1Android起源与发展</p> <p> </p> <p>1.1.2Android特点</p> <p> </p> <p>1.1.3Android体系结构</p> <p> </p> <p>1.2Android Studio开发环境</p> <p> </p> <p>1.2.1Android Studio概要</p> <p> </p> <p>1.2.2安装JDK</p> <p> </p> <p>1.2.3安装和启动Android Studio</p> <p> </p> <p>1.2.4Android SDK的下载、配置与升级</p> <p> </p> <p>1.2.5SDK下载国内镜像</p> <p> </p> <p>1.2.6Android SDK目录结构</p> <p> </p> <p>1.3在Android Studio开发环境中使用Android</p> <p> </p> <p>1.3.1打开Android Studio项目</p> <p> </p> <p>1.3.2Eclipse项目的导入</p> <p> </p> <p>1.3.3运行Android项目</p> <p> </p> <p>1.4Android四大组件</p> <p> </p> <p>1.4.1Activity</p> <p> </p> <p>1.4.2Service</p> <p> </p> <p>1.4.3BroadcastReceiver</p> <p> </p> <p>1.4.4ContentProvider</p> <p> </p> <p>第2章Android应用程序及生命周期</p> <p> </p> <p>2.1创建“移动点餐系统”Android程序</p> <p> </p> <p>2.1.1创建“移动点餐系统”项目</p> <p> </p> <p>2.1.2剖析“移动点餐系统”项目结构</p> <p> </p> <p>2.2“移动点餐系统”项目关键文件</p> <p> </p> <p>2.2.1layout目录中的activity_main.xml文件</p> <p> </p> <p>2.2.2AndroidManifest.xml文件</p> <p> </p> <p>2.2.3R.java文件</p> <p> </p> <p>2.2.4src目录中的MainActivity.java文件</p> <p> </p> <p>2.3Android生命周期</p> <p> </p> <p>2.3.1程序生命周期</p> <p> </p> <p>2.3.2Activity生命周期</p> <p> </p> <p>2.4程序调试</p> <p> </p> <p>2.4.1LogCat</p> <p> </p> <p>2.4.2程序跟踪</p> <p> </p> <p>第3章Android用户界面程序设计</p> <p> </p> <p>3.1用户界面基础</p> <p> </p> <p>3.2界面布局</p> <p> </p> <p>3.2.1框架布局</p> <p> </p> <p>3.2.2线性布局</p> <p> </p> <p>3.2.3相对布局</p> <p> </p> <p>3.2.4**布局</p> <p> </p> <p>3.2.5表格布局</p> <p> </p> <p>3.2.6网格布局</p> <p> </p> <p>3.2.7布局的混合使用</p> <p> </p> <p>3.3界面常用控件</p> <p> </p> <p>3.3.1TextView和EditView</p> <p> </p> <p>3.3.2Button和ImageButton</p> <p> </p> <p>3.3.3CheckBox和RadioButton</p> <p> </p> <p>3.3.4Spinner和ListView</p> <p> </p> <p>3.3.5自定义列表</p> <p> </p> <p>3.4“移动点餐系统”用户界面</p> <p> </p> <p>3.4.1实体模型类设计</p> <p> </p> <p>3.4.2主界面设计</p> <p> </p> <p>3.4.3用户注册界面设计</p> <p> </p> <p>3.4.4点餐菜单界面设计</p> <p> </p> <p>第4章多个用户界面的程序设计</p> <p> </p> <p>4.1用户界面切换与传递参数</p> <p> </p> <p>4.1.1传递参数的组件Intent</p> <p> </p> <p>4.1.2启动另一个Activity</p> <p> </p> <p>4.1.3Activity间的数据传递</p> <p> </p> <p>4.2消息提示</p> <p> </p> <p>4.3对话框</p> <p> </p> <p>4.3.1消息对话框</p> <p> </p> <p>4.3.2普通对话框</p> <p> </p> <p>4.4菜单</p> <p> </p> <p>4.4.1选项菜单</p> <p> </p> <p>4.4.2快捷菜单</p> <p> </p> <p>4.5“移动点餐系统”多用户界面程序设计</p> <p> </p> <p>4.5.1用户登录</p> <p> </p> <p>4.5.2用户注册</p> <p> </p> <p>4.5.3用户信息修改</p> <p> </p> <p>4.5.4用户点餐</p> <p> </p> <p>4.5.5选择通信方式</p> <p> </p> <p>第5章Android数据存储与访问</p> <p> </p> <p>5.1简单存储</p> <p> </p> <p>5.1.1SharedPreferences</p> <p> </p> <p>5.1.2使用SharedPreferences存储用户登录信息</p> <p> </p> <p>5.2文件存储</p> <p> </p> <p>5.2.1内部存储</p> <p> </p> <p>5.2.2外部存储</p> <p> </p> <p>5.2.3编写一个文件存储访问类</p> <p> </p> <p>5.2.4“移动点餐系统”中的文件操作</p> <p> </p> <p>5.3数据库存储</p> <p> </p> <p>5.3.1SQLite简介</p> <p> </p> <p>5.3.2管理和操作SQLite数据库的对象</p> <p> </p> <p>5.3.3数据操作</p> <p> </p> <p>5.3.4用数据库管理“移动点餐系统”中的菜单</p> <p> </p> <p>第6章Android系统的广播与服务</p> <p> </p> <p>6.1广播消息</p> <p> </p> <p>6.1.1广播概述</p> <p> </p> <p>6.1.2发送广播</p> <p> </p> <p>6.1.3接收广播</p> <p> </p> <p>6.1.4用广播来告知用户登录情况</p> <p> </p> <p>6.2服务简介</p> <p> </p> <p>6.2.1Service生命周期</p> <p> </p> <p>6.2.2Service使用方式</p> <p> </p> <p>6.3本地服务</p> <p> </p> <p>6.3.1服务的管理</p> <p> </p> <p>6.3.2多线程服务</p> <p> </p> <p>6.3.3服务的绑定</p> <p> </p> <p>6.3.4在“移动点餐系统”中用服务方式初始化菜单</p> <p> </p> <p>6.4远程服务</p> <p> </p> <p>6.4.1进程间的通信</p> <p> </p> <p>6.4.2服务的创建与调用</p> <p> </p> <p>第7章网络编程基础</p> <p> </p> <p>7.1网络编程基本知识</p> <p> </p> <p>7.1.1网络通信模型及结构</p> <p> </p> <p>7.1.2TCP/IP网络模型及协议</p> <p> </p> <p>7.1.3网络程序通信机制</p> <p> </p> <p>7.2在Android系统中操作WiFi</p> <p> </p> <p>7.2.1WifiManager类</p> <p> </p> <p>7.2.2在Android中控制WiFi</p> <p> </p> <p>7.2.3WifiInfo类</p> <p> </p> <p>7.2.4WiFi下获取IP与MAC地址</p> <p> </p> <p>第8章Socket编程</p> <p> </p> <p>8.1套接字</p> <p> </p> <p>8.1.1建立TCP套接字</p> <p> </p> <p>8.1.2建立UDP套接字</p> <p> </p> <p>8.2TCP传输编程</p> <p> </p> <p>8.2.1Socket类与ServerSocket类</p> <p> </p> <p>8.2.2使用TCP套接字传输数据</p> <p> </p> <p>8.2.3使用TCP进行手机文件传输</p> <p> </p> <p>8.3UDP传输编程</p> <p> </p> <p>8.3.1DatagramPacket类与DatagramSocket类</p> <p> </p> <p>8.3.2使用UDP套接字传输数据</p> <p> </p> <p>8.3.3使用UDP进行相片传输</p> <p> </p> <p>8.4使用无线局域网的“移动点餐系统”</p> <p> </p> <p>8.4.1“移动点餐系统”的PC服务器编程</p> <p> </p> <p>8.4.2“移动点餐系统”的Android客户端编程</p> <p> </p> <p>第9章HTTP编程</p> <p> </p> <p>9.1HTTP概述</p> <p> </p> <p>9.2URL处理</p> <p> </p> <p>9.2.1URL类的使用</p> <p> </p> <p>9.2.2URLConnection类的使用</p> <p> </p> <p>9.2.3HttpURLConnection的使用</p> <p> </p> <p>9.2.4用URL从互联网上下载文件</p> <p> </p> <p>9.3HttpClient使用方法</p> <p> </p> <p>9.3.1Apache HttpClient简介</p> <p> </p> <p>9.3.2HttpClient网络编程</p> <p> </p> <p>9.3.3使用JSON传输数据包</p> <p> </p> <p>9.4使用互联网的“移动点餐系统”</p> <p> </p> <p>9.4.1“移动点餐系统”的Web服务器编程</p> <p> </p> <p>9.4.2“移动点餐系统”的Android客户端编程</p> <p> </p> <p>第10章蓝牙传输编程</p> <p> </p> <p>10.1蓝牙概述</p> <p> </p> <p>10.2Android蓝牙API介绍</p> <p> </p> <p>10.2.1BluetoothAdapter类</p> <p> </p> <p>10.2.2BluetoothDevice类</p> <p> </p> <p>10.2.3BluetoothServerSocket类</p> <p> </p> <p>10.2.4BluetoothSocket类</p> <p> </p> <p>10.3Android蓝牙基本应用编程</p> <p> </p> <p>10.3.1蓝牙设备的查找与配对</p> <p> </p> <p>10.3.2蓝牙连接与数据传输</p> <p> </p> <p>10.3.3使用蓝牙传输的聊天程序</p> <p> </p> <p>第11章GPS应用与百度地图编程基础</p> <p> </p> <p>11.1百度地图概述</p> <p> </p> <p>11.2支持GPS的核心API</p> <p> </p> <p>11.3百度地图开发过程</p> <p> </p> <p>11.3.1申请密钥</p> <p> </p> <p>11.3.2在Android Studio中配置开发环境</p> <p> </p> <p>11.3.3Hello BaiduMap</p> <p> </p> <p>11.4基础地图</p> <p> </p> <p>11.5百度定位功能</p> <p> </p> <p>11.6百度定位开发过程</p> <p> </p> <p>11.7百度地图检索</p> <p> </p> <p>第12章Android移动应用编程实践</p> <p> </p> <p>12.1实验1: 搭建Android开发环境</p> <p> </p> <p>12.2实验2: Android应用程序及生命周期</p> <p> </p> <p>12.3实验3: Android用户界面设计</p> <p> </p> <p>12.4实验4: 多个用户界面的程序设计</p> <p> </p> <p>12.5实验5: 数据存储与访问</p> <p> </p> <p>12.6实验6: 后台服务</p> <p> </p> <p>12.7实验7: WiFi网络操作</p> <p> </p> <p>12.8实验8: Socket网络编程</p> <p> </p> <p>12.9实验9: HTTP编程</p> <p> </p> <p>12.10实验10: 蓝牙传输编程</p> <p> </p> <p>12.11实验11: 百度地图编程</p> <p> </p> <p>第13章Android移动应用编程课程设计</p> <p> </p> <p>13.1课程设计目的</p> <p> </p> <p>13.2题目及要求</p> <p> </p> <p>13.3考核方式</p> <p> </p> <p>参考文献</p>显示全部信息前 言
前言
由于智能手机和平板电脑的普及,各种Android程序已深入到大众生活,移动应用编程成为程序开发的一个非常重要的方向,而随着“互联网 ”的兴起,Android的移动网络应用编程正走向深入。正是在此背景下,本书除了介绍Android的基本知识外,还花了大量篇幅介绍了Android平台上的各种网络编程技术,并通过实际的应用项目作为引导驱动教学,从而让读者快速掌握移动网络应用程序的开发流程和技巧,为在“互联网 ”的技术浪潮中奋勇搏击奠定坚实的基础。
本书涵盖Android移动网络程序开发的理论、实验和课程设计。<p> </p> <p> </p> <p>前言</p> <p> </p> <p> </p> <p>由于智能手机和平板电脑的普及,各种Android程序已深入到大众生活,移动应用编程成为程序开发的一个非常重要的方向,而随着“互联网 ”的兴起,Android的移动网络应用编程正走向深入。正是在此背景下,本书除了介绍Android的基本知识外,还花了大量篇幅介绍了Android平台上的各种网络编程技术,并通过实际的应用项目作为引导驱动教学,从而让读者快速掌握移动网络应用程序的开发流程和技巧,为在“互联网 ”的技术浪潮中奋勇搏击奠定坚实的基础。</p> <p>本书涵盖Android移动网络程序开发的理论、实验和课程设计。</p> <p>全书内容共四大部分,具体如下: </p> <p>第1部分是Android程序开发基础,该部分为第1~6章,各章内容如下: </p> <p>第1章介绍Android的起源、特征、体系结构,然后介绍了Android开发环境的搭建及在Android Studio开发环境中使用Android,*后简单介绍了Android中的四大组件。</p> <p>第2章介绍Android项目的创建、项目结构、生命周期以及Android程序的调试方法。</p> <p>第3章介绍Android单一用户界面的编程,包括界面的布局、常用控件以及“移动点餐系统”中的单界面编程。</p> <p>第4章在第3章的基础上介绍多个用户界面的编程,包括Toast、对话框、菜单以及不同界面间的数据传递,*后介绍“移动点餐系统”中的多用户界面编程。</p> <p>第5章介绍Android数据存储和访问技术,包括SharedPreference存储、文件存储和数据库存储,并将以上存储方法应用到“移动点餐系统”中。</p> <p>第6章介绍Android系统的广播消息、本地服务、多线程服务和远程服务,并将广播消息和本地服务技术应用到“移动点餐系统”中。</p> <p>第2部分是Android网络编程,该部分为第7~11章,各章内容如下: </p> <p>第7章介绍Socket通信和HTTP通信基础,以及如何在Android中管理WiFi。</p> <p>第8章详细介绍Socket编程,从TCP和UDP套接字概念开始,逐步讲解TCP传输和UDP传输编程方法,*后介绍无线局域网中的“移动点餐系统”。</p> <p>第9章介绍HTTP编程,包括HTTP协议、使用URL相关类实现数据下载的��法,HttpClient网络编程和JSON数据包传输方法,*后介绍互联网中的“移动点餐系统”。</p> <p>第10章是蓝牙传输编程,主要包括蓝牙API的使用、蓝牙设备的查找与配对、蓝牙的连接与数据传输,*后通过蓝牙聊天程序实现以上知识点的综合应用。</p> <p>第11章是GPS应用与百度地图编程,主要包括百度地图应用开发步骤,基础地图、百度定位及位置检索功能的开发。</p> <p>第3部分是Android移动应用编程实践,即第12章,该实践由11个实验组成,分别对应理论部分的11章,通过这些实验对相应的理论知识点进行巩固、拓展以及深化。</p> <p>第4部分是Android移动网络应用编程的课程设计,即第13章,包括课程设计的目的、题目及要求、考核方式等。</p> <p>本书在写作过程中得到清华大学出版社的支持和帮助。本书由重庆理工大学的傅由甲、王勇、罗颂编著,重庆理工大学网络工程创新实验室的鲜光季参与了第11章内容的整理。</p> <p>本书可作为高等院校计算机及相关专业的教材,也可作为信息技术领域中的教师、学生和工程技术人员的参考书。</p> <p>本书参考了国内外的相关教材和著作,在此对相关作者表示真诚的感谢。由于编者水平有限,书中出现错误在所难免,恳请广大读者批评指正。</p> <p>作者</p> <p>2017年11月于重庆理工大学</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p>显示全部信息免费在线读第3章Android用户界面程序设计
3.1用户界面基础用户界面(User Interface)是系统和用户间进行信息交换的媒介。Android实行界面设计者和程序***独立并行工作的方式,实现了界面设计和程序逻辑完全分离,不仅有利于后期界面修改中避免修改程序的逻辑代码,也有利于针对不同型号手机的屏幕分辨率调整界面尺寸时不影响程序的运行。为了使界面设计和程序逻辑分离,Android程序将用户界面和资源从逻辑代码中分离出来,使用XML文件描述用户界面,资源文件独立保存在资源文件夹中。Android用户界面框架(Android UI Framework)采用MVC(ModelViewController)模型,为用户界面提供处理用户输入的控制器(Controller)、显示图像的视图(View)和模型(Model)。其中,模型是应用程序的核心,保存有数据和代码。控制器、视图和模型的关系如图3.1所示。Android系统的界面元素以一种树形结构组织在一起,称为视图树,如图3.2所示。绘制依据视图树从上至下绘制每个界面元素,且每个元素负责完成自身的绘制,如果元素包含子元素,则该元素通知其下所有子元素进行绘制。
图3.1MVC模型
图3.2视图树