ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:511.20KB ,
资源ID:5403075      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5403075.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android Studio移动应用开发任务教程微课版教案4.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android Studio移动应用开发任务教程微课版教案4.docx

1、Android Studio移动应用开发任务教程微课版教案4教学单元:移动应用开发(9)授课班级: 授课时间:2教学地点: 教学目的: 应知:1、了解SharedPreferences存储;2、了解基本SQL语句的使用 应会:1、 会使用SharedPreferences存放配置信息;2、 会使用基本SQL语句实现数据库的增删改查;3、 能完成简单Android程序的开发教学重点、难点:1 SharedPreferences的使用2 SQL语句的使用教学方法:根据本堂课教学内容的重点与难点,教学过程中主要采用以下教学方法:1 在理论教学上,主要在钉钉平台上进行,以讲授和教学演示为主,通过提问引

2、导学生发现问题、分析问题,掌握Android软件开发的基本概念和流程。2 在实践教学上,采用“实例引导,项目驱动”的方式讲授。通过实现相关实例,在实例基础上改造拓宽,真正实现“学以致用”。钉钉和QQ相结合,采用演示、实践和讨论相结合的模式。3 注重教学整体过程设计,依托网络平台,将课前预习、课中讲授与演练和课后练习与讨论答疑有机结合,不断摸索提高教学效果。教学过程设计:备注:1课程设计 (1)回顾上次课的内容,提出在Android中如何存储数据的问题(2)简单介绍Android本地存储的几种方式。(3)以记住密码功能为例,讲解SharedPreferences的使用。(4)首先,将QQDemo

3、V2改名为QQDemoV3(5)添加成员变量etQQName、etQQPwd和chkRememberPwd(6)通过findViewById()方法获取布局文件中的相应控件(7)实现当用户单击“登录”按钮时,如果勾选了“记住密码”选项,则首先将用户输入QQ号码和密码记录在SharedPreferences中,然后再跳转到“MainActivity”。btnLogin.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) if(chkRememberPwd.isChecked() Sha

4、redPreferences settings = getSharedPreferences(); setting,MODE_PRIVATE);SharedPreferences.Editor editor = settings.edit();editor.putString(qqnum,etQQName.getText().toString();editor.putSting(pwd,etQQPwd.getText().toString(); mit();Intent intent=new Intent(LoginActivity.this,MainActivity.class); star

5、tActivity(intent); );(8)了解学生进度 (9)运行后,打开Android Studio菜单,单击“Tool-”“Android”“Android Device Monitor”命令,打开DDMS,切换到“File Explore”,可以在相应的目录下找到“setting.xml”文件注意,此时模拟器可能会因为权限问题,无法看到相应的信息,需要进行授权DDMS中权限的处理(安装模拟器选用带Google Apis选项的,不要带Google Play选项的)进入cmd,切换到C:UsersadminnAppDataLocalAndroidsdkplatform-tools运行a

6、db root运行adb remount(大多数情况,已经可以看到相应目录了,如果不行则进行逐层授权)获取root权限运行adb shell键入su使用chmod 777 /data命令逐层授权(10) 在LoginActivity.java文件中,在onCreate()方法的末尾添加如下代码,实现当用户下次打开应用时,自动填入QQ号码和密码。SharedPreferences settings = getSharedPreferences(setting, MODE_PRIVATE);etQQName.setText(settings.getString(qqnum,);etQQPwd.se

7、tText(settings.getString(pwd,);(11)了解学生进度(12)回顾SQL基本语句以系统的登录和联系人功能为例。首先,我们需要实现系统登录,那么,我们需要有一张用户表-QQ_Login,这个表至少需要保存qq_num和qq_pwd,我们再看联系人界面,我们可以看到每个用户都有头像、名字、在线模式和签名,这些信息也需要保存,那么,是不是也应该添加在QQ_Login表中呢?另外,我们发现我们在联系人界面中,将联系人按照所属国家的不同进行了分组,那我们如何标识一个联系人属于哪个国家呢?-新建列belong_country。(13)安装SQLiteExpert个人版,创建一个

8、数据库TestDB,然后创建一张表QQ_Login,分别设置qq_num、qq_pwd、qq_name、qq_img、qq_online、 qq_action和belong_country。总结,如何创建一张表,如何定义列切换到DDL页,查看相应的生成CREATE TABLE QQ_Login( qq_num VARCHAR PRIMARY KEY NOT NULL, qq_name VARCHAR, qq_pwd VARCHAR, qq_img INT, qq_online VARCHAR, qq_action VARCHAR, belong_country VARCHAR);切换到SQL页

9、,练习insert语句,分别插入刘备、曹操、孙权和关羽insert into QQ_login(qq_num,qq_name,qq_pwd,qq_img,qq_online,qq_action,belong_country) values(1001,刘备,123456,1001,4G 在线,天天向上,蜀) 练习select语句,查询所有数据,提问如果要实现登录,应如何查询select * from QQ_Login where qq_num=1001 and qq_pwd=123456练习update语句,修改关羽所属国家,update QQ_Login set belong_country=

10、魏执行的结果是什么?引出为什么要设置主键,主键的作用是做什么的练习delete语句,删除一条关羽这条记录(14)了解学生进度(15)思考一下,如果我们要实现联系人功能,需要如何设计数据库。也就是描述谁是谁的联系人,我们是在QQ_Login表中设计,还是需要另外建一张表?如果是另外建,应该如何设计?-观察联系人界面所需的信息,哪些是重复的信息?能否去掉这些重复信息?-表的主键是什么?(16)结束本次课程,进入讨论答疑环节。 作业: 相关习题教学单元:移动应用开发(10)授课班级: 授课时间:2教学地点: 教学目的: 应知:1、了解SQLite数据库;2、了解如何使用程序访问SQLite数据库;

11、应会:4、 会使用SQLiteOpenHelper创建和管理数据库;5、 能实现登录功能;6、 能完成简单Android程序的开发教学重点、难点:3 SQLiteOpenHelper的使用4 实现登录功能教学方法:根据本堂课教学内容的重点与难点,教学过程中主要采用以下教学方法:4 在理论教学上,主要在钉钉平台上进行,以讲授和教学演示为主,通过提问引导学生发现问题、分析问题,掌握Android软件开发的基本概念和流程。5 在实践教学上,采用“实例引导,项目驱动”的方式讲授。通过实现相关实例,在实例基础上改造拓宽,真正实现“学以致用”。钉钉和QQ相结合,采用演示、实践和讨论相结合的模式。6 注重教

12、学整体过程设计,依托网络平台,将课前预习、课中讲授与演练和课后练习与讨论答疑有机结合,不断摸索提高教学效果。教学过程设计:备注:1课程设计 (1)回顾上次课的内容,提出在Android中如何访问SQLite数据库的问题。(2)在Java中我们通常采用JDBC访问数据库,但因为JDBC会消耗较多的系统资源,所以Android采用专门的一些API来访问SQLite-SQLiteDatabase。(3)一个SQLiteDatabase的实例就代表了一个SQLite的数据库,通过SQLiteDatabase实例的一些方法,我们可以执行SQL语句,对数据库进行增、删、查、改的操作。主要是execSQL和

13、rawQuery方法。(4)但是,如何获得和管理SQLiteDatabase对象呢-SQLiteOpenHelper,简单介绍SQLiteOpenHelper。(5)以登录功能为例,展示SQLiteOpenHelper的使用(6)新建dbutils包,在该包下,新建类“MyDbHelper”,继承自SQLiteOpenHelper,并重写相关方法构造器方法:采用默认形式这里,我们需要实现登录功能,主要使用QQ_Login表,所以我们需要在onCreate方法中创建一个数据表QQ_Login,并为其添加初始的数据public class MyDbHelper extends SQLiteOpen

14、Helper public MyDbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) super(context, name, factory, version);Overridepublic void onCreate(SQLiteDatabase db) String sql=CREATE TABLE QQ_Login( + qq_num VARCHAR(20) PRIMARY KEY NOT NULL, + qq_name VARCHAR NOT NULL, +

15、qq_pwd VARCHAR NOT NULL, qq_img INT, + qq_online VARCHAR, qq_action VARCHAR, + belong_country VARCHAR); db.execSQL(sql); initData(db); private void initData(SQLiteDatabase db)String countries = new String 蜀, 魏, 吴 ;String nums = new String 1001, 1002, 1003, 1004, 1005, 1006 , 2001, 2002, 2003 , 3001,

16、 3002, 3003 ; String names = new String 刘备, 关羽, 张飞, 赵云, 黄忠, 魏延 , 曹操, 许褚, 张辽 , 孙权, 鲁肃, 吕蒙 ;int icons=new int R.drawable.liubei,R.drawable.guanyu,R.drawable.zhangfei, R.drawable.zhaoyun,R.drawable.huangzhong, R.drawable.weiyan,R.drawable.caocao,R.drawable.xuchu,R.drawable.zhangliao, R.drawable.sunquan

17、,R.drawable.lusu,R.drawable.lvmeng ; String sql=insert into QQ_Login(qq_num,qq_name,qq_pwd,qq_img, + qq_online,qq_action,belong_country) + values(?,?,?,?,?,?,?);for(int i=0;icountries.length;i+)for(int j=0;jnamesi.length;j+) db.execSQL(sql,new Objectnumsij,namesij,123456,iconsij,4G在线,天天向上,countriesi

18、); Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) (7)了解学生进度(8)根据QQ_Login表的定义,修改“cn.edu.szpt.qqdemov3.beans”包中的QQContact类,添加两个成员变量,以及对应的getter和setter方法和构造器方法。private String num;private String belong_country; (9) 切换到LoginActivity.java中,修改onCreate()方法中,登录按钮的监听器处理代码,实现本

19、地数据库验证功能。首先采用拼接SQL语句的方式实现,演示SQL注入式攻击,然后强调必须使用参数形式,btnLogin.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) MyDbHelper helper = new MyDbHelper(getApplicationContext(), QQ_DB, null, 1); SQLiteDatabase db = helper.getReadableDatabase(); String sql = select * from QQ_Lo

20、gin where qq_num=? and qq_pwd=?; Cursor cursor = db.rawQuery(sql, new StringetQQName.getText().toString(), etQQPwd.getText().toString();if (cursor.moveToNext() /登录成功,跳转到登录后界面 else Toast.makeText(getApplicationContext(),用户名或密码错误, Toast.LENGTH_LONG).show(); );(10)了解学生进度(11)因为我们每次访问数据库都需要创建MyDbHelper对象

21、,如果我们后面数据库名称和版本发生变化,我们需要修改的地方太多,所以,我们可以把这些信息放在一个常量里面。(12)在dbutils包中,新建类“Db_Params”,以静态常量形式存放数据库的相关参数。并修改相应的代码public class Db_Params public static final String DB_NAME=QQ_DB;public static final int DB_VER=1;(13)登录成功后,我们需要在界面上显示登录用户的头像,并显示与之相关的消息信息和联系人信息,因此,我们需要在多个类中使用当前登录的用户信息,为了方便使用,我们在MainActivity.

22、java中,添加一个公有的静态变量loginedUser,用以存放登录用户的相关信息。当登录成功后,跳转到MainActivity之前,添加如下语句,将登录用户的信息保存在loginedUser。MainActivity.loginedUser = new QQContactBean( cursor.getString(cursor.getColumnIndex(qq_num), cursor.getString(cursor.getColumnIndex(qq_name), cursor.getInt(cursor.getColumnIndex(qq_img), cursor.getStri

23、ng(cursor.getColumnIndex(qq_online), cursor.getString(cursor.getColumnIndex(qq_action), cursor.getString(cursor.getColumnIndex(belong_country);(14)当登录成功后,更新联系人界面上的登陆用户头像。打开QQContactFragment.java文件,添加成员变量logined_img指向界面中的ImageView控件private ImageView logined_img;在onCreateView()方法中,通过findViewById()方法找到

24、相应的控件,然后实现登录用户头像显示功能。logined_img = (ImageView) view.findViewById(R.id.imgLoginIcon);logined_img.setImageResource(MainActivity.loginedUser.getImg();(15)结束本次课程,进入讨论答疑环节。 作业: 相关习题教学单元:移动应用开发(11)授课班级: 授课时间:6教学地点: 教学目的: 应知:1、了解SQLite数据库的使用;2、了解如何使用程序访问SQLite数据库; 应会:7、 会使用DialogFragment创建对话框;8、 能实现联系人显示、添

25、加和删除功能;9、 能完成简单Android程序的开发教学重点、难点:5 实现联系人显示、添加和删除6 DialogFragment的使用教学方法:根据本堂课教学内容的重点与难点,教学过程中主要采用以下教学方法:7 在理论教学上,主要在钉钉平台上进行,以讲授和教学演示为主,通过提问引导学生发现问题、分析问题,掌握Android软件开发的基本概念和流程。8 在实践教学上,采用“实例引导,项目驱动”的方式讲授。通过实现相关实例,在实例基础上改造拓宽,真正实现“学以致用”。钉钉和QQ相结合,采用演示、实践和讨论相结合的模式。9 注重教学整体过程设计,依托网络平台,将课前预习、课中讲授与演练和课后练习

26、与讨论答疑有机结合,不断摸索提高教学效果。教学过程设计:备注:1课程设计 (1)回顾上次课的内容,提出本课的目标是实现联系人界面中的显示功能(2)要实现联系人的管理,我们需要新建一张表QQ_Contact,用以记录每个用户的联系人关系,其中contactId为主键,自动增量;qq_num表示联系人的QQ号码;belong_qq表示联系人所属用户的QQ号码。(3)这张表描述了每个用户有哪些联系人,但是我们观察一下联系人的界面,发现我们还需要每个联系人的信息,比如头像、姓名等。那么这就涉及了表的连接,多表连接包括内连接、外连接、左外连接、右外连接。SQLite只有内连接和左外连接,使用QQ_DB演

27、示两种连接方式(4)为了方便访问,我们再定义一个视图view_Contact,将QQ_Contact表左连接QQ_Login表,SQL语句如下:SELECT u.contactId, u.belong_qq, v.*FROM QQ_Contact u LEFT JOIN QQ_Login v ON u.qq_num = v.qq_num(5)了解学生进度(6)这里,我们需要更新数据库QQ_DB,但是,onCreate方法只是在第一次创建数据库才会调用,因此,这里我们需要删除已创建的数据库,操作如下:打开Android Device Monitor窗口。找到data/data/qqdemov3/

28、databases/目录,删除QQ_DB和QQ_DB-journal两个文件。(7) 打开QQDemoV3工程中“cn.edu.szpt.qqdemov3.dbutils”包下的MyDbHelper.java文件,修改onCreate()方法,在initData(db)方法调用前添加如下代码。/创建QQ_Contact表sql=CREATE TABLE QQ_Contact( +contactId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, + qq_num VARCHAR NOT NULL, belong_qq VARCHAR NOT NULL);

29、 db.execSQL(sql);/创建view_Contact视图sql=CREATE VIEW view_Contact AS + SELECT u.contactId, u.belong_qq, v.* FROM QQ_Contact u + LEFT JOIN QQ_Login v ON u.qq_num = v.qq_num;db.execSQL(sql);(8)了解学生进度(9)修改MyDbHelper类中的initData()方法用来初始化数据。private void initData(SQLiteDatabase db)/。省略相关数组的定义,和初始化。此部分不变String sql=insert into QQ_Login(qq_num,qq_name,qq_pwd,qq_img, +qq_online,qq_action,belong_country) values(?,?,?,?,?,?,?);for(int i=0;icountries.length;i+)for(int j=0;jnamesi.length;j+)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1