# 标签

四大组件

共 31 篇文章

​Android AppWidget 开发详解
Android

​Android AppWidget 开发详解

Android AppWidget 开发详解1、AppWidget 概述AppWidget 是 Android 提供的桌面小部件功能,允许应用在桌面显示关键信息,用户无需打开应用即可查看和操作。AppWidget 本质上是一个特殊的 BroadcastReceiver,通过 RemoteViews 在桌面展示界面。核心特性: - 显示在桌面,无需打开应用 - 支持定时更新和用户交互 - 跨进程显示

623
Android

Android Cursor 使用详解:为什么必须调用 moveToFirst()

Android Cursor 使用详解:为什么必须调用 moveToFirst()在 Android 开发中,使用 SQLite 数据库时,我们经常需要处理 Cursor 对象。一个常见的错误是直接尝试从 Cursor 中读取数据而没有先调用移动方法。本文将详细介绍为什么必须调用 moveToFirst() 或其他移动方法后才能读取数据。1、Cursor 基本概念Cursor 是一个指向查询结果集

565
Android

MediaStore 使用完全解析

MediaStore 使用完全解析MediaStore 是 Android 系统中用于管理多媒体内容的核心组件,它通过 ContentProvider 的方式让开发者可以安全地访问共享媒体库中的音频、视频和图像等资源。本篇会详细介绍其使用方法和工作原理。1、MediaStore 基础概念MediaStore 的几个核心概念:媒体库索引 (Index)、主要集合 (Collections)、内容 U

765
Android

Android FileProvider 使用指南

Android FileProvider 使用指南FileProvider是 Android 7.0+ 系统中安全的文件分享机制,用于替代传统的 file:// URI 方式。1、配置FileProvider要在项目中引入 FileProvider,只需要在 build.gradle 文件中添加 AndroidX 核心库依赖即可(通常新建项目时已默认包含)。1.1、添加依赖在模块级(Module)

923
Android

showWhenLocked 和 showOnLockScreen的区别

showWhenLocked 和 showOnLockScreen的区别showWhenLocked 和 showOnLockScreen 是在 Android 开发中用于控制Activity在锁屏状态下显示的两个标志,让Activity在设备处于锁屏状态时依旧能够显示在屏幕最前端,用户无需解锁即可看到并操作该界面。典型用途: ·来电界面、闹钟响铃、计时器结束提醒 ·运动/导航实时状态、门禁/乘车

1.1k
同一个应用不同activity显示在多任务
Android

同一个应用不同activity显示在多任务

同一个应用不同activity显示在多任务同一个App中的不同Activity显示在多任务,类似微信小程序、快应用。1、启动方式有两种方式实现启动同一个应用中的Activity也能出现在最近任务列表:1.1、启动时添加Flag页面跳转的时候增加Flag:FLAG_ACTIVITY_NEW_DOCUMENT:此标志用于将文档打开到一个 基于此意图的新任务中;FLAG_ACTIVITY_MULTIPL

1.7k
startActivityForResult的原理
Android

startActivityForResult的原理

startActivityForResult的原理在startActivityForResult的用法一文中简单回顾了启动Activity之间传递数据的方法,这样的设计方便了开发者。背后的原理其实很简单,如果熟悉Activity启动流程,不难发现,其实startActivityForResult就穿插在其中。本篇探索startActivityForResult的原理,顺便回顾一下Activity启

2.4k
startActivityForResult的用法
Android

startActivityForResult的用法

startActivityForResult的用法startActivity(),应该是安卓开发初学者最先接触的一个方法。从一个Activity:A启动跳转到另一个Activity:B,借助启动的Intent能够携带一些参数,数据流向A->B:1、startActivityForResult方法通常还会有一些场景,启动完B,返回到A界面。需要返回结果,这时候就要用到startActivityFor

2.1k
bindService绑定服务源码流程
Android

bindService绑定服务源码流程

bindService绑定服务源码流程终于轮到双休,周末可以摸一下书。本次阅读的源码基于API 30,将来回头再看可能有误。1、绑定ServiceService作为四大组件之一,承担着执行后台任务的重担。有两种启动方式:①startService,②bindService。本篇跟随源码了解绑定Service的过程。绑定Service仅需简单几步:将Service的绑定过程拆分开来看,并不复杂,逻辑

2.3k
Activity的组成结构
Android

Activity的组成结构

Activity的组成结构开发中我们重写Activity的onCreate()方法,调用setContentView(int layoutResID)方法给当前Activity设置布局,其实设置的就是ContentView。从setContentView(int layoutResID)开始通过源码来了解一下Activity界面的组成结构(在理解Window中也提到过):1、ActivityAnd

2.1k
ContentProvider笔记
Android

ContentProvider笔记

ContentProvider笔记ContentProvider作为四大组件很常用,但是相关代码一写完少则半年都不会变动,不会天天四大组件来回折腾。好记性不如烂笔头,简要记录一下ContentProvider的用法。1、ContentProviderContentProvider用来在多个应用程序之间共享数据,涉及到Binder跨进程传输那部分咱先不提。你要在同一个APP内部也使用ContentP

2.3k
Android

BroadcastReceiver:广播的使用

BroadcastReceiver:广播的使用广播是Android四大组件之一。用广播可以实现简单进程间通信;一定程度上还能解耦;关于BroadcastReceiver的原理参考BroadcastReceiver工作流程。广播除了用来通知,桌面小部件AppWidgetProvider也是继承自BroadcastReceiver实现更新桌面挂件的,参考AppWidgetProvider:桌面小挂件。

2.2k
IntentService原理
Android

IntentService原理

IntentService原理之前记录了一篇IntentService 的使用(参考IntentService使用详解),没有详细对IntentService的实现原理进行深入颇析。正好阅读Android源码,对一些实现原理进行深入的了解。先介绍一下IntentService中两个重要的成员变量:mServiceLooper和mServiceHandler。在IntentService初始化的时候

1.9k
ContentProvider启动流程及原理
Android

ContentProvider启动流程及原理

ContentProvider启动流程及原理ContentProvider作为Android的四大组件之一是非常重要的,它的用法参考ContentProvider的用法。本篇主要顺着源码理解ContentProvider的启动和底层原理。1、ContentProvider启动当一个APP启动的时候从ActivityThread的main方法入口加载的过程中就会初始化本应用的ContentProvi

2.2k