20172329 2017-2018-2 《程序设计与数据结构》第十一周学习总结

20172329 2017-2018-2 《程序设计与数据结构》第十一周学习总结

教材学习内容总结

Java和Android开发学习指南 第23章 Android简介

一、4种Android应用程序组件
1、活动 ( Activity ) : 包含用户交互组件的一个窗口 。
2、服务 ( Service ) : 在后台长时间运行的操作 。
3、广播接收者 (Broadcast receiver ) : —个监听器 , 负责对系统或应用程序声明做 出响应 。
4、内容提供者 ( Contentprovider ) : 管理要和其他应用程序分享的一组数据的一个 组件

二、intent
Android 编程中的另一个重要的概念是意图(intent),意图是一条消息 ,发送给系统或另一个应用程序 ,以要求执行一个动作 。可以使用意图来做很多不同的事情 ,但通常使用意图来启动一个活动 ,启动一个服务或者发送条广播 。每个应用程序都必须有一个清单( manifest ),描述该应用程序 。清单以 XML 文件的形式给出 , 其中 包含了如下的一项或 几项 :
1、运行该应用程序所需的最小APILevel 。
2、应用程序的名称 。这个名称将会显示在设备上 。
3、当用户在其手机或平板电脑的主屏幕上触碰该应用程序的图标的时候 ,将会打开的第一个活动 ( 窗口 ) 。
4、是否允许从其他的应用程序调用你的 应用程序组件 。为了促进代码复用 ,只要应用程序的开发者同意分享 ,就可以从其他应用程序调用该应用 程序的功能 。例如 ,可以从需要照片和视频拍摄功能的应用程序中 ,调用默认的Camera 应用程序 。
5、对于在目标设备上安装的应用程序 ,用户必须保证一组什么样的许可 。如果用户不能保证所有必须的许可 ,将不会安装该应用程序 。

Java和Android开发学习指南 第24章 初识Android

一、下载和安装Android Studio
1、首先运行android-studio-ide-173.4720617-windows,开始安装
注:经过多次尝试,必须将Android Stuidio的安装路径放于C盘的一个空文件夹里,并且,所建的文件夹名字不能带有ACSⅡ字符,比如中文。

2、开始进行配置文件
(1)我们第一次打开AS需要我们配置一定的文件他才会顺利为我们打开,首先,当安装好以后呈现出这个页面以后:

(2)点击新建一个项目(这里要注意一个定义,这里我们建的项目是一个整体的项目,新手小白可能会出现建立新项目就是新建一个app的想法,新建一个模块是可以在这个项目里面建立的,所以这里建议将这个项目不要命名为一个程序的名字,要么以后后悔都来不及,建议命名为“AndroidProject”之类的名字,以免区分其他程序项目)

(3)接下来应该会呈现这样一个界面

默认选择以后,到了重头戏:

到了这个页面的时候,需要选择cancel,因为在我的试验里,假如选择Setup Proxy,它会一直重复这个过程直到我们自己崩溃,当我们选择cancel以后,就紧接着继续后续操作,刚刚没有选择cancel的过程是我们需要下载成功制造一个app需要的配置文件,比如:grade等等。当我们下载继续一路next以后,就完成了我们的配置工作。(如果是按照上述完全一样,会成功,假如有一步不对,就会出现大大小小的问题)

二、创建应用程序

Java和Android开发学习指南 第25章 活动

一、活动的生命周期
1、活动是android.app. Activity类的一个实例。一个典型的Android应用程序,都是从启动一个活动开始的,也就是说,启动一个活动就意味着要显示一个窗口。应用程序所创建的第一个窗口,叫作主活动(main activity),它充当应用程序的入口点。
2、当用户从主屏幕选择一个应用程序图标的时候,系统将会查找应用程序的主活动并启动它。启动一个活动涉及实例化活动类(这在清单中的activity元素的android:name属性中指定),并且调用其生命周期方法。

二、修改应用程序图标
1、在res/drawable中保存一个jepg文件或者png文件。png文件是首选的,因为这个格式支持透明度。

三、启动另外一个活动
1、通过调用startActivity方法而直接做到,比如startActivity(intent),其中intent就是android.content.Intent类的一个实例。

Java和Android开发学习指南 第26章 UI组件

一、概览
1、Android SDK提供了叫作微件(widget)的众多简单的和复杂的组件。微件的例子,包括很多按钮、文本字段和进度条等。此外,还需要选择一个布局来放置UI组件。微件和布局,都在android.view.View类中实现。视图是占据屏幕的一个矩形区域。View类是最重要的Android类型之一。

二、Toast
1、Toast是一个小的弹出的对话框,用于显示一条消息作为给用户的反馈。Toast并不会代替当前的活动,并且只是占据了一条消息那么大的空间。
2、andriod.widget.Toast类是创建Toast的模板。要创建一个Toast,调用它唯一的构造方法,接受Context作为一个参数:
public Toast(android.context.Context context)
Toast还提供了两个静态的makeText方法来创建Toast的实例。该方法的两种重载形式的签名如下:
public static Toast makeText(andriod.content.Context context,int rezourceId,int duration)
public static oast makeText(andriod.content.Context context,java.lang.CharSequence text,int duration)

三、通知
1、通知是出现在状态栏的一条消息,和Toast不同,通知是持久的,并且将保持显示,直到关闭它或者关闭设备。
2、通知是android.app.Notification的实例。创建一个通知的最方便的方法,是使用一个叫做Builder的嵌套类,可以通过传递一个Context来实例化该类。然后,可以在该Builder上调用build方法来创建一个Notification。
例如:Notification n = new Notification.Builder(context).build();

Java和Android开发学习指南 第27章 布局

一、概览
1、布局是android.view. ViewGroup的 子类,该类反过来又派生自android.view. View类。ViewGroup是一个特殊的视图,它可以包含其他的视图,可以在一个布局文件中声明布局,或者在运行时通过编程添加布局。
如下是Android中的一些布局。
(1)LinearLayout。将所有子视图以相同的方向(或者水平地或者垂直地)对齐的一个布局。
(2)RelativeLayout。根据子视图的一个或多个同级视图的位置来排列它的一个布局。
(3)FrameLayout。将每一个子视图放在另一个子视图顶部的一种布局。
(4)TableLayout。将子视图按照行和列来组织的一种布局。
(5)GridLayout。将子视图放置到一个栅格中的一种布局。

二、LinearLayout
1、LinearLayout是根据其orientation属性,将子视图水平地或垂直地排列的一种布局。LinearLayout是最 容易使用的布局。

Java和Android开发学习指南 第28章 监听器

一、概览
1、使用活动中的一个视图进行的用户交互,可能会触发一个事件,而且你可以编写当事件发生的时候所执行的代码。包含了响应某一个事件的代码的类,叫作事件监听器(event listener)。
2、要让程序响应某一个事件,需要为该事件编写一个监听器。做到这一点的方式,是实现嵌入在 android.view.View类中的一个接口。

教材学习中的问题和解决过程

  • 问题1:
    第一次安装AS 的时候,看了网上安装AS的教程,在遇到就是在过程中写到的这个:

一直都在点Setup Proxy,在这里弄了好久。

  • 问题1解决方案:
    在上文中也提到过,我点击了Cancel,在后面配置的时候自动就下载了grade等配置文件。
  • 问题2:
    在第一次打开的时候,R就是红色的,显示R文件丢失,如图
  • 问题2解决方法:
    1、首先有两种解决策略:
    (1)如果急用或是创建过的项目需要修改:
    可以先选择为android,然后点开Gradle Scripts下的gradle.properties

并在最后一行添加
android.enableAapt2=false

(2)永久禁用
假如有这样的问题,说明安装路径里面可能有中文,所以把它移到一个新的文件夹下面,而且这个文件夹名字不能有中文就可以了。
(ps:假如在C盘记得给予这个文件夹管理员权限!!!)

2、接下来也是关键一步,进入build—>clean build,然后build—>rebuild,大多时候情况就会解决了

3、接下来开始运行app,在这里我建议运行下面的测试,因为这样会避免错误,会成功安装程序在手机里。

或者在这里运行:

上周考试错题总结

  • 错题1
    A collection in the items stored there are of different types is referred to as a (n) ________ type.
    A. homogeneous
    B. heterogeneous
    C. dynamic
    D. abstract
    E. vector

    正确答案: B  我的答案: C 

    解析:术语异构意味着元素是不同的类型。在Java中,类可以存储异构类型,例如一个实例数据可能是一个int,另一个是String,第三个是double。另一方面,数组是同类型的,因为存储在数组中的每个元素都是相同的类型。

  • 错题2
    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  我的答案: C 

    解析:抽象数据类型包含数据结构以及操作和访问数据结构的方法。在列出的那些中,只有矢量结合了这两者。该数组是数据结构,但没有方法(例如插入方法或搜索方法),而引用变量和基本类型是数据而不是数据结构。

  • 错题3
    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  我的答案: C 

    解析:所有这些答案都是面向对象功能的类型。抽象数据类型封装了数据结构和操作数据结构的方法,从而保留了信息隐藏。因此,所有ADT都利用信息隐藏功能,以便数据结构不能直接从ADT外部操作,但不需要其他面向对象的功能。

  • 错题4
    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  我的答案: B 

    解析:由于该数组是一个静态大小的对象,因此如果它被填充,则应该阻止任何添加类型的操作,无论是List插入,队列入队还是堆栈推入。这可以通过首先检查结构是否已满来确定。如果数据结构是使用链表实现的,那么这是不必要的,因为(我们假设)总会有动态内存可用于添加新元素。

  • 错题5
    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  我的答案: A 

    解析:在链接列表中,链接是对下一个节点的引用。通过检查参考文献的内容,通过“取消参考”来链接链接。节点是对象。对象是类的实例。一个节点的数据部分可能是一个int,以及任何其他类型的数据。

  • 错题6
    A simple linear list
    A. is an example of a degenerate tree
    B. is an example of a degenerate graph
    C. is an example of a degenerate digraph
    D. cannot be represented as a degenerate tree, graph or digraph
    E. none of the above

    正确答案: A  我的答案: D

    解析: 一个简单的线性列表从它的起始节点到它的结束节点。图表和二元图都不具有起始节点,但是树具有:树的根。因此,一个简单的线性列表就是一个退化树的例子,它具有一个分支因子,每个节点只有一个后继,从根开始,到单叶(结束节点)。

  • 错题7
    The push and enqueuer operations are essentially the same operations, push is used for Stacks and enqueue is used for Queues.
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:尽管这两个操作对于其各自的抽象数据类型都是“添加”或“插入”操作,但它们的不同之处在于,始终在堆栈的顶部(或前面)添加推入,而排队始终在队列的后部添加。

  • 错题8
    Linux Bash中,使用man 3 printf命令不能查看C语言中的printf函数的帮助文档。
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:使用man 3 printf命令可以查看C语言中的printf函数的帮助文档。

  • 错题9
    Linux Bash中,使用sudo apt-get upgrade命令可以更新系统。
    A. true
    B. false

    正确答案: A  我的答案: B 

    解析:知识点不熟悉。

  • 错题10
    一个具有执行权限的目录可以被打开并查看内部文件。
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:一个目录同时具有读权限和执行权限才可以打开并查看内部文件。

  • 错题11
    Linux Bash中,可以使用chomd 777 pdds命令修改文件pdds的权限,并使得其拥有者、拥有者所在的组和其他用户都拥有全部权限。
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:应该是:chmod 777 pdds,不是 chomd 777 pdds

  • 错题12
    Linux Bash中,使用rm –r /dky/D*命令强制删除/dky目录下所有D开头的文件。
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:应该是:rm –f /dky/D*

  • 错题13
    Linux Bash中,查找五天之内src目录中删除的文件的命令是find /src/ -ctime -5。
    A. true
    B. false

    正确答案: A  我的答案: B 

    解析:知识点不清楚。

  • 错题14
    Linux Bash中,使用tar命令把文件dky打包成dky.tar的命令是tar –c dky.tar dky 。
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:应该是:tar –cf dky.tar dky

  • 错题15
    Linux Bash中,使用grep查找当前src目录下所有包含main函数的文件,并要求显示出现行号的命令是grep –n main /src
    A. true
    B. false

    正确答案: B  我的答案: A

    解析:应该是:grep –rn main /src

  • 错题16
    在Ubuntu中,使用vim编辑器时,想要移动光标,除方向键之外,还可以依次使用hijk键进行上下左右的移动。
    A. true
    B. false

    正确答案: B  我的答案: A

    解析:应该是:上下左右顺序依次是kjhl

  • 错题17
    在Linux Bash中,为所有人对file1.txt文件添加写入权限的命令是chmod o+w filel.txt 或者 chmod 666 filel.txt.
    A. true
    B. false

    正确答案: B  我的答案: A 

    解析:chmod a+w filel.txt 或者 chmod 666 file,注意 a+w 和 o+w 的区别

    代码托管

    由于过于庞大,不加入实际代码行

结对及互评

  • 本周结对学习情况

    • 20172316赵乾宸
  • 博客中值得学习的或问题:
    • 内容详略得当;
    • 代码调试环节比较详细;
  • 基于评分标准,我给本博客打分:5分。得分情况如下:
  1. 正确使用Markdown语法(加1分):
  2. 模板中的要素齐全(加1分)
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 代码调试中的问题和解决过程, 一个问题加1分
    • 20172316唐才铭
  • 博客中值得学习的或问题:

    • 内容详略得当;
    • 代码调试环节比较详细;
  • 基于评分标准,我给本博客打分:9分。得分情况如下:
  1. 正确使用Markdown语法(加1分):
  2. 模板中的要素齐全(加1分)
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 代码调试中的问题和解决过程, 一个问题加1分

    感想

    这周又新接触了一门新东西,觉得我们这一学期学的新东西还是足够多的,但是一方面,很多同学都是只是会敲,但是很多人不理解无论是Java还是AS,就是学习学的不够彻底,留下了很多问题需要去解决,所以,以至于在最近很多同学很叫做所谓的伸手党,虽然我觉得这个词,形容的不是那么很合理,但是也是因为反映出来这样一种事实,对于Java语言很多方面的不理解导致的问题,所以,我记得别人给我说过这样一句话:“会者不难,难者不会。”所以,希望我们大家一起努力,加油!

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
    目标 5000行 30篇 400小时
    第一周 156/156 1/1 15/15
    第二周 217/371 1/2 20/35
    第三周 233/604 2/4 20/55
    第四周 1382/1986 1/5 35/90
    第五周 146/2196 1/6 25/115
    第六周 462/2658 1/7 15/130
    第七周 856/3514 1/8 20/150
    第八周 1877/5391 3/11 20/170
    第九周 1747/7138 1/12 20/190
    第十周 1323/8461 2/14 30/220
    第十一周 0/8461 1/15 50/270

    参考资料

    MarkDown 图片大小问题
    关于清单文件
    android学习——AndroidManifest.xml清单文件的重要性
    一步一坑学android之禁用Appt2(andriod studio3.0)
    Android
    蓝墨云班课

原文地址:https://www.cnblogs.com/qh45wangwenbin/p/9122270.html

时间: 2024-11-08 14:38:07

20172329 2017-2018-2 《程序设计与数据结构》第十一周学习总结的相关文章

20172305 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172305 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书的第一章简单的介绍了计算机和JAVA的历史,基础内容很多,代码的讲解还没用正式进入,本周一直在做敲代码的准备,简单敲了老师给的"Hello World!"以及书后的PP1.3.PP1.4等简单的小程序. 教材学习中的问题和解决过程 问题1:三种不同类型的错误,运行错误和逻辑错误的混淆 问题1解决方案:针对EX1.20的"希望做加法时却做里乘法"进行了网上

20172314 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172314 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书第一章为计算机系统概述,前面是一些计算机相关的基础知识,让我对计算机有了一个总体的认识,不再是一片空白了,对主存储器和CPU影响深刻,主存储器用于保存程序和数据,CPU执行程序指令.在接下来的Java编程语言与程序开发部分,开始看的时候有点迷茫,不是很理解,后来先按照作业中附带的流程完成一些代码托管之后,接触了完整的简单的程序之后,再回过头来看书,看到的一些陌生的名词在脑海中就有了实际的对应,

20172317《程序设计与数据结构》第一周学习总结

20172317 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 重新温习了一遍计算机的基础 总算了解了局域网广域网因特网万维网这些东西之间的区别了 通过URL的例子知道了网址各个部分的含义 对Java编程语言和程序开发有了一个粗浅的了解 教材学习中的问题和解决过程 问题:练习题SR1.13出现了答案与题目不相符的情况 问题解决方案:题中有个选项是"网卡",答案中没有,反而有个题目没有的选项"调制解调器"(俗称"

20172322 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172328《程序设计与数据结构》第二周学习总结

20172328李馨雨<程序设计与数据结构>第二周学习总结 又到周五,李馨雨同学要开始写博客了.让我们开始吧!(????) 教材学习内容总结 1.首先是String类定义的字符串,然后是print和println的区别.转义字符的学习.(让我印象深刻的\b[回车符]在字符串结尾不显示哈哈,及其更新的\t[换行符],还有在课堂上真正明白了什么是回车.) 2.了解变量.常量.赋值语句.变量:保存数据的内存单元.常量:坚定自己不会变的数据!除非你用java的反射(有点复杂,改权限.去修饰符等等.没实

20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav

学号20172328《程序设计与数据结构》第九周学习总结

学号20172328<程序设计与数据结构>第九周学习总结 教材学习内容总结(异常和递归) 第11章:异常 1.[异常处理]: 一个异常:是一个定义非正式情况或错误的对象,由程序或者运行时环境抛出,可以根据需要捕获和处理. 错误:错误类似于异常,但是错误代表不可恢复的问题并且必须捕获处理. 2.[处理异常的三种方法]:①根本不处理异常②当异常发生时处理异常③在程序的某个位置集中处理异常. 3.[未捕获的异常]:如果程序中不处理异常,则程序将非正常的终止运行,并产生关于描述在何处发生什么异常的信息

20172326 《程序设计与数据结构》第九周学习总结

学号 20172326 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常(exception):定义非正常情况下或错误的情况的对象,由程序或运行时环境抛出,可根据需要进行相应的捕获处理. 异常与错误的区别:错误代表不可恢复的问题并且必须捕获处理.而异常可以忽视,或者使用try语句处理,或调用更高级的方法. 可检测异常与不可检测异常:可检测异常必须由方法捕获,或者必须在可能抛出或传递异常方法的throws子句中列出来.在方法定义的声明头中追加一条throws子句.不可检测异常不需要使

20172322 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常 学会了使用try-catch来实现未捕获的异常的处理.可以使得异常被捕获进而不导致程序出现错误退出.使用try写入可能产生异常的语句,使用catch来编写在捕获异常后继续执行的代码(可以为空). "未捕获的异常"指在编译过程中不会被编译软件显示异常但是在运行时会出现异常导致程序直接退出,例如:"ArithmeticException"."In

20172311 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172311 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 本周对异常和递归进行了学习 异常的处理方式有两种:一种是直接抛出,并从异常处终止程序:另一种是捕获并处理异常,从而使程序继续运行. 捕获和处理异常主要运用try-catch语句. 通过继承Exception类可以自定义一个新的异常 处理IO异常的常用方法是抛出异常. 对于某些问题,递归是最精炼和适当的解法,但对于其他问题,递归则不如迭代方法直接. 教材学习中的问题和解决过程 问题:什么是IO操作