# 标签

四大组件

共 20 篇文章

Android

​Android AppWidget 开发详解

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

420
Android

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

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

373
Android

MediaStore 使用完全解析

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

542
Android

Android FileProvider 使用指南

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

657
Android

showWhenLocked 和 showOnLockScreen的区别

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

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

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

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

1.4k
Android

startActivityForResult的用法

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

1.8k
ContentProvider笔记
Android

ContentProvider笔记

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

2.1k
Android

BroadcastReceiver:广播的使用

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

1.9k
Android

​Android AIDL 进阶:Service 权限配置与 RemoteCallbackList

Android AIDL 进阶:Service 权限配置与 RemoteCallbackListAIDL 让跨进程通信变得简单——定义接口、实现 Stub、bindService 一气呵成。但只要你的 Service 对外暴露,任何应用都能 bind 它、调用它的方法,安全隐患随之而来。本文讲清两个 AIDL 进阶主题:如何给 Service 加权限验证(声明式 + 编程式两种),以及如何用 Re

205
Android

Activity启动的Flag

Activity启动的FlagActivity有4中启动模式,参考Activity四种启动模式 。启动Activity的Intent添加flag,使用 Intent.addFlags(int flags) 方法。查看源码,可以看到总共有20种:后面简单介绍Intent几个常用的Flag。 1、FLAG_ACTIVITY_CLEAR_TOP这个Flag有没有很熟悉。SingleTask启动模式自带该

1.7k
屏幕方向属性:android:screenOrientation
Android

屏幕方向属性:android:screenOrientation

android:screenOrientation属性1、屏幕方向属性:screenOrientationAndroid应用程序中,android:screenOrientation用于控制activity启动时方向。 1.1、屏幕方向属性 屏幕方向android:screenOrientation取值可以为以下几种:unspecified 默认值,由系统决定,不同手机可能不一致landscape

2.2k 1
Activity切换动画
Android

Activity切换动画

Activity切换动画Activity之间切换的时候有动画效果,不同手机系统效果不一样,因为系统框架做了改进。而APP开发者也可以自定义Activity切换动画,让自己的应用变得高大上。1、overridePendingTransition(有效)Activity类中提供了Activity跳转动画方法,通过该方法可以实现Activity跳转时的动画效果。在Activity中定义的部分源码如下 ①

2.4k
onConfigurationChanged()及屏幕横竖屏锁定
Android

onConfigurationChanged()及屏幕横竖屏锁定

onConfigurationChanged()每当配置发生变化的时候,比如横竖屏切换(可以设置屏幕方向,参考《屏幕方向属性:android:screenOrientation》)。Activity的生命周期都会重新创建,比如很竖屏的切换,Log如下:每当很竖屏切换的时候都会执行onCreate()重新创建Activity,之前的Activity销毁。能不能不销毁呢,万一用户在输入数据(虽然可以通

1.8k
Activity页面全屏探究
Android

Activity页面全屏探究

Activity页面全屏探究一些场景下需要应用全屏1、Window设置Flag在Activity的onCreate()方法中设置Flag:WindowManager.LayoutParams.FLAG_FULLSCREEN。了解更多Window Flag相关知识的详见《理解WindowManager》。2、在AndroidManifest中设置theme属性首先在values/styles.xml

1.8k 1