Android-Studio移动应用开发任务教程(微课版)教案(3).docx
《Android-Studio移动应用开发任务教程(微课版)教案(3).docx》由会员分享,可在线阅读,更多相关《Android-Studio移动应用开发任务教程(微课版)教案(3).docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、教学单元:移动应用开发(4)授课班级:授课时间:4教学地点:教学目的:应知:1、了解Adapter的工作原理;2、了解ListView Spinner等控件的使用应会:1、 会使用基本的适配器;会使用ListView、Spinner等显示控件;2、 能完成简单Android程序的开发教学重点、难点:1. Adapter的工作原理和使用方法2. ListView Spinner等显示控件的使用教学方法:根据本堂课教学内容的重点与难点,教学过程中主要采用以下教学方法:1. 在理论教学上,主要在钉钉平台上进行,以讲授和教学演示为主,通过提问引导学生发现问题、分析问题,掌握Android软件开发的基本
2、概念和流程。2. 在实践教学上,采用“实例引导,工程驱动”的方式讲授。通过实现相关实例,在实例基础上改造拓宽,真正实现“学以致用”。钉钉和QQ相结合,采 用演示、实践和讨论相结合的模式。3. 注重教学整体过程设计,依托网络平台,将课前预习、课中讲授与演练和课后练习与讨论答疑有机结合,不断摸索提高教学效果。1 .课程设计(1)回顾上一章的内容,通过QQ联系人界面,引出ExpandableListView(2)介绍 ExpandableListView 控件。(3)在包 cn. edu. szpt. qqdemov2 中,新建 Activity,命名为“QQContactActivity,完成QQ
3、联系人界面搭建Component Tree!* N ConstraintLayout* ConstraintLayoutB imgLoginlcon GmageView)Ab tv_AddBtn fTextView) - $trincAb tvTitle CTextView) - string/tit=exIvContact (ExpandableListView)(4)请学生截图发到群里,了解学生进度(5) 实现组布局,item_contact_groupComponent Tree* 0 I- N ConstraintLayoutAb tv.grouptitle (TextView)Ab
4、tv.groupcount (TextView)(6)请学生截图发到群里,了解学生进度(7)实现子布局,item_contact_chi 1 dComponent Tree* HN ConstraintLayout5 imglcon QmageView)Ab tvName fTextView) - -TextViewAb tv.OnlineMode (TextView) - -TextViAb tv_Action (TextView) - -TextView(8)请学生截图发到群里,了解学生进度(9)通过界面分析,设计数据的实体类。public class QQContactBean priv
5、ate String name; private int img;private String onlinemode; private String newaction;o o o o(10)请学生代码截图发到群里,了解学生进度(11 ) 自 定义类QQContact Adapt er , 继承自BaseExpandab1eListAdapterprivate List groupdata;private MapString, List childdata;private Context context;public QQContactAdapter(List groupdata,MapStr
6、ing, List childdata, Context context) super ();this, groupdata = groupdata;this, childdata = childdata;this.context = context;(12)请学生代码截图发到群里,了解学生进度(13)在 QQContactAdapter 中,重写 getGroupView 方法static class GroupHolderTextView tv_grouptitle;TextView tv_groupcount;) public View getGroupView(int groupPos
7、ition, boolean isExpanded, View convertView, ViewGroup parent) GroupHolder holder;if (convcrtVicw 二二 null) convertView二Layoutlnflater, from(context). inflate(R. layout. item_contact_group, parent, false);holder=new GroupHolder ();holder. tv_grouptitle 二(TextView) convertView. findViewByld(R. id. tv_
8、grouptitle);holder. tv_groupcount=(TextView)convertView. findViewById(R. id. tv_groupcount);convertView. setTag(holder); elseholder二(GroupHolder) convertView. getTagO ;)holder. tv_grouptitle. setText(groupdata. get(groupPosition);holder. tv_groupcount. setText(childdata, get(groupdata.get (groupP os
9、ition). size () + );return convertView;(14) 了解学生进度(15)在 QQContactAdapter 中,重写 getGroupView 方法static class ChildHolderImageView imglcon;TextView tvName;TextView tvOnlineMode;TextView tvAction;)Overridepublic View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView
10、, ViewGroup parent) ChildHolder holder;if (convertView = null) convertView=Layoutlnflater, from(context). inflate(R. layout. item_contact_child, parent, false);holder=new ChildHolder();holder. imglcon= (ImageView)convertView. findViewByld(R. id. imglcon);holder. tvNamc=(TextView)convertView. findVie
11、wByld(R. id. tvName);holder.tvOnlineMode=(TextView)convertView. findViewByld(R. id. tv_OnlineMode);holder.tvAction= (TextView)convertView. findViewById(R. id. tv_Action);convertView. setTag(holder); else holder= (ChildHolder) convertView. getTagO ;QQContactBeancontactBean=chiIddata. get(groupdata. g
12、et(groupPosition). get(childPo sition);holder, imglcon. setlmageResource (contactBean. getlmgO);holder. tvName. setText(contactBean. getName ();holder. tvOnlineMode. setText( +contactBean. getOnlinemode () + );holder. tvAction. setText(contactBean. getNewaction();return convertView;(16) 了解学生进度(17)在Q
13、Q联系人Activity中,添加生成联系人列表的代码private ExpandableListView lv;private QQContactAdapter adapter;private String countries = new String “蜀,魏,吴 );private String names = new String口 刘备,关羽,张飞,赵云,黄忠,魏延,曹操,许褚,张辽,孙权,鲁肃,吕蒙 );private int icons =new int R. drawable, liubei, R. drawable, guanyu,R. drawable, zhangfei,
14、R. drawable, zhaoyun,R. drawable, huangzhong, R. drawable, weiyan,R. drawable, caocao, R. drawable, xuchu, R. drawable, zhangliao,R. drawable, sunquan, R. drawable, lusu,R. drawable. Ivmeng);private ListgroupData;private MapString, ListchildData;private void initialDataO for (int i = 0; i countries.
15、length; i+) groupData. add (countriesi);List list=new ArrayList ();for (int j = 0; j namesi. length; j+) QQContactBean p = new QQContactBean(namesij, iconsij, 4G 在线,天天向上);list, add(p); childData. put (countries i,list);)(18) 了解学生进度(19)结束本次课程讲练局部,进入讨论答疑环节。(20)总结上次课的内容,讲解易错点,说明本次练习课的安排和要求。(21)练习及答疑课,完
16、成练习课工程作业:相关习题教学单元:移动应用开发(6)授课班级:授课时间:2教学地点:教学目的:应知:1、了解Android应用的基本结构;2、了解 Fragment 和 ViewPager应会:7、 会使用 Fragment 和 ViewPager;会使用Android Studio集成开发环境;8、 能完成侧滑效果教学重点、难点:4 .Android的基本框架结构5 . Fragment 和 ViewPager教学方法:根据本堂课教学内容的重点与难点,教学过程中主要采用以下教学方法:7. 在理论教学上,主要在钉钉平台上进行,以讲授和教学演示为主,通过提问引导学生发现问题、分析问题,掌握An
17、droid软件开发的基本概念和流程。8. 在实践教学上,采用“实例引导,工程驱动”的方式讲授。通过实现相关实例,在实例基础上改造拓宽,真正实现“学以致用”。钉钉和QQ相结合, 采用演示、实践和讨论相结合的模式。9. 注重教学整体过程设计,依托网络平台,将课前预习、课中讲授与演练和课后练习与讨论答疑有机结合,不断摸索提高教学效果。教学过程设计:备注:1 .课程设计(1)回顾上一节的内容,提出将多个界面集成在一起的问题(2)介绍Fragment、ViewPager和相关的适配器。(3)实现集成主界面,activity_main. xmlComponent TreeN ConstraintLayou
18、tradioGroup2 (norizo ital) rbMessage (RadioButton) rbContact (RadioButton) rbPulgin (RadioButton)% viewPager(4) 了解学生进度(5)新建三个selector文件tab_contact_selector, xml tab_message_selector, xml tab_pulgin_selector, xml (6) 了解学生进度(7)新建包“cn. edu. szpt. qqdemov2. fragments”。在该包中新建QQMessageFragment 和 QQContact
19、Fragment,继承自 v4 包中的Fragmento参照相应Activity中的代码进行改写,注意,Activity中 onCreate方法中的代码要对应到Fragment中的onCreateView方法 中。(8) 了解学生进度(9)在包 cn. edu. szpt. qqdemov2. adapters v 下,新建类,命名为 QQFragmentPagerAdapter,继承自 v4 包中的 FragmentPagerAdaptero 重 写 QQFragmentPagerAdapter 中的相关方法public class QQFragmentPagerAdapter extend
20、s FragmentPagerAdapter private ListmFragments;public QQFragmentPagerAdapter(FragmentManager fm, List mFragments) super (fm);this. mFragments = mFragments;Overridepublic Fragment getltem(int position) return mFragments. get (position);)Overridepublic int getCount () return mFragments. size(); | )(10)
21、 了解学生进度(11 )切换到MainActivity. java文件,修改相应代码,创立QQFragmentPagerAdapter对象,并将其设置到ViewPager中,并编写 getFragmentsList ()方法vp= (ViewPager) findViewByld(R. id. viewPager);QQFragmentPagerAdapter adapter = new QQFragmentPagerAdapter ( getSupportFragmentManager (), getFragmentsList ();vp. setAdapter(adapter);ooooo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android Studio 移动 应用 开发 任务 教程 微课版 教案
限制150内