掌握生命周期对开发者来说很基础,但至关重要,当理解好了生命周期,才可以写出连贯流畅的程序,并且能掌握如何管理应用程序的资源,得到更好的用户体验。什么是Activity(活动)?所谓活动就是吸引用户的地方,活动包括一系列用户界面,其作用就是呈现给用户信息,并且用户可以在上面进行交互。一个应用可以包含一个或多个活动,没有活动的应用几乎是没有的,因为应用要提供用户界面进行交互.经常玩手机应用的人就会发现
【Kotlin Flow】 一眼看全——Flow操作符大全 - 掘金Flow概览:flow操作符可以将返回的数据进行加工处理,数据流包含三个实体:上游 -- 数据提供方:会生成添加到数据流中的数据。得益于协程,数据流还可以异步生成数据。中介(可选) -- 数据加工:可以修改发送到数据流的值,或修正数据流本身。下游 -- 数据使用方:则使用数据流中的值。Flow流使用步骤:1、创建流:flow {
转载
2024-01-28 01:46:03
402阅读
以下内容是本人使用gradle的一些心得,主要是关于android项目的build.gradle文件的配置说明和自己的一些使用技巧,好了,废话不多说,我们开始吧!build.gradle介绍:工程类型声明:表明这个工程是一个应用apply plugin: 'com.android.application'表明这个工程是一个库工程apply plugin: 'com.android.library'
转载
2023-12-14 12:03:54
54阅读
首先我们来看一个例子:我们有一个网络接口,在耗时3秒后会回调一个结果,把结果 3 ,回调出去。代码如下: /** * 模拟网络请求 */ fun r
原创
2021-12-10 13:51:16
3405阅读
Flow 简介Google 推荐在 MVVM 架构中使用 Kotlin Flow,可见其发展前景是非常好的。Kotlin Flow 可以用于替换 Rxjava,也可以用于替换 LiveData,功能十分强大,它是 Kotlin 协程库提供的一部分功能,因此,如果我们项目中已经引用了 Kotlin 协程,则不需要额外引入 Flow 相关的依赖。在协程中,挂起函数最多仅能返回一个值,而数据流 Flow
转载
2023-09-18 16:08:38
186阅读
Flow 简介Google 推荐在 MVVM 架构中使用 Kotlin Flow,可见其发展前景是非常好的。Kotlin Flow 可以用于替换 Rxjava,也可以用于替换 LiveData,功能十分强大,它是 Kotlin 协程库提供的一部分功能,因此,如果我们项目中已经引用了 Kotlin 协程,则不需要额外引入 Flow 相关的依赖。在协程中,挂起函数最多仅能返回一个值,而数据流 Flow
转载
2023-09-18 16:08:39
179阅读
一、概述:(一)、什么是FlowLayout? 何为FlowLayout,就是控件根据ViewGroup的宽,自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行。有点所有的控件都往左飘的感觉,第一行满了,往第二行飘,所以也叫流式布局。 Android并没有提供流式布局,但是某些场合中
转载
2023-12-08 09:36:41
146阅读
1. 流程引擎API与服务引擎API是与Flowable交互的最常用手段。总入口点是ProcessEngine。像配置章节中介绍的一样,ProcessEngine可以使用多种方式创建。使用ProcessEngine,可以获得各种提供工作流/BPM方法的服务。ProcessEngine与服务对象都是线程安全的,因此可以在服务器中保存并共用同一个引用。@Test
void processEng
转载
2024-06-26 13:01:39
122阅读
目录背景flow 介绍flow加载列表数据总结背景 flow简单的可以理解为数据流,它可以生成连续的同类型数据。刚接触到flow的开发者都很疑惑,它的功能好像都有东西可以替代。比如通过foreach遍历Collection或Sequence都能有flow一样的生成数据效果,那为什么还要引入flow呢。大家
转载
2023-08-17 11:00:03
184阅读
因为在锁屏下可以弹出页面其实是一个危险的权限,需要得到用户的确认才行,否则你可以想象随便一个app就可以在锁屏下开启页面,那么它是不是可以抓取你的锁屏密码等用户隐私了。下面是使用Activity在锁屏下弹出的方法步骤:1. 设置要弹出的Activity页面public class ScreenOnTestActivity extends Activity {
@Override
protected
转载
2024-10-22 07:04:18
18阅读
对于很多应用而言,构建后台任务是重要的一环。其中一种方式是:使用AlarmManager注册定时器唤醒未在前台启动的应用(例如闹钟,译者注)。如何优雅低使用定时器类和API,它们是不是你的最佳选择?下面让我们看看如何抉择。唤醒频率?对于少于60秒的唤醒,定时器类并不是最优解:使用更高效的的Handler来处理频发的任务。希望用户看到计时?对于API21+(Android5.0以上,译者注),新AP
转载
2023-10-23 16:43:28
73阅读
背景 在app开发过程中,实现polling逻辑也是很常见的。当然在移动端应用使用polling处理会影响应用的性能。比如polling处理增加了网络请求的次数,服务端压力增加。polling处理也消耗了更多的网络流量。但是应用polling的场景还是有的。有时是否选择polling要考虑很多综合的因素,比如我们可以使用长连接替代polling
转载
2023-08-25 17:01:11
126阅读
一.前言1.内存溢出与内存泄露 内存溢出(oom),是指程序在申请内存时,没有足够的内存空间供其使用,出现oom;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 (memory leak),是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致oom
转载
2023-08-28 22:51:20
415阅读
IntentFilter启动activity方式有两种:1.显示启动;2.隐式启动。显示启动要明确的指定启动对象的组件信息,包括包名和类名,而隐式启动则不需要指定组件信息。原则上Intent不应该是显示调用又是隐式调用,如果二者共存的话,以显式为主。隐士启动需要匹配目标组件的IntentFilter中所设置的过滤信息。Intent过滤信息有:action、category、data。<act
# Android Flow 布局详解
在 Android 开发中,布局是构建应用界面的基础。随着 Android 组件的不断发展,Flow 布局作为一种新的布局方式被引入,提供了灵活且高度可定制的界面设计能力。本文将详细介绍 Android Flow 布局的概念,功能,以及如何在项目中实现和应用 Flow 布局。
## Flow 布局概述
Flow 布局使得开发者能够灵活地摆放子视图(Vi
# Android RecyclerView Flow 实现教程
## 引言
本教程将介绍如何使用 Android 的 RecyclerView 控件实现流式布局。RecyclerView 是一种高度可定制的控件,用于显示大量数据集合。与 ListView 不同,RecyclerView 提供了更好的性能和灵活性,适合在不同的布局中展示项目。
在本教程中,我们将按照以下流程来实现 Androi
原创
2023-12-02 10:38:56
190阅读
# Android使用Flow
## 引言
Flow是一个在Android开发中用于处理异步数据流的库。它可以帮助我们消除回调地狱,并提供更简洁、可读性更强的代码。本文将介绍Flow的基本概念,并提供一些使用Flow的示例代码。
## Flow的基本概念
Flow是Kotlin协程中的一个组件,它代表了一个可以异步发射多个值的序列。Flow可以与`LiveData`和`RxJava`等其他
原创
2023-07-23 16:47:42
261阅读
作者Flywith24Android 常用的分层架构Android 中加载 UI 数据不是一件轻松的事,开发者经常需要处理各种边界情况。如各种生命周期和因为「配置更改」导致的 Activity 的销毁与重建。「配置更改」的场景有很多:屏幕旋转,切换至多窗口模式,调整窗口大小,浅色模式与暗黑模式的切换,更改默认语言,更改字体大小等等因此普遍处理方式是使用分层的架构。这样开发者就可以编写独立于 UI
Android Flow Fold 是 Android Jetpack 库中的一个组件,用于管理 Android 应用程序中的数据流。它提供了一种简洁而强大的方式来处理异步操作和数据流转。
## 一、概述
在 Android 开发中,我们经常需要处理异步操作和数据流转。这些操作可能涉及网络请求、数据库查询、文件读写等等,而这些耗时的操作不能在主线程中执行,否则会导致应用程序的界面卡顿。因此,我
原创
2024-02-01 03:39:09
85阅读
先上一张效果图:上代码,CoverFlow从Gallery继承过来package com.coverflow;
import android.content.Context;
import android.graphics.Camera;
import android.graphics.Matrix;
import android.util.AttributeSet;
import androi
转载
2024-08-23 12:39:42
32阅读