1、《Android开发基础》课程教学大纲 课程代码:21137041 课程名称:Android开发基础 课程性质:专业(必修) 学 分:5 学 时:108 讲课学时:72 实践/实验学时:36 适用专业:软件工程(移动互联网方向) 先修课程:JAVA程序设计 一、课程目标 《Android开发基础》是软件工程专业(移动互联网方向)很重要的一门专业必修课,是基于Android平台进行软件开发的基础课程。本课程主要介绍Android 基础知识、UI界面、数据存储、SQLite数据库、Android四大组
2、件、网络编程等。通过本课程的学习,学生具有开发Android应用的基本能力,可以掌握Android应用开发环境,GUI编程,Android组件的生命周期,Android平台数据存储的设计,网络服务与数据解析的设计等内容,具有移动互联网工程师的基本知识结构,为学生今后从事移动互联网应用软件开发工作打下坚实的基础。 二、教学内容 1. Android基础入门 教学要求: 了解通信技术的发展,了解Android的起源,掌握开发环境的搭建,掌握Android程序的编写。 教学内容: 通信技术;Android起源;Android体系结构;Dalvik虚拟机;Android Studio的安装
3、和使用;模拟器的创建;DDMS的使用;Android程序结构;Android程序打包; ZN Android开发环境搭建; ZN开发第一个Android程序。 实验内容: 实验一 Android开发、运行环境的搭建 Android Studio的安装和使用,模拟器和DDMS的使用。 编写HelloWorld程序,在模拟器上运行,完成Android程序的打包。 2. Android UI开发 教学要求: 掌握常见布局的使用,掌握样式和主题的使用,掌握常用控件和对话框的使用。掌握程序调试的方法,实现对程序的调试。掌握如何使用JUnit进行单元测试。掌握LogCat,能够快
4、速定位日志信息。 教学内容: 布局的创建;常用控件和对话框;Android的样式和主题;国际化;JUnit单元测试;LogCat使用;Debug的使用; ZN Android中的常用布局; ZN 单元测试和程序调试; Z Android常用控件及其事件处理机制; Z样式和主题。 实验内容: 实验二 Android 图形用户界面设计 利用Android的常用布局,完成QQ登录界面的制作。 利用线性布局和相对布局完成手机信息页的设计和调试。 设计和实现计算器。利用Android的常用布局,设计界面;编写界面交互代码实现事件处理。 3. Activity 教学要求: 了解
5、什么是Activity,掌握Activity生命周期方法。了解Activity的任务栈,掌握Activity的四种启动模式。掌握Intent的使用,掌握Activity中的数据传递。 教学内容: Activity的创建;Activity的生命周期;Activity中的任务栈;Activity的启动模式;Intent的使用;Activity中的数据传递; Z Activity的生命周期; Z Activity的四种启动模式; Z Intent的使用; N Activity中的数据传递。 实验内容: 实验三 Activity编程 完成注册用户信息案例。设计用户交互界面,编写界面交
6、互代码。 通过隐式Intent打开系统浏览器。设计用户交互界面,编写界面交互代码。 完成选择宝宝装备游戏的制作。创建宠物显示界面;创建购买装备界面;创建ItemInfo类,用于封装装备信息;编写ShopActivity展示装备信息,当点击ShopActivity的装备时,会跳转到ShowActivity并将装备信息回传给ShowActivity。 4.数据存储 教学要求: 掌握如何使用文件存储数据,掌握SharedPreferences存储数据,掌握XML文件的解析,掌握JSON数据的解析。 教学内容: 数据存储方式介绍;文件存储数据;XML解析方式;JSON数据及其解析;Sha
7、redPreferences的使用; Z文件存储数据; Z SharedPreferences的使用; Z XML解析; Z JSON解析。 实验内容: 实验四 数据存储技术 完善QQ登录案例,保存QQ密码,实现自动登录。设计用户界面;创建一个单独的FileSaveQQ工具类,用于实现QQ账号和密码的存储与读取功能;编写界面交互代码。 设计和实现天气预报,要求利用XML文件解析。设计用户交互界面;创建weather1.xml文件封装三个城市的天气信息,每一个城市都由id、temp、weather、name、pm和wind属性组成;创建WeatherInfo类封装天气属性;创建
8、用来解析XML文件的工具类WeatherService;编写界面交互代码。 设计和实现天气预报,要求利用JSON解析。创建weather2.json文件;创建工具类;编写界面交互代码。 5. SQLite数据库 教学要求: 了解SQLite数据库的特点,掌握SQLite数据库的使用。掌握ListView控件的使用,掌握常用数据适配器的使用。 教学内容: SQLite数据库简介;SQLite的基本操作;SQLite中的事务;ListView控件;常用的数据适配器BaseAdapter、SimpleAdapter、ArrayAdapter;ListView的优化; Z SQLite数
9、据库操作; Z ListView控件的使用; Z Adapter适配器。 实验内容: 实验五 SQLite数据库编程 设计和实现绿豆通讯录,设计用户交互界面;在MainActivity里面编写代码,用于实现联系人信息的添加、查询、修改和删除,点击查询按钮之后会将联系人的具体信息进行展示。 设计和实现Android应用市场,设计用户交互界面;创建好ListView布局之后,需要创建ListView对应的Item(条目)布局,显示每个条目信息;在MainActivity里面编写代码,用于实现在ListView中显示的应用图标以及应用名称。 6. BroadcastReceiver(广
10、播接收者) 教学要求: 了解Android下的广播机制,掌握广播接收者的创建,掌握自定义广播的发送与接收,掌握有序广播和无序广播的使用。 教学内容: 广播接收者简介;广播接收者的创建;自定义广播的发送与接收;有序广播和无序广播; Z广播接收者的创建; Z自定义广播的发送与接收; Z广播的类型(有序广播和无序广播)。 实验内容: 实验六 BroadcastReceiver 设计和实现小游戏拦截史迪仔电话。设计用户交互界面;在MainActivity中编写界面交互的代码,将要拦截的号码保存到SharedPreferences对象中;创建一个广播接收者OutCallReceiv
11、er,用于接收外拨电话的广播。 设计和实现小游戏拯救史迪仔。设计用户交互界面;编写MainActivity类,实现按钮的点击事件,并在该事件中完成广播的发送;创建一个广播接收者MyBroadcastReceiver,用于接收自定义广播事件。 设计和实现小游戏拦截史迪仔广播。设计用户交互界面;编写界面交互代码,用于发送有序广播;创建三个广播接收者,在不同的广播接收者中,打印不同的LogCat信息。 7. Service(服务) 教学要求: 了解如何创建服务,掌握服务的生命周期,掌握服务的两种启动方式,掌握如何使用本地服务通信。 教学内容: 服务的创建;服务的生命周期;服务的启动方式
12、服务的通信; Z服务的创建; Z服务的生命周期; Z服务的启动方式; N服务的通信。 实验七 服务 设计和实现音乐播放器。设计用户交互界面;创建服务类,实现音乐的播放和暂停功能;在MainActivity中实现播放、暂停按钮的点击事件。 设计和实现地震监测。设计用户交互界面;创建服务类,并在清单文件中注册;在MainActivity中绑定服务,绑定服务后获取服务中的信息。 8. ContentProvider(内容提供者) 教学要求: 了解什么是内容提供者,掌握如何使用内容提供者。了解什么是内容观察者,掌握如何使用内容观察者。 教学内容: 内容提供者简介;内容提供者的
13、创建;内容提供者的使用;内容观察者的使用; Z内容提供者的使用; Z对数据进行增删改查; ZN内容观察者的使用。 实验内容: 实验八 内容提供者 设计和实现小游戏查看短信的喵。设计用户交互界面;接下来创建一个实体类SmsInfo,用于封装短信的属性,存储单条短信的信息;在MainActivity中编写界面交互代码以实现查看系统短信的功能;在AndroidMainfest.xml文件中加上读取短信的权限。 设计和实现小游戏监测数据的喵。设计用户交互界面;创建一个数据库帮助类PersonDBOpenHelper,用于创建数据库及数据表;创建内容提供者;在MainActivity中使用
14、ContentResolver的相关方法来操作数据。 9.网络编程 教学要求: 掌握HttpClientConnection的使用,掌握Handler消息机制的使用。掌握开源项目SmartImageView的使用,掌握开源项目AsycHttpClient的使用。 教学内容: HTTP协议简介;AHttpClientConnection的基本用法; GET与POST请求方式;Handler消息机制;开源项目AsycHttpClient;开源项目SmartImageView; Z HttpClientConnection的基本用法; Z GET与POST请求方式; Z Handl
15、er消息机制; Z 开源项目SmartImageView; Z 开源项目AsycHttpClient。 实验内容: 实验九 网络编程 设计和实现网络图片浏览器,设计用户交互界面;在MainActivity里面编写与界面交互的代码,使用HttpURLConnection实现请求指定地址的网络图片,并将服务器返回的图片展示在界面上;在清单文件中配置相应的权限。 设计和实现新闻客户端,创建服务器端程序;创建JSON文件存放图片路径、新闻标题、新闻描述、新闻类型和评论数量五个属性;创建ListView的 item布局;创建NewsInfo实体类;创建工具类;编写界面交互代码。 三、各教
16、学单元学时分配表 教学单元名称 讲授 实践/实验 Android基础入门 实验一 Android开发、运行环境的搭建 4 2 Android UI开发 实验二 Android 图形用户界面设计 14 6 Activity 实验三 Activity编程 12 4 数据存储 实验四 数据存储技术 10 4 SQLite数据库 实验五 SQLite数据库编程 8 4 BroadcastReceiver(广播接收者) 实验六 BroadcastReceiver 6 2 Service(服务) 实验七 服务 6 4 Content
17、Provider(内容提供者) 实验八 内容提供者 6 4 网络编程 实验九 网络编程 6 6 合 计 72 36 四、教学组织与方法 1.采用哪些教学方法? 本课程教学主要采用案例导向、项目驱动等教学方法,启发学生对知识的把握理解和实际操作能力。课程的教学以调动学生的积极性为核心,除讲授、提问、学生分析、讨论等常用的方法外,结合Android课程的特点和我院教学资源的实际情况,在引入案例和项目时,利用学生感兴趣的事例,激发学生的好奇心和求知欲,提高学生的学习主动性。 2.如何组织?运用哪些教学手段? 在现代教学技术手段运用方面,课程配备了丰富的
18、教学资源,如电子课件、各种音频视频资料、实验指导书、配套习题和试题库,提供了大量的教学案例和开发案例等学习资料,以训练学生软件开发的能力。学生可以利用校内实训室所提供的环境和工具,进行软件开发实训。这些现代教学技术手段的应用为课程教学改革提供了强有力的技术支持和教学资源支持。 3.如何理论联系实际培养学生各方面的能力? 探索并完善以参与式、交互式教学等实践教学为基本形式的多种方法,通过案例分析和实训,切实提高学生分析问题、解决问题的能力。 五、课程考核与成绩评定 本课程实践性很强,实践动手能力和设计能力是能力素质当中第一要求。因此,在考核方式上,以能力考核为目标,从“书本性知识”向“
19、实践动手”转变,实行上机考试,要求学生在规定的时间内(考核编码速度),完成试题的分析(考核分析能力),进行设计(考核设计能力),编码成功后提交(考核代码能力),以理解和掌握层次知识点为主要考核内容。 课程考核采用百分制模式,平时考查与期末考查相结合。课程考核总评成绩由期末考试成绩、平时成绩构成,比例分别为70%、30%。 课程成绩(总评)= 课堂出勤表现(10%)+平时作业成绩(10%)+实验成绩(10%)+期末考试成绩(70%) 成绩组成 考核/评价环节 分值(或百分比) 考核/评价细则 上机考试 70% 按照参考答案和评分标准评分 出勤 10% 缺勤一次扣一分,全勤10分 平时作业 10% 根据完成情况给分 实验 10% 缺少一次扣一分,全部完成10分 六、推荐教材和教学参考书目与文献 推荐教材: 《Android移动开发基础案例教程》,黑马程序员编著,人民邮电出版社,2017.1。 参考书目与文献: 《第一行代码 Android》,郭霖编著,人民邮电出版社,2016.12。 课程相关主要网站: 慕课网 大纲制订人:甘文丽 大纲审定人:宋振芳 教学院长(主任):蒋胜利 制订日期:2018年5月20日






