# Mobile Teaching **Repository Path**: cnzdy/MobileTeaching ## Basic Information - **Project Name**: Mobile Teaching - **Description**: 移动计算及应用开发技术课程辅导材料 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2016-04-29 - **Last Updated**: 2023-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: 移动计算, Android开发 ## README # MobileTeaching #### 移动计算及应用开发技术 当前,随着无线网络、移动网络以及移动设备的发展,移动互联网正在席卷整个世界。移动计算的相关理论和移动应用开发技术是构建移动互联网的基础,它是分布式计算、人工智能、以及移动通信等多种技术相结合的产物。 #### 教材 本书以移动计算三要素为核心,从信息传输的基本原理、移动定位技术以及移动应用开发(Android 平台)技术展开讨论。本书总体上划分为移动计算理论和移动应用开发技术两个部分。理论部分讨论各种与无线传输相关的问题;开发技术部分集中介绍如何基于 Android 系统开发移动应用程序。 本书第一部分介绍移动计算的基本原理,包括第 1 章~第 3 章。 第 1 章概述,从网络的角度介绍移动计算的通信环境;从移动设备的角度介绍移动计算的各个组成部分;从软件开发的角度介绍各种移动应用开发平台。 第 2 章无线网络技术,根据传输距离的不同讨论各种移动通信技术规范,同时强调无线网络结构、网络协议以及关键技术的重要性。在讨论的过程中,首先从特定的无线网络协议入手,介绍协议的技术规范;然后,通过分析引出通信过程中存在的问题,再逐步给出协议的细节;最后,归纳各类协议的相互关系,并且通过实例介绍了无线网络技术的应用。 第 3 章无线定位技术,分析无线定位系统的体系结构,介绍不同的定位解决方案以及它们之间的相互联系和特点;同时从不同的角度讨论了各种定位方法,以及相关的定位服务。通过对无线定位技术的深入理解,为后续编写移动定位应用程序打下了基础。 本书第二部分以移动应用项目为依托介绍移动应用开发技术,包括第 4 章~第 10 章。 第 4 章移动开发环境,从移动应用的开发流程入手讨论如何创建移动应用项目;然后,介绍了各种移动应用开发工具。 第 5 章界面开发,从一个项目案例出发介绍如何构建 MVC 模式的移动应用,应用的界面设计,以及界面组件之间的交互方式和数据传输方式;并且通过实例对较复杂的列表控件、滑动页面控件和碎片几个界面控件进行了讨论。 第 6 章资源管理,对可直接访问的资源和原生资源分别进行了介绍。可直接访问的资源使用 R 文件进行访问,都保存在 res 目录下,在编译的时候,会自动生成 R.java 资源索引文件。原生资源不需要额外的定义,可直接读取和使用,在生成 APK 安装文件时,不会被编译成二进制形式。 第 7 章数据存取,介绍了 Android 系统的文件操作,少量数据的 SharedPreferences 存取方式,轻量级关系数据库 SQLite 以及实现应用程序间数据共享的内容提供器。另外,还介绍了 XML 格式和 JSON 格式数据的多种解析方法。 第 8 章消息与服务,分别介绍了消息和通知的处理方法。BroadcastReceiver 用于处理 Android 系统消息,而 Notification 用于处理应用程序发送的通知。对于需要异步处理的消息,介绍了 Handler 和 AsyncTask 两种处理方式。最后,介绍了用于后台任务的 Service 和 IntentService 两种服务。 第 9 章感知与多媒体,介绍了 Android 系统提供的各种传感器,以及 Android 中提供的各种多媒体功能。通过调用系统的 API 函数,可以方便地实现音、视频播放,以及拍照等功能。 第 10 章系统与通信,对 Android 系统的应用程序层、应用程序框架层、系统运行库层和 Linux 内核层分别进行了讨论。此外,还介绍了 Android 体系中特有的进程间通信(Inter-Process Communication,IPC)方式。 在附录部分,本书设置了五个编程实验,让读者通过动手实践进一步理解移动应用开发技术部分的内容;并且在实践中发现问题、解决问题,从而对移动应用开发过程有一个完整和清晰的理解,从而提高移动应用的设计能力和编程能力。本书面向本科高年级学生,遵循工程专业教育认证的思想,以学生为中心,注重学生素质和能力的培养。本书整体规划围绕培养学生的工程素质、技能素质和综合素质三个方面来展开,主要特点如下。 1. 采用问题引入、分析求解、过程探讨的方式,一步步把工程中出现的问题和解决方法逐步抽象、转化为基本概念和理论知识。 2. 在内容上,注重理论知识与实际工程问题的结合;在结构上,以应用项目将移动应用开发的内容有机地联系在一起;在形式上,采用练习和实验相结合的方式,锻炼动手实践能力。 3. 本书的内容涉及面对象程序设计(Java/C++)、计算机网络和数据库原理等多门计算机核心课程的内容,对于培养综合运用多门课程的知识以解决工程领域问题的能力具有积极的作用。 在学习的过程中,通过本书了解移动计算的特点和发展趋势,比较全面地理解移动计算的基本概念、原理,各种开发平台和工具,以及移动应用程序的基本结构和设计方法。在实践中,对工程项目进行分析、建模和编程实现,能够在新的项目中应用所学到的理论知识和开发技术,对于深入理解移动操作系统和程序设计有很大的帮助。 #### 教材源代码 1. 第五章 界面开发 2. 第六章 资源管理 3. 第七章 数据存储 4. 第八章 消息与服务 5. 第九章 感知与多媒体 6. 第十章 操作系统与通信 #### 教材实验 1. 搭建实验环境 2. 设计与实现移动客户端界面 3. 移动端数据存取 4. 广播与通知 5. 移动应用的信息获取 #### 参与贡献 1. Fork 本仓库 2. 提交代码 #### 参考文献 1. 汉斯曼,等. 普及计算[M]. 英春等,译. 第2版. 北京:清华大学出版社,2004. 2. FAR B R. 移动计算原理————基于UML和XML的移动应用设计与开发[M]. 顾国昌等,译. 北京:电子工业出版社,2006. 3. Andrea Goldsmith. 无线通信[M].杨鸿文,李卫东,郭文彬等,译.北京:人民邮电出版社,2007. 4. 徐明,曹建农,彭伟. 移动计算技术[M].北京:清华大学出版社,2008. 5. 张德干.移动计算[M].北京:科学出版社,2009. 6. 张传福. 移动互联网技术及业务[M].北京:电子工业出版社,2012. 7. 袁满,吴晓宇,等.移动计算(修订版)[M].哈尔滨:哈尔滨工业大学出版社,2015. 8. 郑相全. 无线自组网技术实用教程[M],北京:清华大学出版社,2004. 9. 刘乃安.无线局域网:WLAN 原理、技术与应用[M],西安:西安电子科技大学出版社,2004. 10. 于宏毅,等.无线移动自组织网络[M],北京:人民邮电出版社,2004. 11. 任智,姚玉坤,曹建玲,等.无线自组织网络路由协议及应用[M],北京:电子工业出版社,2015. 12. Stefano Basagni,Marco Conti,等.移动 Ad Hoc 网络[M].任品毅,王熠晨,译.西安:西安交通大学出版社,2012. 13. 杨波,周亚宁.大话通信[M].北京:人民邮电出版社,2009. 14. 丁奇.大话无线通信[M].北京:人民邮电出版社,2010. 15. 丁奇,阳桢.大话移动通信[M].北京:人民邮电出版社,2011. 16. James F. Kurose,Keith W. Ross.计算机网络自顶向下方法(第 6 版)[M].陈鸣,译.北京:机械工业出版社,2016. 17. 徐小龙.物联网室内定位技术[M].北京:电子工业出版社,2017. 18. DebDiv 移动开发社区.移动开发平台解决方案[M].北京:海洋出版社,2011. 19. 郭霖.第一行代码 Android[M].北京:人民邮电出版社,2014. 20. Bill Phillips,等.Android 编程权威指南[M].王明发,译.北京:人民邮电出版社,2016. 21. 林学森.深入理解 Android 内核设计思想[M].北京:人民邮电出版社,2014. 22. 李刚.疯狂 Android 讲义(第 3 版)[M].北京:电子工业出版社,2015. 23. 任玉刚.Android 开发艺术探索[M].北京:电子工业出版社,2015. 24. 邓凡平.深入理解 Android Wi-Fi、NFC 和 GPS 卷[M].北京:机械工业出版社,2015. 25. 何红辉,关爱民.Android 源码设计模式解析与实战[M].北京:电子工业出版社,2015. 26. 刘望舒.Android 进阶之光[M].北京:电子工业出版社,2017.