小编gul*_*tel的帖子

如果房间数据库中发生更改,Kotlin Flow 每次都会发出新数据吗?

假设这是示例代码

实时数据查询

Query("SELECT IFNULL(COUNT(id),0) FROM Item WHERE status = :status")
fun getLiveData(status: Int): LiveData<Int>
Run Code Online (Sandbox Code Playgroud)

Kotlin 流查询

@Query("SELECT IFNULL(COUNT(id),0) FROM Item WHERE status = :status")
fun getFlowData(status: Int): Flow<Int>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如果房间数据库中发生任何变化,Flow 会获取新数据吗?

android android-room android-livedata kotlin-flow

6
推荐指数
1
解决办法
2880
查看次数

如何在 Android API LEVEL28 使用 Android SAF(存储访问框架)之后将文档文件保存在外部存储中

此代码适用于媒体文件我想要文档文件的解决方案

我不知道如何为文档文件添加 contentValues

fun getFile(fileName: String): File? {
    with(sharePrefHelper.app){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            val values = ContentValues()
            // Here is My Question That what should i Do Here Because this is for document not for image
            values.put(MediaStore.Images.Media.DISPLAY_NAME, fileName)
            // for MIME_TYPE "image/jpg" this is working
            values.put(MediaStore.Images.Media.MIME_TYPE, "text/csv")
            values.put(MediaStore.MediaColumns.RELATIVE_PATH, "DCIM/Donny")
            contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)?.let {
                it.path?.let { finalPath ->
                    return File(finalPath)
                }
            }
        } else {
            val directory: File = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM + "/Donny")
            if (!directory.exists()){
                directory.mkdirs()
            }
            return File(directory, fileName)
        }
        return …
Run Code Online (Sandbox Code Playgroud)

android android-storage

5
推荐指数
1
解决办法
2825
查看次数

firebase 停止响应并丢失所有数据,没有任何错误或问题

在此处输入图片说明

我丢失了我的 Firebase 实时数据库中的所有数据。这在最后一天正常工作。突然这停止工作并丢失了我的所有用户数据。即使现在我也无法添加新数据。在过去的 30 多天里,我没有在 Firebase 或应用程序中做任何事情。这在最后一天正常工作。有人对firebase有同样的问题吗?如果是,那么你是如何得到解决方案的?而且我什至无法更改 firebase 的规则。只显示我再试一次对话框

firebase firebase-realtime-database

4
推荐指数
1
解决办法
658
查看次数

如何从 Api 级别 30 中的 imageUri 获取位图?

我在旧版本中使用 getBitmap 方法,但我无法从 Uri 中找到 getBitmap 的任何替代方法。

        try {
            bitmap = MediaStore.Images.Media.getBitmap(contentResolver, imageUri);
        } catch (IOException e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

现在我从 android 指南中找到了另一种方法,但这仍然不起作用。我不知道如何在工作线程中执行此方法。Guide 说这个方法应该在工作线程中运行。任何人都可以帮助我如何做到这一点?

        try {
            bitmap = ImageDecoder.decodeBitmap(ImageDecoder.createSource(contentResolver, imageUri));
        } catch (IOException e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

我创建了一个简单的类来从 imageUri 获取位图。这里是。

public class BitmapResolver {


    @SuppressWarnings("deprecation")
    private static Bitmap getBitmapLegacy(@NonNull ContentResolver contentResolver, @NonNull Uri fileUri){
        Bitmap bitmap = null;

        try {
            bitmap = MediaStore.Images.Media.getBitmap(contentResolver, fileUri);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return bitmap;
    }

    @TargetApi(Build.VERSION_CODES.P)
    private static Bitmap getBitmapImageDecoder(@NonNull ContentResolver …
Run Code Online (Sandbox Code Playgroud)

android bitmap

2
推荐指数
1
解决办法
860
查看次数