小编Ram*_*u S的帖子

如何获取 Firebase Cloud Firestore 中存在/不存在特定字段的文档?

在 Firebase Cloud Firestore 中,我在集合中有“user_goals”,目标可能是预定义的目标(master_id:“XXXX”)或自定义目标(没有“master_id”键)

在 JavaScript 中,我需要编写两个函数,一个获取所有预定义目标,另一个获取所有自定义目标。

我有一些解决方法来通过将“master_id”设置为“”空字符串来获得自定义目标,并能够获得如下:

db.collection('user_goals')
    .where('challenge_id', '==', '')  // workaround works
    .get()
Run Code Online (Sandbox Code Playgroud)

这仍然不是正确的方法,我继续将其用于预定义的目标,其中它具有“master_id”,如下所示

db.collection('user_goals')
    .where('challenge_id', '<', '')  // this workaround
    .where('challenge_id', '>', '')  // is not working
    .get()
Run Code Online (Sandbox Code Playgroud)

由于 Firestore 没有 "!=" 运算符,我需要使用 "<" 和 ">" 运算符,但仍然没有成功。

问题:忽略这些变通方法,通过检查特定字段是否存在来获取文档的首选方法是什么?

javascript firebase google-cloud-firestore

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

如何在 react-router goBack 方法(如 push 和 replace 方法)中发送自定义数据?

我使用的反应路由器-DOM V4和能够自定义数据发送给使用新的屏幕push(path, state)replace(path, state)方法“props.history.location”

我要发送的数据恢复到先前的屏幕,但使用不能达到go(n)goBack()goForward()

当我需要将数据发送回上一个屏幕时,如何解决这种情况?

reactjs react-router-v4 react-router-dom

11
推荐指数
1
解决办法
3380
查看次数

Picasso 缓存机制如何响应 Cache-Control 属性和图像大小?

我正在尝试在 Android 中使用 Picasso 加载更大尺寸的图像(以数百 KB 为单位)。但似乎图像每次都从互联网加载,并且无法从磁盘缓存加载(或检索)(如果在主内存中不可用)。

我认为这可能是由于以下问题。

  • 图像大小很大(100KB-300KB)。
  • Cache-Control 属性未在 HTTP 响应头中定义。

所以我的问题是

  1. 磁盘缓存中的图像大小是否有任何限制?如果图像尺寸很大,毕加索缓存机制如何在这种情况下工作?
  2. 是否必须在响应头中设置 Cache-Control 属性?毕加索如何考虑缓存机制?

如果此机制背后还有其他原因,请解释。

performance android caching memory-management picasso

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

如何在不影响Android边框的情况下仅更改ProgressDialog的背景颜色?

我使用以下代码更改Progress Dialog的背景.但是外框的颜色也如下所示.我想只在对话框内进行更改.

<style name="StyledDialog" parent="@android:style/Theme.Panel">
    <item name="android:background">#083044</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

根据此问题给出的答案更改ProgressDialog的背景

<style name="StyledDialog" parent="@android:style/Theme.Dialog">
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    <item name="android:textColorPrimary">#000000</item>
</style>
<style name="CustomAlertDialogStyle">
    <item name="android:bottomBright">@color/background</item>
    <item name="android:bottomDark">@color/background</item>
    <item name="android:bottomMedium">@color/background</item>
    <item name="android:centerBright">@color/background</item>
    <item name="android:centerDark">@color/background</item>
    <item name="android:centerMedium">@color/background</item>
    <item name="android:fullBright">@color/background</item>
    <item name="android:fullDark">@color/background</item>
    <item name="android:topBright">@color/background</item>
    <item name="android:topDark">@color/background</item>
</style>
Run Code Online (Sandbox Code Playgroud)

此代码提供完美的背景颜色.但是,因为对话颜色和活动的背景颜色是相同的.它看起来像透明,没有边框.我和以前一样想要一些边框.

在此输入图像描述

android android-fragments

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

如何在PhoneGap移动应用程序中获取IMEI号码,SIM号码,手机号码?

我需要在Phonegap构建用于Android的HTML移动Web应用程序中获取IMEI号码,手机号码,SIM号码

jquery android jquery-mobile cordova

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