20172318 2017-2018-2 《程序设计与数据结构》第11周学习总结
教材学习内容总结
- SDK:安卓软件工具包
- AndroidStudio:这是基于IntelliJIDEA的一款流行的IDE.该软件包包含了AndroidSDK
- AndroidDeveloperTools(ADT)Bundle:这是包含了AndroidSDK和Eclipse的一个软件包
- Android清单:每个Android应用程序都必须有一个叫作AndroidManifest„xml的清单文件,它用来描述应用程序。
- apk:Android应用程序打包为一个文件,这基本上是一个zip文件,并且可以使用WinZip或类似的程序打开它。
- AVD:Android虚拟设备
- activity:活动是包含了用户界面组件的一个窗口.用户可以和这些用尸界面组件交互。启动一个活动,往往意味着显示一个窗口,
- UI组件:AndroidSDK提供了叫作微件(widget)的众多简单的和复杂的组件。微件的例气包括很多按钮、文
本字段和进度条等。此外。还需要选择一个布局来放置UI组件 - Toast:Toast是一个小的弹出框,用于显示一条消息作为给用户的反馈
- 通知是出现在状态栏中的一则消息与Toast不同,通知是持久的
- 布局:定义了UI的可视结构
- 监听器:大多数Android程序都是可交互的。通过Android框架所提供的事件驱动的编程泛型,用户可以
很容易地与应用程序交互·当用户和一个活动交互的时候可能发生的事件包括点击、长按、触碰和按
等。要让程序响应某一个事件,需要为该事件编写一个监听器。做到这一点的方式,是实现嵌入在
android.view.vVew类中的一个接口
教材学习中的问题和解决过程
- 问题1:监听器怎么设置?
- 问题1解决方案:
1.初始化当前所需要控件,如何初始化一个控件…………private Button xxxx
findViewById---返回的是一个View的对象…………需要强转成其子类Button对象
findViewById---是如何查找View的Id…………通过R中的ID,
2.设置Button的监听器,通过监听器实现我们点击Button需要操作的事情
方式一:匿名内部类
初始化;
首先是声明一个私有的类:private Button loginButton
然后用findViewById();
loginButto=(Button)findViewById(R.id.button1);返回 的是一个View的对象;//这句在内部的方法里
方式二:独立类的实现
方式三:通过实现一个接口的方式,来实现监听器
实现OnClickListener接口,进行setOnClickListener(this)绑定。 - 问题2:下载gradle下到一半关了,再进入出现异常
- 问题2解决方案:
1.找到项目内部geadle>wrapper>gradle-wrapper.properties文件,用记事本打开
2.复制最后的网址,把/去掉用迅雷下载
3.下载完成后把文件替换到系统盘gradle目录下的文件
4.重启Android Studio
代码托管
:本周没敲代码
上周考试错题总结
- 错题1及原因,理解情况
Which of the following is considered an Abstract Data Type?
A .array
B .reference variable
C .any of the primitive types (e.g., int, double, char)
D .vector
E .all of the above
选D,只有矢量包含一个数据结构和操作和访问数据结构的方法 - 错题2及原因,理解情况
Abstract Data Types have which of the following object-oriented features?
A .information hiding
B .inheritance
C .polymorphism
D .message passing
E .all of the above
选A,所有的ADT都使用信息隐藏,这样数据结构就不能直接从ADT外部操纵,但是其他面向对象的特性是不需要的。 - 错题3及原因,理解情况
One operation that we might want to implement on a Stack and a Queue is full, which determines if the data structure has room for another item to be added. This operation would be useful
A .only if the Queue or Stack is implemented using an array
B .only if the Queue or Stack is implemented using a linked list
C .only for a Queue
D .only for a Stack
E .none of the above, a full operation is not useful at all
选A,由于阵列是一个静态大小的物体,如果它被填满,那么任何添加类型的操作,无论是列表插入、队列enqueue还是堆栈推送,都应该被阻止。这可以通过首先检查结构是否完整来确定。如果数据结构是使用链表来实现的,这是不必要的,因为(我们假设)总是会有动态内存来添加新元素。 - 错题4及原因,理解情况
In a linked list in Java
A .the link is an object
B .the link is a node
C .the link is a reference
D .the link is an int
E .the link is a class
选C,链接是一个参考 - 错题5及原因,理解情况
A linear data structure
A .always has more than one link per node
B .is sometimes represented as a tree or a graph
C .can have but a single link per node
D .almost always is kept in sorted order either ascending or descending
E .none of the above
点评过的同学博客和代码
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 128/128 | 1/1 | 12/12 | |
第二周 | 212/340 | 1/2 | 18/30 | |
第三周 | 206/546 | 1/3 | 20/50 | |
第四周 | 483/1029 | 2/5 | 40/90 | |
第五周 | 633/1662 | 1/6 | 30/120 | |
第六周 | 560/2222 | 1/7 | 20/140 | |
第七周 | 511/2733 | 1/8 | 20/160 | |
第八周 | 817/3550 | 3/11 | 25/185 | |
第九周 | 1319/4869 | 2/11 | 20/205 | |
第十周 | 488/5357 | 1/11 | 20/225 | |
第十一周 | 0/5357 | 2/13 | 30/255 |