MASA MAUI Plugin (九)Android相册多选照片(使用Android Jetpack套件库)

本文介绍了如何在MASA Maui项目中使用Android Jetpack实现相册多选照片功能。通过Activity Result API注册结果回调,详细讲解了代码编写过程,包括注册ActivityResultLauncher、自定义ActivityResultCallback以及处理返回结果的方法。提供了测试代码和演示效果。
摘要由CSDN通过智能技术生成

背景

MAUI的出现,赋予了广大.Net开发者开发多平台应用的能力,MAUI 是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不完整。所以MASA团队开展了一个实验性项目,意在对微软MAUI的补充和扩展

项目地址https://github.com/BlazorComponent/MASA.Blazor/tree/feature/Maui/src/Masa.Blazor.Maui.Plugin

每个功能都有单独的demo演示项目,考虑到app安装文件体积(虽然MAUI已经集成裁剪功能,但是该功能对于代码本身有影响),届时每一个功能都会以单独的nuget包的形式提供,方便测试,现在项目才刚刚开始,但是相信很快就会有可以交付的内容啦。

前言

本系列文章面向移动开发小白,从零开始进行平台相关功能开发,演示如何参考平台的官方文档使用MAUI技术来开发相应功能。

介绍

Jetpack 包含一系列 Android 库,它们都采用最佳做法并在 Android 应用中提供向后兼容性。

https://developer.android.google.cn/jetpack?hl=zh-cn

上一篇我们是通过Intent实现的,今天我们用Jetpack 实现相册的多选功能。

一、实现方式

可以使用以下 activity 结果协定来启动照片选择器:
PickVisualMedia,用于选择单张图片或单个视频。
PickMultipleVisualMedia,用于选择多张图片或多个视频。
我们的需求是可以多选照片,我们主要介绍PickMultipleVisualMedia的使用方法。
我们先看一下JAVA的示例代码

JAVA代码
// Registering Photo Picker activity launcher with multiple selects (5 max in this example)
ActivityResultLauncher<PickVisualMediaRequest> pickMultipleMedia =
        registerForActivityResult(new PickMultipleVisualMedia(5), uris -> {
   
    // Callback is invoked after the user selects media items or closes the
    // photo picker.
    if (!uris.isEmpty()) {
   
        Log.d("PhotoPicker", "Number of items selected: " + uris.size());
    } else {
   
        Log.d("PhotoPicker", "No media selected");
    }
});

// For this example, launch the photo picker and allow the user to choose images
// and videos. If you want the user to select a specific type of media file,
// use the overloaded versions of launch(), as shown in the section about how
// to select a single media item.
pickMultipleMedia.launch(new PickVisualMediaRequest.Builder()
        .setMediaType(PickVisualMedia.ImageAndVideo.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值