2020年的最后一天,下午打完球感觉有点小累,晚上和同学约好一起LOL(经济跨年法),刚准备开一局,对面宿舍的同学就来叫着出去喝酒,我本来已经吃完饭了额,但是近日有些事烦心,想着出去“喝最烈的酒,肖秀荣的愁”,于是为了那上头的感觉,就真香了。今天一觉睡到11点,要不是舍友叫我,我估计得到12点。。。(久违了,这睡死的感觉),起来没吃饭就和舍友甜蜜双排了一下午,刷了会毒品抖音,以为充电器落实验室了就来实验室了,然鹅并木有,来都来了,看看安卓好了(lab比宿舍暖和至少20个度)。
找出来某一段时间独处(无论是学习,打游戏,看剧,刷热点还是发呆),这可能是我大学养成的唯一一个还算不错的习惯吧。。静静的,一个人,放空自我。
希望新的一年多一份努力,也多一份好运吧————致既无爱情也无面包的我。
Day5
一.笔记
【数据源】
采用网络服务器提供的API接口:
聚合数据(免费,每天只提供100次)
鼓励寻找其他的API接口的平台
【集合】
集合的特点是元素类型只能是引用数据类型,因此如果要存储简单数据类型则必须使用其封装类代替。
ArrayList是一个顺序的集合,内部的元素按照顺序依次排布,并对应一个索引(下标,从0开始)。
HashMap是一个键值对的集合,内部存储的元素都是没有顺序的,但是每个元素值对应一个元素的名称。
元素的名称被称为key(键),元素的值被称为value(值),键+值被称为键值对。
【Activity的生命周期】
回调方法:在特定的时机(系统的时机,无需手动设定)自动调用的方法。
Activity会在各个特定的时机回调一个特定方法,用户可以在这些特定的时机下调用一些代码。
-----页面开始启动-----
D/MainActivity( 2349): onCreate
D/MainActivity( 2349): onStart
D/MainActivity( 2349): onResume
------前台运行状态---------
-------开始退到后台--------
D/MainActivity( 2349): onPause
D/MainActivity( 2349): onStop
--------完全处于后台--------
--------开始返回前台--------
D/MainActivity( 2349): onStart
D/MainActivity( 2349): onResume
---------前台运行状态--------
---------关闭页面(例如点击返回键)------
D/MainActivity( 2349): onPause
D/MainActivity( 2349): onStop
D/MainActivity( 2349): onDestroy
onCreate/onDestroy
页面的启动/销毁
一个Activity实例,只会调用一次。
onStart/onStop
开始进入前台/完全处于后台
onResume/onPause
完全处于前台/开始进入后台
onPause中不可执行耗时的操作,应该放到onStop中去执行。
Tip 软件推荐:
1.Everything
全局文件搜索
2.Beyond Compare
文件比对
3.ScreenToGif
屏幕录制转Gif
4.冰点下载
在线文库下载
【什么是Activity】
Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能。它是 android 应用程序的基本功能单元。Activity 本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating的主题集合),或者嵌入到其他的activity(使用ActivityGroup)。activity是单独的,用于处理用户操作。几乎所有的activity都要和用户打交道
【Activity的加载模式】
standard 标准模式
每次启动都会创建一个新的实例进入栈。
singleTop 栈顶复用模式
如果下一个要启动的页面恰好是当前正在显示的页面,此时不会创建新的实例。
singleTask 栈内复用模式
1.包含栈顶复用
2.如果下一个要启动的页面之前在栈内已经存在了,那么会重用这个实例,并且会把在这个实例
上面的其他实例弹出栈。
singleInstance 单例模式
1.全局只有一个实例
2.单独一个栈
3.退栈的时候会先清空当前的活动栈,然后再切换到其他的栈,直到这个App的所有栈都被清空。
活动周期:
【Application 应用程序(拓展)】
任何一个App都有唯一的一个Application实例,用于管理整个App的所有流程。
Application的特性适合做app运行过程中数据的中转。
默认情况下,Application由谷歌设计,并没有提供数据中转和临时存储的功能。
需要用户手动覆盖官方的Application类,替换成自定义的Application类实现此功能。
自定义Application
1.在清单文件中注册自定义的Application(添加name属性)
2.在src的包下创建自定义Application的类文件
3.让自定义的类继承Application类。import android.app.Application;
Tip:
在Android中所有的on来头的方法,都不需要用户手动调用。
这些方法都会在特定的时机被调用。
实际上这些函数都是回调函数。
Object类是所有类的父类,Object可以使用多态来保存任何类型。