前言 在“互联网+”创业公司中,App是标配。现有教材多数重点讲述服务器端、客户端以及数据库等其中某个部分,对应于软件项目组中的服务器程序员、Android/iOS程序员、数据库程序员等岗位,比较适合有一定规模的公司。目前许多培训机构以及高校都是按某一类岗位的要求来培养程序员,要找到这类程序员更容易。 很多时候,企业希望程序员同时承担设计服务器端、客户端和数据库等多个岗位的任务,即有全栈工程师的能力,初创公司尤其如此。即使在程序员分工较细的公司,如果程序员具有全栈工程师的基本能力,则不同岗位的程序员更易合作。 随着全国大学生“互联网+”创新创业竞赛的不断推进,许多学生都想将自己的好点子用App实现,但往往就卡在最终App的实现上,创意落地难。 对于教材来说,为满足全栈工程师的培养要求,则既要有一个完整的综合案例,又要能将案例拆分为一个个可独立运行、可测试的小例子。读者可以边学边做,检验自己的知识掌握程度,学完全书即完成完整项目。这类教材比较难设计,市面上少见,而本书正是想做这一尝试。 本书案例选自早期“豹考通”App的简化版,介绍了该App的Android客户端程序、服务器端数据库和服务器管理程序的开发。本书假定读者有一定的编程语言基础,对App开发和Android编程有一定的了解。 本书中有些代码较长,有些模块只列出关键代码。基于这些关键代码讲解,读者可以访问教学资料的网站,下载完整代码,边阅读代码边体验程序效果,并且扩充或修改程序功能。为方便阅读,书中的每段代码都添加了代码编号,部分关键语句加了注释,并给出了程序在资源包中的位置,样例如下所示。程序清单xyy: Code040201\\app\\src\\main\\java\\cn\\jxufe\\iet\\code040201\\ControLineActivity.java 1 private class MyItemSelectedListener implements AdapterView.OnItemSelectedListener { 2@Override 3public void onItemSelected(AdapterViewparent, View view, 4 int position, long id) { 5switch (parent.getId()) { 6case R.id.areaSpinner://如果是选择省份列表 7sourceAreaId =position; 8break; 9case R.id.yearSpinner://如果是选择年份列表 … 20} 21/设置标题显示/ 22controlLineTitle.setText(Html.fromHtml("" …其中1,2,3,…,22为代码行号,中间为代码实际内容,“//”后为注释内容。程序清单的位置也进行了详细标注,便于读者查找下载。各章代码独立存储在一个文件夹中。 阅读本书时,最好按照书中的步骤同时实际操作,加深印象,掌握关键技术,不建议仅直接打开源代码运行来查看最后效果。编程基础较弱者也可泛读全书,体验App开发流程和关键细节。涉及相关技术时,尽可能去参考相关教材或网络资源。 为方便学习、交流与资源共享,我们提供了本书相关资源的下载地址,网址为http://www.xs360.cn/book。 本书由钟元生、李普聪担任主编,负责全书的方案设计、内容策划、案例分解、细节把握、质量控制和统编定稿工作。各章分工如下: 钟元生负责第1章、第2章,并参编其余各章,赵圣鲁负责第3章、第7章、第9章,参编第4章,邹宇杰负责第4章,吴凯负责第5章,钟坚负责第6章,秦振负责第8章。李浩轩参加了书稿校对、代码检查等工作。 作为一种尝试,我们在本书编写过程中反复对案例进行选择,对教材结构、教法、编法等进行研究与设计,历经一年半撰写了几十个版本,进行了三次大规模修改,本书方得以展现在读者面前。尽管如此,本书依然有许多不尽如人意的地方。还望读者批评指正,以便将来再版时完善。 本书适合作为本专科“App开发”课程实训教材,供无项目经验的学生开发App时参考,也可作为大学生“互联网+”创新创业竞赛的实战参考书。 编者 于江西财经大学麦庐园 2022年6月