-
SharedPreference 共享参数用法
SharedPreference 是 Android 的一个轻量级存储工具, 采用的存储结构是Key-Value的键值对方式.
共享参数的存储介质是符合XML规范的配置文件. 保存路径是: /data/data/应用包名/shared_prefs/文件名.xml -
利用元数据配置快捷菜单
(1)元数据的meta-data标签除了name属性和value属性,还拥有resource属性,该属性可指定一个XML文件,表示元数据想要的复杂信息保存于XML数据之中.
(2)利用元数据配置快捷菜单的步骤如下所示:
在res/values/strings.xml添加各个菜单项名称的字符串配置
创建res/xml/shortcuts.xml,在该文件中填入各组菜单项的快捷方式定义(每个菜单对应哪个活动页面)
给activity节点注册元数据的快捷菜单配置. -
在代码里面设置启动标志
Intent.FLAG_ACTIVITY_NEW_TASK: 开辟一个新的任务栈
Intent.FLAG_ACTIVITY_SINGLE_TOP: 当栈顶为待跳转的活动实例时,则重用栈顶的实例
Intent.FLAG_ACTIVITY_CLEAR_TOP: 当栈中存在待跳转的活动实例时,则重新创建一个新实例,并清除原实例上方的所有实例
Intent.FLAG_ACTIVITY_NO_HISTORY: 栈中不保存新启动的活动实例
Intent.FLAG_ACTIVITY_CLEAR_TASK: 跳转到新页面时,栈中的原有实例都被清空 -
各状态之间的切换过程
打开新页面的方法调用顺序为: onCreate -> onStart -> onResume
关闭旧页面的方法调用顺序为: onPause -> onStop -> onDestroy
-
Android生命周期详解
onCreate: 创建活动. 把页面布局加载进内存,进入了初始状态.
onStart: 开始活动. 把活动页面显示在屏幕上,进入了就绪状态.
onResume: 恢复活动. 活动页面进入活跃状态,能够与用户正常交互,例如允许响应用户的点击动作、允许用户输入文字等等.
onPause: 暂停活动. 页面进入暂停状态,无法与用户正常交互.
onStop: 停止活动. 页面将不在屏幕上显示.
onDestroy: 销毁活动. 回收活动占用的系统资源,把页面从内存中清除.
onRestart: 重启活动. 重新加载内存中的页面数据.
onNewIntent: 重用已有的活动实例.
参考了: https://blog.csdn.net/qq_43094133/article/details/107686933
-
Activity的启动和结束
从当前页面跳到新页面:
startActivity(new Intent(源页面.this, 目标页面.class));
从当前页面回到上一个页面,相当于关闭当前页面,返回代码如下:
finish(); // 结束当前的活动页面 -
按钮控件有两种常用的监听器
点击监听器,通过setOnClickListener方法设置. 按钮被按住少于500毫秒时,会触发点击事件.
长按监听器,通过setOnLongClickListener方法设置. 按钮被按住超过500毫秒时,会触发长按事件. -
视图对齐方式
设置视图对齐方式有两种途径:
layout_gravity: 它指定当前视图相对于上级视图的对齐方式
gravity: 它指定下级视图相对于当前视图的对齐方式
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="400dp"
android:background="#ffff99"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_gravity="bottom"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="#ff0000"
android:gravity="left"
android:padding="10dp">
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ffff"></View>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="#ff0000"
android:gravity="right|bottom"
android:padding="10dp">
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ffff"></View>
</LinearLayout>
</LinearLayout>
-
视图的宽高
视图宽度 android:layout_width , 视图高度 android:layout_height
宽高的取值主要有以下三种:
(1)match_parent: 表示与上级视图保持一致
(2)match_content: 表示与内容自适应
(3)以dp为单位的具体尺寸 -
Dpi(像素密度) Density(密度) Dip/dp(设备独立像素)
参考: https://www.bilibili.com/video/BV19U4y1R7zV/?p=18&spm_id_from=pageDriver&vd_source=03cb065581da9959d84a1d21186a3ddb -
完整的页面创建过程包括三个步骤:
(1)在layout目录下创建XML文件
(2)创建与XML文件对应的Java代码
(3)在AndroidManifest.xml中注册页面配置 -
Activity
Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. -
Gradle
Gradle是一个项目自动化构建工具,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作. -
App工程目录结构
App工程分为两个层次,第一个层次是项目,另一个是模块.
模块依附于项目,每个项目至少有一个模块,也能拥有多个模块.
一般说的"编译运行App"值得是运行某个模块,而非运行某个项目,因为模块才对应实际的App. -
Android采用Log工具打印日志,它将各类日志划分为五个等级:
Log.e: 表示错误信息,比如可能导致程序崩溃的异常.
Log.w: 表示警告信息.
Log.i: 表示一般信息.
Log.d: 表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试. (用的最多)
Log.v: 表示冗余信息. -
SDK: Software Development Kit 软件开发工具包,它可将App源码编译为可执行的App应用
-
Android主要版本发布时间
-
android studio 中的快捷键
(1)连按两下shift键进行搜索查询
(2)ctrl + alt + L 进行代码格式化
(3)ctrl + shift + Enter键 快速开启下一行进行编辑
(4)ctrl + alt + F 快速将属性全局私有化