小编And*_*rea的帖子

NWPathMonitor 在 Swift 中调用不满意

NWPathMonitor用来检测互联网连接何时打开和关闭。当两种状态都发生时,该方法被调用,但是当互联网连接打开时,被调用的状态仍然是.unsatisfied而不是.satisfied。这是我正在使用的类:

import Network

protocol NetworkCheckDelegate {
    func statusDidChange(status: NWPath.Status)
}

class NetworkCheck {

    private var monitor = NWPathMonitor()

    private static let _sharedInstance = NetworkCheck()

    var networkCheckDelegate: NetworkCheckDelegate?

    class func sharedInstance() -> NetworkCheck {
        return _sharedInstance
    }

    // Create only one instance of NetworkCheck
    private init() {
        monitor.pathUpdateHandler = { path in
            DispatchQueue.main.async(execute: {
                self.networkCheckDelegate?.statusDidChange(status: path.status)
            })
        }
        monitor.start(queue: DispatchQueue.global(qos: .background))
    }

    func removeMonitoring() {
        monitor.cancel()
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么.unsatisfied在这两种情况下都调用互联网连接

networking detection ios swift

17
推荐指数
1
解决办法
2053
查看次数

在Android中更改跨度内的文本时删除跨度

让我说我这样发表评论:嗨Andrea检查出来......在那个评论中我想强调Andrea,但每当我改变Andrea的值或者当我删除单词的一个字符时,span会改变,问题是我正在使用spannableString.setSpan(new StyleSpan(Typeface.BOLD), indexOfAt, highlightName.length() + indexOfAt, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE),它Spanned.SPAN_EXCLUSIVE_EXCLUSIVE接受中间的单词和删除单词,如何在用户更改单词或删除单词的字符时删除跨度?

html java android

10
推荐指数
1
解决办法
2168
查看次数

Firebase limitToLast查询

我的问题可能是一个愚蠢的问题,我已经阅读了文档,但没有解决我的问题.当我使用limitToLast获取最后15条消息时(比如5-20),如果我删除第20条消息,则childListener会返回这样的消息(5-6-7-8-9-10-11-12- 13-14-15-16-17-18-19-4)...你可以看到最后一项是4号.代码是这样的:
messagesListener = FBMessagesRef.limitToLast(15).addChildEventListener(new ChildEventListener(),我该如何解决它而没有得到第4项

android listener firebase firebase-realtime-database

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

Kotlin 命名构造函数

我在Dart编程语言中有以下代码

class HttpResponse {
  final int code;
  final String? error;

  HttpResponse.ok() : code = 200; <== This functionality 
  HttpResponse.notFound()         <== This functionality
      : code = 404,
        error = 'Not found';

  String toString() {
    if (code == 200) return 'OK';
    return 'ERROR $code ${error.toUpperCase()}';
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Kotlin中实现这一点,我知道我可以使用静态方法,但是静态方法没有初始化类的目的,有没有办法在Kotlin中实现这一点?

android kotlin

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

Firebase如何生成Uid?

我的问题是Firebase如何生成Uid?它是通过手机上的应用程序安装生成的,还是基于登录提供商通过电子邮件,Facebook,Google或Firebase提供的其他服务器?

firebase firebase-authentication

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

如何将 Firebase 与 Wix 连接

我正在使用的代码如下:

import firebase from "firebase"
import firestore from "firestore"

export function base() {
    // Initialize Firebase
    var config = {
        apiKey: "apiExample",
        authDomain: "authDomaninExample",
        databaseURL: "databaseUrlExample",
        projectId: "projectIdExample",
        storageBucket: "storageBucketExample",
        messagingSenderId: "000000000"
    };
    firebase.initializeApp(config)

    var db = firebase.firestore(); // This line breaks the code

    db.settings({ timestampsInSnapshots: true })

    db.collection("Users")
        .add({
            test: "Test"
        }).then(function (docRef) {
            console.log("Document written")
        }).catch(function (error) {
            console.log("Error is: " + error)
        });
}
Run Code Online (Sandbox Code Playgroud)

通过单击按钮来调用 base() 函数,但是代码不起作用,并且不显示控制台日志。

PS:我按照Wix页面成功安装了Firebase和Firestore节点包

我得到的错误如下:

TypeError: firebase.database is not a function
Run Code Online (Sandbox Code Playgroud)

有效的解决方案如下:

<script …
Run Code Online (Sandbox Code Playgroud)

javascript firebase velo

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

WorkManager OneTimeWorkRequest 不起作用

我有WorkManager它用于通过网络发送数据,但是由于某些奇怪的原因CoroutineWorker'sdoWork没有被调用。这是我的代码:

 val data = workDataOf(Constants.TAG to "newValue")

        val request =
            OneTimeWorkRequestBuilder<CustomWorker>()
                .addTag(Constants.TAG)
                // Sets the input data for the Worker
                .setInputData(data)

                .setInitialDelay(60, TimeUnit.SECONDS)
                // Set a backoff criteria to be used when retrying
                .setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 30000, TimeUnit.MILLISECONDS)
                .build()

        // Enqueue the request instance
        WorkManager.getInstance(this)
            .beginUniqueWork(Constants.TAG, ExistingWorkPolicy.REPLACE, request)
            .enqueue()
Run Code Online (Sandbox Code Playgroud)

这是初始化 WorkManager 的代码,其代码CoroutineWorker是这样的:

class CustomWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) {

    override suspend fun doWork(): Result = coroutineScope {
        Log.d("PLEASE", "doWork called!")

        // Get …
Run Code Online (Sandbox Code Playgroud)

android background coroutine androidx

5
推荐指数
0
解决办法
918
查看次数

Firebase 存储签名不匹配

我读过很多类似的错误,但是,我找到的解决方案对我不起作用。我在更改个人资料图片时遇到问题,将图像加载到 Google Chrome 时出现以下错误。错误如下:The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method

我在服务器中使用的代码如下:

const admin = require('firebase-admin');
admin.initializeApp();


const config = {
                action: 'read',
                expires: '03-01-2030'
            };

thumbFile.getSignedUrl(config)
Run Code Online (Sandbox Code Playgroud)

这是我通过服务器端获取signedUrl() 的代码。为什么我的网址在一周左右后就失效了?

我读过以下答案,老实说我很担心:“Google Cloud Storage 签名 URL 的最长持续时间是 7 天。但它也可以更短。永远不会更长。我猜 Firebase Storage 也有相同的限制”

javascript google-cloud-storage firebase firebase-storage

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

ios Firebase 动态链接无法打开已安装的应用

我已经查看了有关此主题的其他先前问题,但我还没有找到解决我的问题的方法。我已经关注了 iOS 上的 Firebase 动态链接入门,但是如果我点击通用链接进行测试https://appName.page.link,我会收到以下消息:

Invalid Dynamic Link
    Requested URL (https://appName.page.link/) must be a parsable and complete DynamicLink.
    If you are the developer of this app, ensure that your Dynamic Links domain is correctly configured and that the path component of this URL is valid
Run Code Online (Sandbox Code Playgroud)

上一条消息让我认为 Firebase 创建的创建页面尚未创建,但是当我访问该页面时: https://appName.page.link/apple-app-site-association,我得到以下数据:

{"applinks":{"apps":[],"details":[{"appID":"TeamID.com.example.appName","paths":["NOT /_/*","/*"]}]}}
Run Code Online (Sandbox Code Playgroud)

这意味着该页面已成功创建。我已验证 TeamID 已在 Firebase 设置中正确设置,并且 TeamID 与 XCode 和 Apple 开发者帐户中的 TeamID 相同。在 Xcode 中设置的 URLSchemes 是,com.example.appName并且在关联域中的签名和功能中有域:applinks:appName.page.link

有什么我需要配置的吗?

dynamic hyperlink ios firebase swift

5
推荐指数
2
解决办法
2530
查看次数

聊天应用中的分页库

根据谷歌的 Yigit Boyar 的回应,Live Data 不是聊天应用程序的最佳用例,因为如果它们同时出现,它可能会丢失显示某些项目。他建议使用新的 Google 分页库。我一直在将 ItemKeyedDataSource 用于我的收件箱(所有向用户发送消息的人)和内部聊天(消息本身)。问题如下:

1- 从聊天中,当用户向下滚动时,用户检索旧消息,这意味着这些消息的插入应该在适配器的位置 0,而不是像分页库那样按顺序插入。如何将插入项目的位置依次交替用于新消息和位置 0 用于旧消息?

2-从收件箱(向用户发送消息的人),我再次在这里使用 ItemKeyedDataSource,问题是我想维护存储库中的多文档侦听器(我使用的是 Firebase Firestore),所以我可以检测每次有新人与用户交谈时。问题是callback.onResult它只被调用一次,并且在 Firebase 发送另一个用户时失败。如何维护可更新列表?

pagination android firebase google-cloud-firestore android-paging

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