收藏本版 |订阅

Android开发论坛 今日: 0|主题: 680|排名: 82 

  • FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android
    ​《FFmpeg开发实战:从零基础到短视频上线》一书的“3.4.1  通用音视频播放器”介绍了如何在桌面系统上安装和使用通用音视频播放器VLC media player,其实VLC是个跨平台的播放器,它也提供了面向Android平台的手机版VLC。 Android版VLC的官网地址是https://code.videolan.org/videolan/libvlc-android,源码托管地址 ...
    0103 周少妈 发表于 2025-11-1 Android开发论坛
  • Launcher 卡片框架多模块集成
    方案一、aar架包集成 最简单直接的方案,卡片侧实现,打成aar包提供到launcher显示 方案二、AppWidget 原生的桌面小组件方案,被限制无法自定义view 底层通过BroadcastReceiver实现 方案三、插件方案 插件方案有好几种,实现原理都是通过配置实现,其中有Service,BroadcastReceiver,Plugin 在SystemUI模块中,状态栏等模 ...
    0100 差点就倒了 发表于 2025-10-30 Android开发论坛
  • Android开发快速启动图文教程(Android Studio + Java)
    目录一、创建项目二、认识开发界面1.项目目录2.左侧工具栏3.顶部工具栏三、代码开发1.xml布局(前端)1.1创建文件夹1.2需要注册的文件(Activity页面为例)1.3不需要注册的文件(Toolbar工具栏为例)2.逻辑代码(后端)2.1java代码目录(基于Android 系统内置的 SQLite 数据库工具类)2.2创建文件夹2.3用户交互逻辑2.4数据 ...
    0121 春的追溯 发表于 2025-10-29 教程
  • Android DrawerLayout侧边导航栏的实现步骤
    目录简介实现步骤NavigationViewDrawerLayout的功能和特点简介 DrawerLayout是Android开发中一种常见的布局组件,常用于实现侧滑菜单效果,它允许一个或多个子视图在用户交互时从屏幕边缘滑出。 实现步骤 1.完成布局文件,以DrawerLayout为根布局,其第一个子布局为主布局,第二个子布局为侧边导航栏的布局。 DrawerLayout ...
    0146 南合令狐冲 发表于 2025-10-28 教程
  • Launcher 桌面源码笔记二
    车模桌面加载成功后,需要各种交互 切换桌面处理 先补充如何切换桌面,初始化需要指定一个默认桌面,初始化其实两个桌面都会一起加载,假设默认是车模桌面,地图将不会初始化操作,但是地图桌面会内嵌到Launcher中 两个桌面是互斥的,基于这种模式下,就需要隐藏另一个桌面,因为切换动效的缘故,这里直接使用setTranslatio ...
    074 清水河 发表于 2025-10-27 Android开发论坛
  • 在 Kotlin 中ViewModel 的获取及使用指南
    目录在 Kotlin 中,ViewModel 的获取Kotin- Fragment 获取 ViewModel 实例正确方式1. 第一种获取方式:2. 第二种获取方式在 Kotlin 中,ViewModel 的获取 在 Kotlin 中,by viewModels() 和 by viewModels { } 都是用来在 Activity 或 Fragment 中获取 ViewModel 实例的属性委托。它们之间的区别在于是否传递自定义的 ViewM ...
    056 就是现在 发表于 2025-10-24 教程
  • Launcher 桌面源码笔记一
    3D车模通过TaskView显示在Launcher,首先需要知道,为什么要用TaskView,而不是Activity,然后在说加载流程 1、surface比activity等效率更高,特别是针对车模跟地图等重量级场景 2、切换桌面等场景时,可以更精确的控制暂停恢复 3、进程隔离,更精细的生命周期管理跟控制 4、taskView中SurfaceControl的跨进程绑定机制(rep ...
    0139 斯蒂芬大强库里 发表于 2025-10-24 Android开发论坛
  • Android Compose 状态的概念及实际应用
    目录Jetpack Compose 中的状态一、什么是“状态”?二、状态和“组合/重组”的关系三、可组合项里怎么存状态?(2个核心API)1. remember:负责“存储状态”2. mutableStateOf:负责“让状态可观察”四、声明 MutableState 的3种方式(语法糖,按需选)五、传递对象和传递值的区别 ...
    0127 西北亮 发表于 2025-10-22 教程
  • 氛围灯动态屏保取色方案二
    hue查找:整体偏差不会很大,但是对于亮度较高存在误差,精准度不够 lab查找:整体一般,但是精准度较好,不过算法复杂,增加耗时 hue色相查找存在误差,在有限的256色中,匹配的规则需要调整 这里使用lab算法提高精准度 RGB转Lab fun rGBToLab(r: Int, g: Int, b: Int): DoubleArray { // 处理负值(如-2563864 ...
    0105 张罗欢 发表于 2025-10-22 Android开发论坛
  • Android Handler 机制原理解析
    目录一、 概述二、 核心组件1. Handler(处理器)2. MessageQueue(消息队列)3. Looper(循环器)4. Message(消息)三、工作原理1. 整体流程图2. 详细执行过程1. 初始化 Looper(子线程示例)2. 消息发送机制3. 消息处理流程四、源码分析(精简版)1. Looper 核心实现2. MessageQueue 关键方法enqueueMessage()—&md ...
    0147 网络爱好者 发表于 2025-10-20 教程
  • FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer
    ​《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章  FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频裁剪框架Android-Video-Trimmer,通过该框架可以更快地裁剪视频片段,下面就来介绍如何在App工程 ...
    0145 小夭夭 发表于 2025-10-18 Android开发论坛
  • 几种常见的Android性能与内存优化策略
    目录1. 减少布局层级2. 图片资源优化3. 避免内存泄漏4. 使用ProGuard混淆代码5. 优化数据库操作6. 利用性能监控工具1. 使用 ​​RecyclerView​​ 而不是 ​​ListView​​2. 使用 ​​Glide​​ 或 ​​Picasso​​ 加载图片3. 避免内存泄漏4. 使用 ​​ProGuard​​ 进行代码混淆和优化5. 使用 ​​LeakCanary​​ 检测内 ...
    077 罗将军的恩情还不完 发表于 2025-10-18 教程
  • 氛围灯动态屏保取色方案一
    氛围灯并不支持所有的颜色,只能支持256色,所以在取到图片颜色后需要根据结果颜色去跟氛围灯所支持的256色对比,取最接近的结果色,然后同步到氛围灯显示 取色流程 取色需要用到原生 Palette.from(bitmap).generate() 方法,通过量化算法分析位图的像素颜色分布,提取最具代表性的颜色组合,也有异步获取方法,下面方法都 ...
    0100 眼看着你们堕落 发表于 2025-10-16 Android开发论坛
  • Android Studio 2025 下载安装教程及配置环境(含下载地址+配置教程)
    一、前言(新手必看) 不管你是刚学安卓开发的学生,还是想自己做 APP 的爱好者,Android Studio 2025 都是绕不开的工具 —— 毕竟这是 Google 官方唯一认的安卓开发 IDE。很多新手第一次装会踩坑,比如把软件装 C 盘导致电脑卡、SDK 路径设错开不了项目、不知道在哪下安全的安装包,这篇教程会把这些问题都讲透,跟着步骤 ...
    087 牛向东 发表于 2025-10-16 Android开发论坛
  • Android使用ViewPager2实现简单的轮播图的代码示例
    目录一、轮播图的简单介绍二、轮播图的实现步骤1.绘制轮播图页面2.设置ViewPager2的子布局3.编写ViewPager2的适配器4.编写Carousel类具体实现轮播图5.实现自动轮播6.触摸时停止自动轮播三、完整代码一、轮播图的简单介绍 轮播图(Carousel)是一种在有限空间内循环展示多个内容项的UI组件,用户可以通过滑动或自动播放的方 ...
    097 长风吴彦祖 发表于 2025-10-13 教程
  • Android通过Dialog实现全屏的示例代码
    目录引言一、Dialog的初始化二、全屏和非全屏的实现引言 在项目的实际开发中会碰到有些View需要横屏全屏的情况,比如视频播放的View,详情的View等,如果跳转到新的Activity或Fragment来展示横屏全屏,有些进度、状态等携带过去又很麻烦,这样的情况下通过Dialog实现全屏就是一个选择。 一、Dialog的初始化 一般情况下Activi ...
    069 三槐堂 发表于 2025-10-12 教程
  • Android杀死选中进程并释放进程占用空间的方法详解
    目录1. 进程管理的重要性2. 如何获取当前运行的进程信息3. 杀死选中的进程4. 示例:实现一个简单的进程管理器5.方法补充获取 ​​ActivityManager​​ 实例杀死指定的进程检查权限完整示例代码注意事项替代方案在Android开发中,管理和优化应用的性能是一个重要的课题。特别是在资源管理方面,如何有效地管理进程,确保应用 ...
    079 梦夕 发表于 2025-10-12 教程
  • Android Gradle 基础配置、高级用法与最佳实践
    目录一、核心配置概览二、基础配置详解1. 项目根目录build.gradle2. 模块级build.gradle插件声明android闭包配置依赖管理三、高级用法与最佳实践1. 统一依赖管理(推荐方式)1.使用ext+config.gradle2.使用gradle/libs.versions.toml2. 多环境构建3. 动态配置与任务定制1. 自定义 Gradle 任务2.构建前自动修改版本号4. 构建 ...
    0100 我是羽童 发表于 2025-10-11 教程
  • Android 中的 mk 和 bp 文件编译示例详解
    目录1. Android.mk 文件基本概念基本语法示例2. Android.bp 文件基本概念基本语法示例3. 主要区别对比4. 常见模块类型Java 库Android 应用预编译库5. 高级特性条件编译(在 bp 中)变量和函数6. 转换示例mk 转 bp 示例7. 最佳实践主要介绍 Android 中的 mk 和 bp 文件的编译方式, Android 构建系统的两种不同配置文件。 1. ...
    084 无亟 发表于 2025-10-10 教程
  • 2.Android Compose 基础系列:在 Kotlin 中创建和使用变量
    在应用开发中,有些内容是固定的,例如“设置”中的菜单项;而有些内容会不断变化,比如新闻应用中的标题、来源或发布时间。为了让这些变化自动更新,而不是每次都修改代码,我们需要使用 变量(variable)。 🎯 学习目标 了解什么是变量,并学会定义和更新变量 掌握如何为变量选择合适的数据类型 学会在代码中添加注释, ...
    0180 杨柠 发表于 2025-10-6 Android开发论坛
  • 下一页 »

    快速发帖

    还可输入 180 个字符
    您需要登录后才可以发帖 登录 | 立即注册

    本版积分规则

    圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖返回顶部