教材学习内容总结
23章-Android简介html
- Android操做系统是一种多用户的Linux系统,一个应用程序和其余App隔离开来运行的。
- Java是开发Android应用程序的默认语言。
- Android4.4是Dalvik和ART的转折点和分水岭
- Android是向后兼容的
- 4种Android应用程序组件
活动(Activity) |
包含用户交互组件的一个窗口 |
服务(Service) |
在后台长时间运行的操做 |
广播接收者(Broadcast receiver) |
一个监听器,负责对系统或应用程序声明做出响应 |
内容提供者(Content provider) |
管理要和其余应用程序分享的一组数据的一个组件 |
- 意图是一条消息,发送给系统或另外一个应用程序,以要求执行一个动做
- 每一个应用程序都必须有一个清单,描述该应用程序
- Android版本

24章-初识Androidjava
- 应用程序结构:Project窗口中有两个主要的节点。app节点包含了应用程序中全部的组件,Gradle Scripts节点包含了Gradle构建脚本。
- app节点包含mainfests,java,res三个节点
- Android清单:用来描述应用程序。
- 清单文件是一个XML文档,使用mainfest做为其根元素。mainfest元素的package属性为应用程序指定了一个惟一的标识符。Android工具根据这一信息生成相应的Java类
- application元素描述了应用程序,它包含了一个或多个activity元素。应用程序一般有一个主活动,充当应用程序的入口点。
- apk文件
- Android应用程序打包为一个apk文件。自动生成的apk文件包含调试信息,可以以调试模式运行
- 即使应用程序有多个Java文件,也只有一个classes.dex文件
- 调试应用程序
- 使用日志消息调试一个应用程序。Android框架提供了android.util.Log类用于记录日志消息
- 在LogCat中,不一样日志级别的消息以不一样颜色来显示且每条消息都有一个标签。
25章-活动android
- 活动的生命周期
- 启动一个活动意味着要显示一个窗口,应用程序所建立的第一个窗口,叫做主活动。经过在应用程序清单文件中声明来指定主活动
- 在
application
元素定义的活动下,使用inter-filter
元素声明为主活动,其必须包含MAIN的action
和LAUNCHER的category
- 能够经过
startActivity
方法传递一个意图启动一个新的活动
26章-UI组件vim
- 使用UI工具所作的事情,都会反映到布局文件中,以XML元素的形式体现出来
- Toast是一个小的弹出对话框,用于显示一条消息做为给用户的反馈。
- AlertDialog也是一个为用户提供反馈的窗口,但它会一直显示直至失去焦点。
- 通知是出如今状态栏的一条消息,通知是持久的,而且将保持显示
教材学习中的问题和解决过程
大体应该是每个命名空间的独特的标识之类的意思吧???app
- 问题3:显式意图和隐式意图的具体理解
- 问题3解决方案:显式意图:调用
Intent.setComponent()
或Intent.setClass()
方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪一个组件。
隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动做(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
- 问题4:关于活动的生命周期的理解
问题4解决方案:
框架
代码调试中的问题和解决过程
- 问题1:第一次使用AS,生成一个新的project,可生成的文档就出现了如图的问题--显示R类标红

而后我想直接忽略此错误强制运行,在点击运行按钮后,就出现了这样的提示

显示我没有安装SDK,可事实上我确实安装了SDK,因而将错误提示在网上搜索,就提示我经过点击File
-->Project Structure
-->Build Tools Version
配置一下就行了,如图

其中的原理就不太懂了,再次运行AS又运行了老久,貌似下载安装了许多东西

但好在最后运行成功了

上周考试错题总结
- 错题1:The following method should return true if the int parameter is even and either positive or 0, and false otherwise. Which set of code should you use to replace ... so that the method works appropriately?
public boolean question3(int x) { ... }
A .if (x = = 0) return true;else if (x < 0) return false;else return question3(x - 1);
B .if (x = = 0) return false;else if (x < 0) return true;else return question3(x - 1);
C .if (x = = 0) return true;else if (x < 0) return false;else return question3(x - 2);
D .if (x = = 0) return false;else if (x < 0) return true;else return question3(x - 2);
E .return(x = = 0);
- 解析:若是x为0,则最初的x必为偶数;若x<0,则x最初为奇数或是小于零
- 错题2:Which of the following is considered an Abstract Data Type?
A .数组
B .参考变量
C .任何数据类型(例如int、Double、char)
D .矢量
E .以上全部
- 解析:抽象数据类型包括数据结构和操做和访问数据结构的方法,其中只有向量将二者结合在一块儿,数组是数据结构,但没有方法(例如插入方法或搜索方法),而引用变量和原始类型是数据而不是数据结构。
- 错题3:Abstract Data Types have which of the following object-oriented features?
A .信息隐藏
B .继承
C .多态
D .讯息传递
E .以上全部
- 解析:以上这些答案都是面向对象的特征类型,抽象数据类型封装了数据结构和操做数据结构的方法,从而保留了信息隐藏,所以,全部ADT都使用信息隐藏,所以不能直接从ADT外部操做数据结构,而不须要其余面向对象的特性。
- 错题4:Which of the following criticisms of an array is applicable to a Java array?
A .访问随机元素是一种效率低下的结构。
B .它只支持先入先出的访问类型。
C .它的大小是固定的(静态的)。
D .它不能用于建立抽象数据类型,如队列或堆栈
E .以上全部
- 解析:当数组被实例化时,Java中任何数组的大小都是固定的。若是在向数组中添加元素时,数组被填充,数组自己就不能改变大小。若是旧数组元素被移动到新数组中,就能够建立新数组,但这是效率低下的。
- 错题5: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 .只有当队列或堆栈使用数组实现时
B .只有当队列或堆栈使用连接列表实现时
C .只适用于队列
D .只适用于堆栈
E .以上任何一项操做都是没有用的。
- 解析:数组是一个静态大小的对象,若是它被填充满,那么任何添加的操做,不管是列表插入、队列仍是堆栈推送,都会被阻止。这能够经过事先检查结构是否为满来肯定。若是数据结构是使用连接列表实现的,这是没必要要的,由于(咱们假设)将始终有动态内存可用于添加新元素。
- 错题6:In a linked list in Java
A .连接是一个对象。
B .连接是一个节点。
C .连接是一个引用。
D .连接是int型。
E .连接是一个类。
- 解析:这道题的错误点在于没有把linked list和link区分开来。在链表中,连接是对下一节点的引用。
- 错题7:A linear data structure
A .每一个节点老是有一个以上的连接。
B .有时表示为树或图。
C .每一个节点只能有一个连接
D .几乎老是保持排序顺序,不管是升序仍是降序。
E .以上都不是
- 解析:一个线性数据结构中每一个节点只有一个连接。以树或图的形式显示的数据结构不是线性的,它们至少是二维的,没有任何使线性数据结构保持任何类型的顺序的要求。
- 错题8:The push and enqueue operations are essentially the same operations, push is used for Stacks and enqueue is used for Queues.
- 解析:进栈和出栈操做老是在堆栈的顶部进行,而队列操做老是在队列的后面添加。因此该说法错误
- 错题9:An array is a List Abstract Data Type.
- 解析:数组是一种数据结构,可用于存储值,但该数组没有已实现的执行列表操做的操做因此该说法错误
- 错题10:A linked list that contains 6 Nodes will have 6 reference pointers.
- 解析:为了访问连接列表,至少须要有第7个引用指针因此该说法错误
- 错题11:It is possible to restrict the type of object which is stored within a Java collection by using a generic type when the collection is declared.(在声明集合时,可使用泛型类型来限制存储在Java集合中的对象的类型。)
- 解析:泛型提供了一种方法来指定集合被限制到的对象的类型因此是正确的
- 错题12:Trees and graphs, because they are dynamic in nature, cannot be implemented using Java arrays.
- 解析:虽然数组有固定的大小,但能够将原数组分配到更大的数组中去,从而经过这种方式来实现数组的扩展,因此该说法是错误的
- 错题13:The only difference between a stack and a queue is that stacks operate using FIFO and queues operate using LIFO.
- 解析:堆栈使用先入后出(LIFO)操做,而队列使用先进先出(FIFO)操做。
- 错题14:Linux Bash中,使用
sudo apt-get upgrade
命令能够更新系统。
- 解析:此题正确
- 错题15:一个具备执行权限的目录能够被打开并查看内部文件
- 解析:一个目录同时具备读权限和执行权限才能够打开并查看内部文件.
- 错题16:Linux Bash中,使用apt-get search tree命令来查找是否系统装有软件tree。
- 解析:应该使用
apt-cache search tree
- 错题17:Linux Bash中,使用
rm –r /dky/D*
命令强制删除/dky目录下全部D开头的文件。
- 解析:应该使用
rm –f /dky/D*
- 错题18:Linux Bash中,查找五天以内src目录中删除的文件的命令是
find /src/ -ctime -5
。
- 解析:此题正确
- 错题19:Linux Bash中,使用grep查找当前src目录下全部包含main函数的文件,并要求显示出现行号的命令是
grep –n main /src
- 解析:应该使用
grep –rn main /src
- 错题20:在Ubuntu中,使用vim编辑器时,想要移动光标,除方向键以外,还能够依次使用hjkl键进行上下左右的移动。
- 解析:没有想到栽在了顺序之上,上下左右顺序依次是kjhl
- 错题21:在Linux Bash中,find命令的
-cmin n
参数表示查找在过去n天内被修改过的文件。
- 解析:参数n解释有误
- 错题22:在Linux Bash中,为全部人对file1.txt文件添加写入权限的命令是
chmod o+w filel.txt
或者 chmod 666 filel.txt
.
- 解析:
chmod a+w filel.txt
或者 chmod 666 file
, a+w 和 o+w 有所区别。
结对及互评
其余
本周主要开始学习安卓方面的知识,原本内容并非特别多,难度也不是很大,但在实验中AS出现了一系列棘手的问题,并且直到如今也没有获得解决,因此这周特别难过。不过好在快结束了,胜利就在前方!另外值得注意的是,本周的测试错题过多,尤为是关于Linux的操做命令,几乎是一窍不通啊。
学习进度条
目标 |
5000行 |
30篇 |
400小时 |
|
第一周 |
117/117 |
1/1 |
19/19 |
|
第二周 |
289/406 |
1/2 |
21/40 |
|
第三周 |
403/809 |
2/4 |
22/62 |
|
第四周 |
1783/2592 |
1/5 |
35/97 |
|
第五周 |
770/3362 |
1/6 |
25/122 |
|
第六周 |
734/4096 |
1/7 |
25/147 |
|
第七周 |
687 / 4783 |
1/8 |
25/172 |
|
第八周 |
824/5607 |
2/10 |
30/202 |
|
第九周 |
764/6371 |
2/12 |
30/432 |
|
第十周 |
540/6911 |
2/14 |
20/452 |
|
第十一周 |
??? |
2/14 |
20/472 |
|
参考资料