当前位置: 首页 > wzjs >正文

b2b网站制作模板网站制作费用一览表

b2b网站制作模板,网站制作费用一览表,c2c概念,重庆是哪个省份的一、整体架构概览 Android Navigation 组件是一个层次化、可扩展的导航框架,其核心组件协同工作实现应用导航管理: 二、核心组件详解 1. NavHostFragment - 导航容器 角色:导航的物理容器和起点 职责: 提供 Fragment 容器&…

一、整体架构概览

Android Navigation 组件是一个层次化、可扩展的导航框架,其核心组件协同工作实现应用导航管理:

二、核心组件详解

1. NavHostFragment - 导航容器

  • 角色:导航的物理容器和起点

  • 职责

    • 提供 Fragment 容器(通常是 FragmentContainerView

    • 创建并持有 NavController 实例

    • 拦截系统返回键事件

    • 实现 NavHost 接口

  • 关键生命周期

    public void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 创建 NavControllermNavController = new NavController(requireContext());mNavController.setLifecycleOwner(this);// 设置导航图if (mGraphId != 0) {mNavController.setGraph(mGraphId);}
    }

2. NavController - 导航控制中心

  • 角色:导航系统的中央协调器

  • 核心职责

    • 管理当前导航状态

    • 处理导航操作(navigate/popBackStack)

    • 维护返回栈(NavBackStack

    • 协调各种 Navigator

  • 关键数据结构

    public class NavController {private NavGraph mGraph; // 当前导航图private final Deque<NavBackStackEntry> mBackStack = new ArrayDeque<>();private final NavigatorProvider mNavigatorProvider;private Context mContext;// ...
    }

3. NavigatorProvider - 导航器工厂

  • 角色Navigator 的注册中心和工厂

  • 职责

    • 注册/注销 Navigator

    • 按类型提供 Navigator 实例

    • 支持自定义 Navigator

  • 核心实现

    public class NavigatorProvider {private final HashMap<String, Navigator<? extends NavDestination>> mNavigators = new HashMap<>();public final <T extends Navigator<?>> T getNavigator(@NonNull Class<T> clazz) {String name = clazz.getSimpleName();Navigator<? extends NavDestination> navigator = mNavigators.get(name);// ...return (T) navigator;}
    }

4. Navigator - 导航执行器

  • 角色:具体导航操作的执行者

  • 职责

    • 处理特定类型目标的导航

    • 实现导航和返回栈操作

    • 管理目标生命周期

  • 类型体系

5. NavGraph - 导航蓝图

  • 角色:导航路线的抽象定义

  • 结构

    public class NavGraph extends NavDestination {private int mStartDestinationId;private final HashMap<Integer, NavDestination> mNodes = new HashMap<>();// ...
    }

  • 关键元素

    • 起始目标(startDestination

    • 目标集合(NavDestination

    • 动作连接(NavAction

6. NavDestination - 导航目标

  • 角色:导航的终点单元

  • 类型

    • FragmentDestination

    • ActivityDestination

    • DialogDestination

    • NavGraph(嵌套图)

  • 关键属性

    public abstract class NavDestination {private int mId;private String mLabel;private Bundle mDefaultArguments;private List<NavAction> mActions = new ArrayList<>();// ...
    }

三、组件协作流程

1. 初始化流程

2. 导航执行流程(navigate())

3. 返回栈管理流程(popBackStack())

四、关键设计解析

1. 责任链模式

  • NavController 作为中央调度器

  • 将具体导航操作委托给专门的 Navigator

  • 符合单一职责原则

2. 抽象工厂模式

  • NavigatorProvider 作为工厂

  • 隐藏具体 Navigator 的创建细节

  • 支持灵活扩展

3. 组合模式

  • NavGraph 包含多个 NavDestination

  • NavDestination 可以是原子目标或嵌套图

  • 实现导航结构的树形组织

4. 状态管理

  • NavBackStack 维护导航状态

  • 每个条目包含:

    public class NavBackStackEntry {private final NavDestination mDestination;private final Bundle mArgs;private final Lifecycle mLifecycle;// ...
    }
  • 完整的生命周期管理

http://www.dtcms.com/wzjs/338374.html

相关文章:

  • 做业务的网站seo免费教程
  • 做U启的网站最全的搜索引擎
  • 重庆石桥铺网站建设网络广告文案范文
  • 设计师门户网站程序国内it培训机构排名
  • 南昌专业网站建设深圳 网站制作
  • 元气森林的网络营销方式网站关键字优化价格
  • 国内网页做的好看的网站soso搜索引擎
  • 企业网站必须做可信网站认证郑州网络推广专业公司
  • 农业网站如何建设求个网站
  • 国外视觉差网站市场调研方案
  • 光明随心订网站怎么做友情链接平台
  • 你认为视频网站如何做推广公司网站营销
  • 广州中心网站建设seo研究中心南宁线下
  • 制作网站公司选 择乐云seo专家无代码网站开发平台
  • WordPress网站转APP插件seo外包公司需要什么
  • 电商平台有几个网站站外优化推广方式
  • 怎么做论坛社区网站网络营销主要是什么
  • 网站建设找盖亚科技怎样制作免费网页
  • 乐从网站制作百度推广网址
  • 饰品网站建设怎样做网站平台
  • 萧山做网站搜狗网站排名软件
  • 房产网二手房青岛百度推广优化怎么做的
  • 潍坊网站建设seo怎么开发一款app软件
  • wordpress后台not found网站搜索排名优化怎么做
  • 黄山公司做网站数字营销公司
  • 上海响应式网站建设费用数据分析方法
  • 请人做网站谁来维护全网营销系统是干什么的
  • 电子商务网站建设 精品课百度推广营销中心
  • 武汉注册公司代办seo咨询解决方案
  • 天津在哪做网站如何免费推广一个网站