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

Android编程权威指南(第四版)- 第 4 章 UI状态的保存与恢复

文章目录

  • 代码:
    • 依赖
    • MainActivity
    • QuizViewModel
    • Question
    • 知识点

代码:

大体是一样的,修改了一些

依赖

    implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")

MainActivity

package com.example.geoquizimport androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.lifecycle.ViewModelProviders
private const val KEY_INDEX = "index"
private const val KEY_SOCRE = "socre"
private const val KEY_BUTTONSTATUS="buttonStatus"
class MainActivity : AppCompatActivity() {private lateinit var questionText: TextViewprivate lateinit var ture_button: Buttonprivate lateinit var false_button: Buttonprivate lateinit var last_button: Buttonprivate lateinit var next_button: Buttonprivate lateinit var score_button: Buttonprivate val TAG="MainActivity"private val quizViewModel: QuizViewModel by lazy {ViewModelProviders.of(this)[QuizViewModel::class.java]}override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val index= savedInstanceState?.getInt(KEY_INDEX,0)?:0quizViewModel.index=<

相关文章:

Android编程权威指南(第四版)- 第 4 章 UI状态的保存与恢复

文章目录 代码:依赖MainActivityQuizViewModelQuestion知识点代码: 大体是一样的,修改了一些 依赖 implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")MainActivity package com.example.geoquizimport androidx.appcompat.app.AppCompatActivi…...

代理模式

如有错误或有补充&#xff0c;以及任何改进的意见&#xff0c;请留下您的高见 定义 代理模式是一种设计模式&#xff0c;它为其他对象提供一种代理以控制对这个对象的访问。代理模式是一种结构型模式&#xff0c;它可以在不修改源码的情况下增强方法&#xff0c;在方法前后增…...

C++三剑客之std::any(一) : 使用

相关系列文章 C三剑客之std::any(一) : 使用 C之std::tuple(一) : 使用精讲(全) C三剑客之std::variant(一) : 使用 C三剑客之std::variant(二)&#xff1a;深入剖析​​​​​​​ 目录 1.概述 2.构建方式 2.1.构造函数 2.2.std::make_any 2.3.operator分配新值 3.访问值…...

2024年:用OKR管理你的生活

在科技高速发展的时代&#xff0c;越来越多的企业和团队开始采用OKR&#xff08;Objectives and Key Results&#xff09;管理方法来设定目标并跟踪进度。你是否想过&#xff0c;将OKR理念引入个人生活&#xff0c;以更有效地实现人生目标&#xff1f;本文将探讨如何在2024年运…...

Lua迭代器以及各种源函数的实现

范型for 范型for的格式如下所示&#xff1a; for <var-list> in <exp-list> do<body> end var-list指变量名列表&#xff0c;可以为多个&#xff0c;exp-list指表达式列表&#xff0c;通常情况下只有一个值。可以更具体地写为另一种形式&#xff1a; fo…...

e5 服务器具备哪些性能特点?

随着云计算和大数据技术的不断发展&#xff0c;服务器作为数据中心的核心设备&#xff0c;其性能特点也日益受到关注。其中&#xff0c;E5服务器作为当前主流的服务器类型之一&#xff0c;具备许多优秀的性能特点。本文将详细介绍E5服务器的性能特点&#xff0c;帮助读者更好地…...

《C++ Primer Plus》《2、开始学习C++》

文章目录 0 前言&#xff1a;1 进入C1.1 main()函数1.2 C注释1.3 预处理器和iostream1.4 头文件名1.5 名称空间1.6 使用cout进行C输出1.7 C源代码的格式化 2 C语句2.1 声明语句和变量2.2 赋值语句2.3 cout语句 3 其他C语句3.1使用cin3.2 使用cout进行拼接3.3 类简介 4 函数4.1 …...

Backtrader 文档学习- Sizers

Backtrader 文档学习- Sizers 1.概述 智能仓位 Strategy提供了交易方法&#xff0c;即&#xff1a;buy&#xff0c;sell和close。看一下buy的定义&#xff1a; def buy(self, dataNone,sizeNone, priceNone, plimitNone,exectypeNone, validNone, tradeid0, **kwargs):注意&…...

基于YOLOv8算法的照片角度分类项目实践

目录 一、任务概述二、YOLOv8算法简介2.1 算法改进2.2 算法特点2.3 网络结构2.4 性能比较 三、工程实践3.1 安装算法框架库ultralytics3.2 库存照片预处理3.2.1 提取所有图片3.2.2 去除冗余的相同照片3.2.3 去除无车辆照片3.2.4 随机提取指定数量的图片 3.3 照片朝向分类3.3.1 …...

go语言进阶篇——面向对象(一)

什么是面向对象 在我们设计代码时&#xff0c;比如写一个算法题或者写一个问题结局办法时&#xff0c;我们常常会使用面向过程的方式来书写代码&#xff0c;面向过程主要指的是以解决问题为中心&#xff0c;按照一步步具体的步骤来编写代码或者调用函数&#xff0c;他在问题规…...

C#,栅栏油漆算法(Painting Fence Algorithm)的源代码

1 刷油漆问题 给定一个有n根柱子和k种颜色的围栏&#xff0c;找出油漆围栏的方法&#xff0c;使最多两个相邻的柱子具有相同的颜色。因为答案可以是大的&#xff0c;所以返回10^97的模。 计算结果&#xff1a; 2 栅栏油漆算法的源程序 using System; namespace Legalsoft.Tr…...

java_error_in_pycharm.hprof文件是什么?能删除吗?

java_error_in_pycharm.hprof文件是什么&#xff1f;能删除吗&#xff1f; &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333;hprof格式文件介绍&#x1f333;&#x1f333;java_error_in_pycharm.hprof文件什么情况下能删除&#x1f333;&…...

LeetCode 491 递增序列

给定一个整型数组, 你的任务是找到所有该数组的递增子序列&#xff0c;递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明: 给定数组的长度不会超过15。 数组中的整数范围是 [-…...

考研/计算机二级数据结构刷题之顺序表

目录 第一题 顺序表的初始化&#xff0c;销毁&#xff0c;头插&#xff0c;尾插&#xff0c;头删&#xff0c;尾删&#xff0c;指定位置插入&#xff0c;指定删除以及打印 第二题 移除元素 题目链接&#xff1a; OJ链接 题目详解&#xff1a;移除元素 第三题&#xff1a;删…...

Git 代码协同的使用方法 for Azure DevOps

1. 登陆Azure 步骤1.1. VS Code&#xff0c;登陆Azure Cloud的Ubuntu环境&#xff0c;如下&#xff1a; 重点: 这里的Azure Cloud的用户名是YourAzureUserName&#xff0c;口令是YourAzurePassword 步骤1.2. 登陆Azure Cloud的Ubuntu环境后&#xff0c;配置Git账户信息&…...

数据库学习笔记2024/2/5

2. SQL 全称 Structured Query Language&#xff0c;结构化查询语言。操作关系型数据库的编程语言&#xff0c;定义了 一套操作关系型数据库统一标准 2.1 SQL通用语法 在学习具体的SQL语句之前&#xff0c;先来了解一下SQL语言的通用语法。 1). SQL语句可以单行或多行书写&…...

PSM-Net根据Stereo图像生成depth图像

一、新建文件夹 在KITTI数据集下新建depth_0目录 二、激活anaconda环境 conda activate pt14py37三、修改submission.py文件 3.1 KITTI数据集路径 parser.add_argument(--datapath, default/home/njust/KITTI_DataSet/00/, helpselect model)3.2 深度图像输出路径 save…...

Mocaverse NFT 概览与数据分析

作者&#xff1a;stellafootprint.network 编译&#xff1a;mingfootprint.network 数据源&#xff1a;Mocaverse NFT Collection Dashboard Mocaverse 是 Animoca Brands 推出的专属 NFT&#xff08;非同质化代币&#xff09;系列&#xff0c;包含 8,888 个独特的 "M…...

SpringBoot之事务源码解析

首先事务是基于aop的&#xff0c;如果不了解aop的&#xff0c;建议先去看下我关于aop的文章: Spring之aop源码解析  先说结论&#xff0c;带着结论看源码。首先&#xff0c;在bean的生命周期中&#xff0c; 执行实例化前置增强&#xff0c;会加载所有切面并放入缓存&#xff0…...

FPGA高端项目:解码索尼IMX327 MIPI相机转USB3.0 UVC 输出,提供FPGA开发板+2套工程源码+技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX327 及其配置MIPI CSI RX图像 ISP 处理图像缓存UVC 时序USB3.0输出架构FPGA逻辑设计工程源码架构SDK软件工程源…...

MusePublic Art Studio实际效果:UI设计稿生成中组件一致性保障

MusePublic Art Studio实际效果&#xff1a;UI设计稿生成中组件一致性保障 1. 引言&#xff1a;当AI成为你的UI设计搭档 想象一下这个场景&#xff1a;你正在为一个新的移动应用设计UI界面。你已经画好了登录页的草图&#xff0c;上面有圆角按钮、卡片式布局和一套清爽的配色…...

孟德尔随机化实战(五)—— 告别报错!Error in if (out == “[]“) 深度解析与TwoSampleMR参数调优全攻略

1. 报错现象深度解析&#xff1a;为什么会出现"参数长度为零"&#xff1f; 最近在孟德尔随机化分析交流群里&#xff0c;这个报错出现的频率简直高得离谱&#xff1a;"Error in if (out "[]") { : argument is of length zero"或者它的中文版&q…...

如何用Penpot构建完整的用户体验地图和用户旅程:7步打造完美设计流程

如何用Penpot构建完整的用户体验地图和用户旅程&#xff1a;7步打造完美设计流程 【免费下载链接】penpot Penpot - The Open-Source design & prototyping platform 项目地址: https://gitcode.com/GitHub_Trending/pe/penpot Penpot作为开源的设计与原型平台&…...

从Blender到虚幻引擎:除了FBX,试试GLTF格式导入的完整流程与优势对比

从Blender到虚幻引擎&#xff1a;GLTF格式导入的完整流程与优势解析 在三维内容创作领域&#xff0c;Blender与虚幻引擎的组合已经成为许多专业团队的标准工具链。当我们需要将精心制作的模型从Blender迁移到虚幻引擎时&#xff0c;传统的FBX格式虽然广为人知&#xff0c;但GLT…...

OpenCV图像预处理失效全解析,深度解读光照不均、反光伪影、亚像素抖动下的鲁棒代码实现

第一章&#xff1a;OpenCV图像预处理失效的典型工业场景综述在工业视觉检测系统中&#xff0c;OpenCV常被用作图像预处理的核心工具&#xff0c;但其默认参数与理想假设在真实产线环境中频繁失效。光照剧烈波动、镜头污损、金属反光、高速运动拖影以及低信噪比成像等物理约束&a…...

如何让鼠标和触控板和平共处:Scroll Reverser实现设备独立控制的效率革命

如何让鼠标和触控板和平共处&#xff1a;Scroll Reverser实现设备独立控制的效率革命 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 在多设备协同办公成为常态的今天&#xff0…...

Html2Pdf高性能转换引擎:PHP 7.2-8.4全版本兼容的企业级HTML转PDF解决方案

Html2Pdf高性能转换引擎&#xff1a;PHP 7.2-8.4全版本兼容的企业级HTML转PDF解决方案 【免费下载链接】html2pdf OFFICIAL PROJECT | HTML to PDF converter written in PHP 项目地址: https://gitcode.com/gh_mirrors/ht/html2pdf 在当今企业数字化转型浪潮中&#xf…...

HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办?

HybridCLR Generate All报错终极解决指南&#xff1a;UnityLinker.exe找不到HotUpdate.dll怎么办&#xff1f; 当你正在使用HybridCLR进行Unity热更新开发时&#xff0c;突然遇到Generate All报错&#xff0c;提示UnityLinker.exe无法解析HotUpdate.dll&#xff0c;这确实会让人…...

NXP S32K3xx之HSE密钥管理与安全服务实战

1. HSE密钥管理基础&#xff1a;从零开始理解安全引擎 第一次接触NXP S32K3xx的HSE模块时&#xff0c;我被各种密钥术语搞得晕头转向。经过几个实际项目的打磨&#xff0c;现在我可以负责任地告诉你&#xff1a;理解HSE密钥管理就像学习一门新语言&#xff0c;掌握基础词汇后就…...

3508RAID卡RAID与JBOD模式对比:如何选择最适合你的存储方案?

3508RAID卡RAID与JBOD模式深度解析&#xff1a;从原理到实战的存储方案选择指南 当企业面临数据存储方案的选择时&#xff0c;3508RAID卡提供的RAID和JBOD模式常常让人陷入纠结。这两种模式看似简单&#xff0c;实则背后隐藏着截然不同的设计哲学和应用场景。本文将带您深入理解…...