Android学习过程 以及 问题集合

setContentView 作用与用法

作用:给当前activity设置一个layout布局

安卓里的用户界面放在res.layout下,为xml文件,系统自动生成R类,R.layout自动获取res.layout文件夹中的xml文件,再用该语句调用。之后就可以看到页面啦。

setContentView(R.layout.main);

 

findViewById 作用与用法

作用:获取layout中的某个组件,以便于操作该组件,常见于view,button。

findViewById(R.id.xml文件中对应的idName)

 

Activity 生命周期

Activity是与用户交互的接口,一个activity对应一个窗口。Android系统中是通过Activity栈的方式来管理Activity的,而Activity自身则是通过生命周期的方法来管理的自己的创建与销毁。

1. Activity的四种状态

Active/Running:

Activity处于活动状态,此时Activity处于栈顶,是可见状态,可与用户进行交互。

Paused:

当Activity失去焦点时,或被一个新的非全屏的Activity,或被一个透明的Activity放置在栈顶时,Activity就转化为Paused状态。但我们需要明白,此时Activity只是失去了与用户交互的能力,其所有的状态信息及其成员变量都还存在,只有在系统内存紧张的情况下,才有可能被系统回收掉。

Stopped:

当一个Activity被另一个Activity完全覆盖时(失去焦点并且上层存在不透明的、非Dialog样式的Activity),被覆盖的Activity就会进入Stopped状态,此时它不再可见,但是跟Paused状态一样保持着其所有状态信息及其成员变量,该Activity的数据会在RAM中暂时保留,一旦系统需要内存,这种处于Stopped状态的Activity占用的RAM空间会优先被清理并重新利用。所以,在Activity处于Stopped状态时,必须要保存该Activity的UI状态,否则一旦RAM空间被重新利用,UI状态和数据就完全丢失。

Killed:

当Activity被系统回收掉时,Activity就处于Killed状态。不占用RAM空间。

2. Activity的生命周期

Android学习过程 以及 问题集合

典型的生命周期:创建,运行,停止,销毁

onCreate

创建,它是生命周期第一个调用的方法,我们在创建Activity时一般都需要重写该方法,然后在该方法中做一些初始化的操作。

onStart

运行,此方法被回调时表示Activity正在启动,此时Activity已处于可见状态,只是还没有在前台显示,因此无法与用户进行交互。可以简单理解为Activity已显示而我们无法看见罢了。

onResume

运行,当此方法回调时,则说明Activity已在前台可见,可与用户交互了(处于前面所说的Active/Running形态)。

 

 

 

 

 

 

 

引用及扩展阅读:

https://blog.csdn.net/qq_35559358/article/details/79715222

https://blog.csdn.net/qingxuan521721/article/details/78737080

 

MVP架构 (Presenter)

只知道MVC,MVP是MVC的改良。主要不清楚presenter的作用。

View:主要负责界面的显示及跟数据无关的逻辑,比如设置控件的点击事件等

Presenter:主要负责View与Model的交互

Model:数据部分

任何需要更新或者操作数据的,都间接通过Presenter对象去操作数据

Presenter层持有View层对象的引用,除此之外不持有其他的UI控件等的引用,Model层会把想要更新View的操作委托Presenter去操作,而Presenter层会把更新View操作交给View层对象去操作。

 

了解 RxJava

a library for composing asynchronous and event-based programs using observable sequences for the Java VM

本质是实现异步操作的库,利用了观察者模式。

观察者模式面向的需求是:A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 B 变化的一瞬间做出反应。程序的观察者模式,采用注册(Register)或者称为订阅(Subscribe)的方式,告诉被观察者:我需要你的某某状态,你要在它变化的时候通知我。类似OnClickListener

RxJava 的观察者模式有部分不同,有四个基本概念

Observable (可观察者,即被观察者)

Observer (观察者)

subscribe (订阅)

事件

 

RxJava的事件回调方法有:

onNext() 普通事件

onCompleted() 事件队列完结。RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。RxJava 规定,当不会再有新的 onNext() 发出时,需要触发 onCompleted() 方法作为标志。

onError() 事件队列异常。在事件处理过程中出异常时,onError() 会被触发,同时队列自动终止,不允许再有事件发出。

引用及扩展阅读:

http://gank.io/post/560e15be2dca930e00da1083#toc_1

 

 

 

 

 

 

 

 

待学习列表:

1,activity 生命周期
2,了解 Android 四大组件 ,activity ,service
3,Android 布局。LinearLayout,constr 依赖布局
4,线程,UI 主线程,子线程。
5, Rxjava ,了解
6,主线程不要出现耗时操作,ANR错误

 

Android学习过程 以及 问题集合

上一篇:Python 面试中可能会被问到的30个问题


下一篇:Android实现点击两次返回退出APP