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

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

教材学习内容总结

  • Android操作系统是一种多用户的Linux系统
  • 4种Android应用程序组件 活动 服务 广播接收者 内容提供者
  • intend是一条信息,发送给系统或另外一个应用程序,以要求执行一个动作。通常使用intend来启动一个活动或启动一个服务或发送一条广播。
  • SDK:Android软件开发工具包,可在各种操作系统上使用
  • Activity的生命周期方法:onCreate,onStart,onResume,OnPause,onStop,onRestart,onDestroy
    -应用程序创建的第一个窗口叫做主活动

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

  • 问题1:

什么是生命活动周期方法?

  • 问题1解决方案:生命周期很好理解,但是在后面加上方法就显得有些抽象。书上也很详细的将其中每个具体方法进行讲解。但是,具体到一个app中是怎样的呢?先用一个图进行理解(图)onCreate和onDestroy方法在每个生命周期中只执行一次,而其他均可循环。这里着重探究onPause、onStop、onDestroy方法。
  1. 当活动开始进入运行阶段后,假如用户执行其他活动时,就需要执行onPause操作,使得减少资源的浪费。而此时的内存依旧占用。此时,activity仍然处于部分可见的状态。
  2. 当活动调用onStop方法时,首先,活动将处于不可见状态。但是它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被杀掉。
  3. 当Activity(用户调用finish()或系统由于内存不足)被系统销毁杀掉时系统调用,(整个生命周期只调用1次)用来释放onCreate()方法中创建的资源,如结束线程等。
  • 问题2:xml与UI设计能否互逆?
  • 问题2解决方案:答案是可以。打开相应的文件,点击text,就可以看到xml文件下的信息。首先,xml是一种简单的数据存储语言。所以,每进行一个页面设计的改动,xml文件中的代码就会进行变动。这也是图形界面的好处。而我们创建的一个个诸如button的按钮都是以对象的形式保存起来的。UI设计有三种方式使用XML布局文件控制布局,使用Java代码,二者混合使用,三种方式。其中使用XML文件控制布局是一种较为推荐的方式。
  • toast的时间控制问题:
  • 首先,toast有两种默认的时间,LENGTH_DURATION = 3500毫秒,SHORT_DURATION = 2000毫秒。也就是说,无论我们设置多长时间,最终影响Toast弹窗时间的只有Toast.LENGTH_LONG和Toast.LENGTH_SHORT两个参数。
    如下代码即可实现,以1000毫秒为单位。
Toast toast=Toast.makeText(RegistActivity.this,"这是可以随意设置时间的Toast", Toast.LENGTH_LONG);
showMyToast(toast,10*1000);
  • 焦点问题
  • 简单理解应该就是Windows系统里的光标,如果界面上有两个按钮,假设你按了回车,这时候究竟代表着你按了哪个按钮呢?这时候就需要Focus来帮忙了,因为如果一个View得到焦点,那么这个View就可以处理键盘的输入,做出回应。

代码调试中的问题和解决过程

暂无

错题改正

  • 1.《程序设计与数据结构》第十一周学习总结_第1张图片
  • 理解:ADT(抽象数据类型)通过固有数据类型(高级编程语言中已实现的数据类型)来实现。将数据类型、方法进行封装。从而使得外部方法无法调用
  • 2.《程序设计与数据结构》第十一周学习总结_第2张图片
  • 理解:数组是静态的,如果其空间已满,那么将不能再继续在他的内部加入元素。
  • 3.《程序设计与数据结构》第十一周学习总结_第3张图片
  • 理解:Last in first out 后进先出
  • 4.《程序设计与数据结构》第十一周学习总结_第4张图片
  • 为了实现动态结构可以按照需要增加长度的特点,就需要指针(对象的引用)来实现。
  • 5.《程序设计与数据结构》第十一周学习总结_第5张图片
  • 理解:Java中的链接是对下一个对象的引用
  • 6.《程序设计与数据结构》第十一周学习总结_第6张图片
  • 线性数据结构是一维的,也就是说上一个链接只与下一个有引用关系。
  • 7.《程序设计与数据结构》第十一周学习总结_第7张图片
  • 理解:这部分课本上未提及,也不是很懂.先暂时贴上解析: A simple linear list is directed, from its starting node to its end node. Neither graphs nor digraphs have a start node but, a tree does: the root of the tree. So, a simple liner list is an example of adegenerate tree one which has a branching factor of one, with each node having but a single successor, beginning at the toot, and ending at the single leaf (end node).
  • 8.《程序设计与数据结构》第十一周学习总结_第8张图片
  • 理解:两者意思相同,都是加入数据,不同的是,栈在栈顶加入,队列是在队尾加入
  • 9.《程序设计与数据结构》第十一周学习总结_第9张图片
  • 理解:ADT基于基本数据类型,所以,它必须要在类中声明,否则不能实现
  • 10.《程序设计与数据结构》第十一周学习总结_第10张图片
    《程序设计与数据结构》第十一周学习总结_第11张图片
    《程序设计与数据结构》第十一周学习总结_第12张图片
    《程序设计与数据结构》第十一周学习总结_第13张图片
    《程序设计与数据结构》第十一周学习总结_第14张图片
    《程序设计与数据结构》第十一周学习总结_第15张图片
    《程序设计与数据结构》第十一周学习总结_第16张图片
    《程序设计与数据结构》第十一周学习总结_第17张图片

  • 理解:34 36 37 40 41 42 47 50这些题目均为Linux命令行下的命令,统一做以整理。
  • sudo apt-get upgrade 来更新系统
  • chomd 777 pdds来修改文件pdds的权限,并使其拥有者、拥有者所在的组和其他用户都拥有全部权限。
  • apt-cache search tree来查找是否装有软件tree
  • 查找五天之内src目录中删除的文件的命令是find/src/-ctime-5
  • Linux Bash中,使用tar命令把文件dky打包成dky.tar的命令是tar-cf dky.tar dky
  • Linux Bash中,使用grep查找当前src目录下所有包含main函数的文件,并要求显示当前行号的命令是 grep -rn main /src
  • Linux Bash中,使用tree -D src来查看目录下文件的更改时间
  • Linux Bash中,为所有人对file.txt文件添加写入权限的命令是chmod a+w file1.txt 或者 chomd 666 file.

其他(感悟、思考等,可选)

  • 本周是学习Android的第一周,可以说是博大精深,能自己整出一个app来十分开心,但我也同样意识到这其中所需要掌握的方法之多的必要性。

参考资料

  • Android生命周期详解
  • 从Android源码的角度理解应用开发(2)-Focus机制

你可能感兴趣的:(《程序设计与数据结构》第十一周学习总结)