安卓开发
2023-11-19 22:19:57 6 举报
AI智能生成
安卓开发
作者其他创作
大纲/内容
一个应用程序组件,提供一个屏幕,用户可以用来交互来完成某项任务
activity的启动和结束
创建活动,将页面布局加载到内存,进入初试状态
onCreate
将页面活动显示到屏幕上
onStart
活动页面进入活跃状态,可以与用户进行交互
onResume
暂停页面,无法交互
onPause
停止页面的活动
onStop
取消页面的监听
onDestroy
重启活动
onRestart
当开启的活动在栈中存在,那么调用这个方法
onNewIntent
activity的生命周期
启动活动会依次启动顺序压入task栈中
standard默认
如果栈顶的活动是我们需要的activity就不需要创建新的activity
singleTop栈顶复用模式
当栈内存在目标activity实例,就会将目标activity上的所有实例弹出
对于应用的主界面,我们希望可以从主界面退出应用并且不希望主界面频繁创建
对于消耗系统资源的activity,我们也希望通过这种方式减少资源的消耗
singleTask栈内复用模式
为目标activity创建一个新的task栈,将目标activity放入新的task栈中
singleInstance
在xml中设置
开辟一个新的任务栈
相当于singleInstance
FLAG_ACTIVITI_NEW_TASK
栈顶复用模式singletask
FALG_ACTIVITY_SINGLE_TOP
栈内复用模式,清除原实例上方的所有实例
FLAG_ACTIVITY_CLEAER_TOP
栈中不保存新启动的活动实例
FLAG_ACTIVITY_NO_HISTORY
跳转到新页面时,栈中的原有实例都被清空
清空原来task中的所有实例,因此需要新建的activity创建在一个新的栈中也就是需要配合FLAG_ACTIVITY_NEW_TASK使用
对于登录界面内,我们希望登录完成后不会回退到登录界面,而是直接退出
FALG_ACTIVITY_CLEAR_TASK
通过代码的setFlags方法来设置启动模式
activity的启动模式
activity启停活动页面
直接指定来源活动和目标活动
构造方法
setClass
ComponentName
实现方式
也就是直接表明我这次通信从哪个activity到哪个activity
显式Intent
有时候在代码中并不明确我们的通信一定从哪里传送到哪里,就是用隐式intent来设置通信的行为action
category主要是用来做一个分类的作用,当我们传递数据的时候,只会发送给对应分类下的activity或者应用,比如我们传递音乐数据,那么就将category设置为分类,那么即使让你选择也只会让你从这个分类下的应用去选,比如qq音乐饿,网易云音乐
类似一种模糊匹配,根据action行为,这个app是做什么的,根据category类型,这个app的类型进行匹配
隐式Intent
意图的作用主要是表示通信从哪里来到哪里去,需要携带的数据
显式的Intent和隐式Intent
使用bundle打包需要传递数据,然后调用intent的putextras方法来讲数据存到Intent中接收方通过getIntent获取数据
向下一个Activity发送数据
首先发送界面通过Intent发送界面并且注册监听回调函数然后发送界面通过getIntent()方法获取意图和里面的Bundle数据来进行显示,通过setResult设置结束的意图,再使用finsih来结束当前的意图
那么当前页面结束以后会将对应的intent返回给发送界面的监听器来进一步处理
对应有状态码来判断数据是否处理成功和失败,当成功了就是用Activity.Result_Ok来实现
向上一个返回数据
activity之间的数据传递
获取配置文件中的内容,直接在activity中调用getString()方法获取,这个方法是Context类的方法,而activity类又继承与Context,所以可以直接在activity中调用
获取元数据中的内容,主要的应用场景就是调用第三方的代码,需要使用token来验证身份,那么会在元数据中存储token来方便从activity中读取来验证身份
元数据的获取流程就是首先从上下文获取包管理器,再通过包管理器来获取对应的activity配置信息,来读取对应的元数据
补充附加信息
Activity
组件
文本显示
视图基础
常用布局
按钮控件
图像显示
简单控件
androidManifest.xml包含了APP的配置信息,系统需要根据里面的内容运行app代码和界面显示
manifests
java代码
java
包括对于样式主题设置
resource资源文件夹
res
app
gradle的配置文件类似于pom.xml
Build.gradle
用来反逆向工程的,混淆
proguard-rules.pro
配置编译的命令参数
gradle.properties
表示需要编译的模块
settings.gradle
表示sdk的位置
也可以表示NDK的位置
local.properties
Gradle Scripts
app项目结构
使用XML+java来实现页面和逻辑
规范
px像素
屏幕的垂直和水平方向的像素数量
分辨率
屏幕上每英寸有多少个像素点
像素密度
Dpi
Density密度
设备独立像素
开发中使用的单位,在不同的设备上不同,最后设备会转化为px
Dip
尺寸
安卓开发
0 条评论
回复 删除
下一页