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

教材学习内容总结

Android简介

  • 概览:android操作系统是一种多用户的Linux系统,每个应用程序作为单独的Linux进程中的一个不同的用户而运行。Android使用Java语言但是不在Java虚拟机上运行。如果想了解更多的内容,可以看看Android的构建过程
  • 应用程序开发简介:

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

Android编程中另一重要概念是意图和清单(以xml文件的形式给出)

  • Android版本:都是以好吃的命的名
  • 在线资源(略)
  • 应该使用哪个版本的Java(略)

初始Android

  • 下载和安装Andriod Studio
  • 创建应用程序
    如果as找不到JDK的正确位置,单击File>Project Structure>SDK Location,然后浏览以找到JDK的位置。
  • 在模拟器上运行应用程序
  • 应用程序结构:project窗口有两个主要的节点,app和Gradle Scripts。app节点包含了应用程序中所有的组件。Gradle Scripts节点包含Gradle构建脚本,以供构建Android项目。
    app的三个节点分别是AndroidManifest.xml文件(AndroidMainfest.xml的清单文件用来描述应用程序,是必不可缺的。),Java应用程序和测试文件,res资源文件。

R文件

  • 调试应用程序:最简单的是日志方法,任何异常的抛出包括栈轨迹都会显示在LogCat中;设置断点,在任意一行上单击,选择run>toggle line breakpoint,即可在代码中添加一行断点,然后择run>debug app
  • 删除支持的库

活动

  • 活动的含义:活动是包含了用户界面组件的一个窗口,用户可以和这些用户界面组件交互,启动一个活动,往往意味着要显示一个窗口。一个典型的Android应用程序,都是从启动一个活动开始的,也就是说启动一个活动就意味着显示一个窗口。
  • 修改应用程序图标
  • 启动另一个活动:用户从主屏幕选择APP图标时,祝活动通过系统自身而启动,再拥有多个活动的应用程序中,很有可能需要启动另一活动,这时便可以通过调用startActivity方法直接做到。如
    startActivity(intent)

    ,其中intent是Android.content.Intent类的一个实例。

@Override
public boolean onTouch(View arg0, MotionEvent event) {
    Intent intent = new Intent(this, SecondActivity.class);
    intent.putExtra("message", "Message from First Screen");
    startActivity(intent);
    return true;
}

启动另外的活动(Activity)

UI组件

  • 使用Android Stutio UI工具:使用UI工具所做的事,都会反应到布局文件中去,以XML元素的形式体现出来。
  • 使用基本组件,OnCreate方法是一个生命周期方法,当创建应用程序的时候会调用它,onCreateOptionsMenu方法初始化了活动的选项菜单的内容。要让菜单显示,他必须返回为true。
  • Toast:Toast是一个小的弹出对话框,用于显示一条消息作为给用户的反馈,是暂时的。通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来

makeshow()方法需要传入三个参数。
第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象,因此直接传入FirstActivity.this即可
第二个参数是Toast显示的文本内容
第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG

  • 通知:通知是出现在状态栏里的一条消息,和Toast不同,通知是持久的,并且将保持显示,直到关闭它或者是关闭设备。创建通知

    NSNotification *notification = [NSNotificationnotificationWithName:@"refresh" object:niluserInfo:dictplist];

    可以这样理解:当你想在A activity中启动另一个B activity,那么你可以选择两种情况[立即启动或延时启动]:
    1.通过intent配置需要启动的B activity,然后调用startActivity()方法,让他立即执行启动操作,跳转过去
    2.另一种情况是,你虽然想启动另一个B activity,可是你并不想马上跳转到Bactivity页面,你想静等5分钟之后再跳转到Bactivity,那么你可以通过PendingIntent来实现,PendingIntent可以包装第1步中的intent,然后通过AlarmManager这个定时器,定制5分钟之后启PendingIntent,实现这种延时操作

可以看看这个博客写了很多关于PendingIntent的解释PendingIntent详解

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

  • 问题1:当我直接将包复制粘贴到文件中后,Android里有文件,但是不能运行,右小角没有又可以运行的绿色提示
  • 问题1解决方案:不能把整个安装包复制粘贴,正确的方式是现在Android中new一个project,然后打开路径中的文件包,先导入AndroidManifest.xml文件,然后是src文件中的mainactivity文件,最后是res布局文件。
  • 问题2:menu文件报红,R文件报红
  • 问题2解决方案:menu文件主要是因为没有导入,但是如果想自己新建的话要注意menu布局文件要在menu文件夹地下创建才行,应该先在res文件夹右键,然后选择New>Android resource directory,出现界面后在Resource type下拉栏选择menu。接着在menu文件夹下右键,New>Menu resource file之后输入文件名就可以了 R文件报红的话主要是因为刚刚导入的xml文件导致的,大多都是图片的命名,一定要注意的图片的格式,不要将图片的名字改为xx.png,实际上还是没有改变图片的格式。解决办法是
    build-rebuild project不行的话再试试clean project

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

  • 问题1:不能git到码云上,在张昊然同学发的第12步就出现了请求被拒绝的error,我到底做错了什么,idea和as都喜欢拒绝我

    此处错误提示

    androidstudio can’t start git.exe
  • 解决方案1:

这种问题可能是有两种:git.exe路径设置错误,或者没有安装git

然而我安装了的,于是我换了一个博客 Push rejected: Push to origin/master was rejected打开Git Bash,然后进入相应的目录,然后敲git命令

git pull origin master --allow-unrelated-histories

你就可以将本地仓库中的推送到github中,使用如下的git命令

git push -u origin master
  • 问题2:

    error running:please select Andriod SDK
  • 问题2解决方法:说是由于Android Studio异常关闭,使得某些配置文件损坏,因此需要在线更新SDK才能恢复被损坏的文件。解决办法如下:
    首先依次选择主菜单“File”——“Settings”,然后依次展开“Appearance & Behavior”——“System Settings”——“Android SDK”,在右边的设置界面编辑SDK的路径。如下图所示,单击SDK目录输入框右边的“Edit”链接(红框标注):

    单击“Edit”链接之后打开SDK的设置界面后目录保持不动,点击next》next后等待Android Studio下载成功后回到Android Studio的主界面,等待重编完成,即可正常执行Run app的操作了。

代码托管

上周考试错题总结

  1. 下列哪一种被认为是抽象数据类型?
    A . array
    B . reference variable
    C . any of the primitive types (e.g., int, double, char)
    D . vector
    E . all of the above
    抽象数据类型包括数据结构和操作和访问数据结构的方法。在这些列表中,只有向量将这两者结合起来。该数组是一个数据结构,但没有方法(例如插入方法或搜索方法),而引用变量和基本类型是数据,而不是数据结构。
  2. 抽象数据类型具有以下面向对象的特性?
    A . information hiding
    B . inheritance
    C . polymorphism
    D . message passing
    E . all of the above
    抽象数据类型封装数据结构和操作数据结构的方法,以便保留信息隐藏。
  3. 一个简单的线性表
    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
    一个简单的线性列表从它的开始节点到它的结束节点,图和有向图都没有起始节点但是树有
  4. 数组是一种列表抽象数据类型
    A . true
    B . false
    数组是一种数据结构,可以用来存储值列表,但是数组没有已经实现的操作来执行列表操作,如添加到末尾或删除给定值
  5. 所有抽象数据类型都定义为Java类
    A . true
    B . false
  6. Linux Bash中,可以使用chomd 777 pdds命令修改文件pdds的权限,并使得其拥有者、拥有者所在的组和其他用户都拥有全部权限。
    A . true
    B . false
    chmod 777 pdds,不是 chomd 777 pdds………..????????好吧
  7. Linux Bash中,使用rm –r /dky/D命令强制删除/dky目录下所有D开头的文件。
    A . true
    B . false
    rm –f /dky/D
  8. Linux Bash中,查找五天之内src目录中删除的文件的命令是find /src/ -ctime -5。
    A . true
    B . false
    Linux find命令
  9. Linux Bash中,使用tar命令把文件dky打包成dky.tar的命令是tar –c dky.tar dky 。
    A . true
    B . false
    tar –cf dky.tar dky
  10. 在Ubuntu中,使用vim编辑器时,想要移动光标,除方向键之外,还可以依次使用hjkl键进行上下左右的移动。
    A . true
    B . false
    上下左右顺序依次是kjhl

结对及互评

写在评论里

点评过的同学博客和代码

  • 本周结对学习情况

    • 21我们两个的Android都崩了好巧好巧,最后都好了好巧好巧

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


是的

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/2 20/20
第二周 329/500 2/3 18/38
第三周 619/1000 2/5 22/60
第四周 817/1734 2/7 38/98
第五周 674/2408 1/9 30/128
第六周 1136/2870 2/10 30/158
第七周 1000/3791 1/11 32/190
第八周 2662/6453 2/13 48/238
第九周 782/7573 2/15 48/238
第十周 201/7773 1/17 48/238
第十一周 idea崩了....代码量回到之前的一半了?哭 2/18 48/238

参考资料

原文地址:https://www.cnblogs.com/amberR/p/9129213.html

时间: 2024-10-12 08:24:00

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

20172324 2018-2019-1 《程序设计与数据结构》第一周学习总结

20172324 2018-2019-1 <程序设计与数据结构>第一周学习总结 教材学习内容总结 概述 软件质量 准确性:软件提供的功能是否正确(用户需要的) 可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力 健壮(易恢复)性:系统失效后,重新恢复原有的功能和性能的能力 可用性:在指定使用条件下,产品被理解. 学习.使用和吸引用户的能力 可维护性:在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力 可重用性:软件组建可用于其他软件开发的难易程度 可移植性:从一种环境

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

20172304 <程序设计与数据结构>第二周学习总结 教材学习内容总结 本周主要学习了第三章和第四章的内容 第三章 集合概述--栈 3.1集合 集合是一种聚集组织了其他对象的对象. 集合可以分为两大类线性集合和非线性集合 线性集合:其元素按直线方式组织的集合. 非线性集合:其元素按某种非直线方式组织的集合.例如按层次结构或按网状结构. 3.1.1抽象数据类型 集合十一找给你隐藏了实现细节的抽象 数据类型:一组值及作用于这些数值上的各种操作. 抽象数据:类型(Absttract Data Ty

2017面向对象程序设计(Java)第二周学习总结

2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为第一周学长正在家里吃西瓜吹空调.好了,闲言少叙.我先为你们介绍一下助教的职责,而后再对你们的学习情况进行总结! 身为你们本学期Java课程的助教...之一,我的任务是:指导你们学习,批改我所负责学习小组的实验作业.阅读博文并回复.其他学习小组会有另外三位助教负责.由于我们每周五都会汇总你们的情况,其

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.[未捕获的异常]:如果程序中不处理异常,则程序将非正常的终止运行,并产生关于描述在何处发生什么异常的信息