我想隐藏一些活动的标题栏.问题是我将一个样式应用于我的所有活动,因此我不能简单地将主题设置为@android:style/Theme.NoTitleBar.
使用NoTitleBar主题作为我的样式的父级将从我的所有活动中删除标题栏.
我可以在某处设置无标题样式项吗?
如何阻止其他用户通过Firebase网址访问我的Firebase数据库?我该怎么做才能将其保护到我的域名?
我用过如何使用DrawerLayout显示ActionBar/Toolbar和状态栏? 回答Suyash(我还添加了一个工具栏,可能不正确)将导航抽屉放在"操作栏"上.
对于API级别21而不是"操作栏"我使用了工具栏,它工作正常.
但对于API 19,这不起作用:
if(Build.VERSION.SDK_INT > 19) {
final Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
}
Run Code Online (Sandbox Code Playgroud)
您是否知道如何将NavigationDrawer放在API级别19的"操作栏"(或工具栏)上?
我已经进行了广泛的搜索,但找不到类似的问题。
我想知道是否有任何方法可以检测移动设备的屏幕亮度何时发生变化。
我已经尝试在应用程序启动时存储旧值并反复检查Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS);用于比较屏幕亮度的初始值和最终值,这不是一个好的方法。
谢谢
编辑:这个问题表明我已经尝试过使用Settings.System.SCREEN_BRIGHTNESS获取当前屏幕值并定期检查屏幕亮度变化的解决方案。我正在寻找一种更有效的方法来进行这样的操作。
我正在开发一个用于清洁服务的应用程序。在此应用程序中,员工(清洁工)可以读取由多个客户(用户)完成的作业(预订)列表。
所有清洁工都可以在“用户”节点中读取所有预订。最初,当用户将预订保存在数据库中时,该键claimed:的值为 “false”,这意味着清洁工尚未声明该键。
每当清洁工想要索取列表中存在的工作时,他将必须触摸按钮,该按钮将向Firebase数据库发出请求以将key的值修改claimed为trueat路径。 /Users/UID/bookings/bookingNumber
一次只能允许一名清洁工修改claimed钥匙的价值。如果允许多个清理者修改claimed密钥的值,其他清理者最终将要求相同的工作。我们不希望这种情况发生。
此外,在清理者将claimedkey 的值修改为之后true,我们将需要再次请求路径CLeaners/UID/bookings/bookingNumber以保存他刚刚在清理者节点中声明的预订。
-根据firebase的文档,每当我们希望一次仅由一个请求修改一个资源时,就会使用事务,如果有多个并发请求试图写入同一资源,则其中一个会成功。但是使用事务的问题在于,它只能写入一条路径,而不能写入多条路径。
如何确保即使有多个用户可以读取此路径 /Users/UID/bookings/bookingNumber,一次也只能更新一个用户?如果写入成功,则进一步写入第二条路径 Cleaners/UID/bookings/bookingNumber。
我们需要考虑到客户端的互联网连接可能断开,用户可以退出该应用程序,或者只是手机在写入上述指定路径之间的任何时间意外关闭。
数据库结构如下
Root
Cleaners
UID
bookings
bookingNumber
amount: “10”
claimed: “true”
Users
UID
otherID
bookingNumber
amount: “10”
claimed: “true”
bookingNumber
amount: “50”
claimed: “false”
Run Code Online (Sandbox Code Playgroud)
为了避免任何覆盖,我决定使用Firebase事务。我可以将单个节点作为事务写入,但是在完成处理程序中写入第二个节点不是解决方案,因为在从服务器接收响应之前,清洁程序的Internet连接可能会断开,或者应用程序可能会退出,因此,完成处理程序{(error, committed,snapshot) in....将不会被评估,并且第二次写入将不会成功。
另一种情况是:执行第一次写操作,
1.在客户端应用程序中收到响应
2. 在客户端应用程序中尚未收到响应
,用户立即退出该应用程序。在这种情况下,将永远不会执行第二次写操作,因为在完成处理程序中收到(或未收到)响应后,尚未评估任何代码,因此数据库处于不一致状态。
从Firebase文档:
事务不会在应用程序重启后持续存在
即使启用了持久性,事务也不会在应用程序重启后持久化。因此,您不能依赖脱机完成的事务提交到Firebase实时数据库。
是否可以使用Swift中的Firebase事务写入Firebase数据库中的多个节点?
如果是这样,我该怎么做?我在此博客中没有看到来自Google https://firebase.googleblog.com/2015/09/introducing-multi-location-updates-and_86.html的示例 。我确实知道您可以原子地写多个节点,但是我想作为事务来写。我试图在else …