保姆式RecyclerView下拉刷新、上拉加载更多Kotlin

本文详细介绍了使用Kotlin在Android中实现RecyclerView的下拉刷新和上拉加载更多功能,包括Glide框架加载网络图片、保存图片至相册、更新图库以及分享到微信的步骤。同时,讨论了Android不同版本下图片存储的策略,并提供了相关代码说明和补充工具类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络图片加载显示、保存、更新到图库、分享到微信

开发步骤

思路步骤

安卓10以上:下载图片到私有空间(沙盒),从私有空间复制到公共空间,然后通知相册更新
直接定义好下载的图片路径
通过glide框架下载图片
把下载的图片从沙盒文件中,复制到手机的Pictures公共目录中
相册才可以访问到
安卓10以下:需要文件存储权限,直接存储到相册路径中
先申明文件存储权限
然后定义好图片路径
通过glide框架下载图片
下载完毕后直接通知相册更新即可

代码说明

1、清单文件授权


<uses-permission android:name="android.permission.INTERNET" /><!--联网-->

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!--读-->

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--写-->

2、Glide加载图片

submit()方法必须在子线程中使用,只会下载图片,不会展示图片
get( ),获取下载到的图片路径
asBitmap(指定为bitmap格式),asFile(指定为File格式)

 bitmap = Glide.with(context).asBitmap().load(url).submit().get()

 Glide.with(context).load(imageUrl).placeholder(imagePlace).into(this)

3、保存到相册

loadImage(context, imageUrl)//保存到相册

4、分享到微信

UmengShareLib.shareNetPic(context, imageUrl)

5、xml中直接引用url加载

<ImageView

           android:id="@+id/iv_picture"

           imageUrl="@{url}"

           android:layout_width="162dp"

           android:layout_height="158dp"

           android:layout_gravity="center"

           android:layout_marginLeft="65dp"

           android:layout_marginRight="65dp"

           android:scaleType="centerInside" />

补充工具类


/**
 * 获取路径
 */
fun getFilePath(): File {
   
    //版本适配
    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
   
        //定义路径
        File(InitApp.initApp.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)?.absolutePath + "/" + System.currentTimeMillis() + ".png")
    } else {
   
        File(
            Environment.getExternalStorageDirectory()
                .toString() + "/Pictures/sci99" + "/" + System.currentTimeMillis() + ".png"
        )
    }
}

/**
 * 加载图片
 */
fun loadImage(context: Context, url: String,filePath: File?=null) {
   
    var file= filePath ?: getFilePath()
    val downloadImage = ImageDownload(
        url,
        context,
        0,
        0,
        file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值