小编Dex*_*ter的帖子

清单合并失败:属性application @ appComponentFactory-Androidx

androidx我一起构建Gradle时,出现以下错误。请帮我解决这个问题。

错误消息:清单合并失败:来自[com.android.support:support-compat:28.0.0]的属性application @ appComponentFactory value =(android.support.v4.app.CoreComponentFactory)是AndroidManifest.xml:22:18-91也出现在[androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value =(androidx.core.app.CoreComponentFactory)。

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.kanwarpreet.dealmybook">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".activities.SplashActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".activities.LoginActivity" />
        <activity android:name=".activities.RegisterActivity" />
        <activity
            android:name=".activities.HomeActivity"
            android:label="@string/title_activity_home"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name=".activities.BookDetailsActivity"
            android:label="@string/title_activity_book_details"
            android:theme="@style/AppTheme.NoActionBar"/>
        <activity android:name=".activities.AddBookActivity" />
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

Build.Gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.kanwarpreet.dealmybook"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" …
Run Code Online (Sandbox Code Playgroud)

android android-manifest androidx

14
推荐指数
4
解决办法
2万
查看次数

在CouchDB中建模文档层次结构的最佳方法

我正在尝试在CouchDB中对文档进行建模以在我的系统中使用,这在概念上类似于博客.每篇博文都属于至少一个类别,每个类别可以有很多帖子.分类是分层的,这意味着如果一个专属于中CatB层次结构中的" CATA - > 中CatB "("中CatB在CATA)",它也属于CATA.

用户必须能够快速查找某个类别(及其所有子级)中的所有帖子.

解决方案1 post类型的每个文档都包含一个"category"数组,表示它在层次结构中的位置(参见2).

{
   "_id": "8e7a440862347a22f4a1b2ca7f000e83",
   "type": "post",
   "author": "dexter",
   "title": "Hello",
   "category":["OO","Programming","C++"]
}
Run Code Online (Sandbox Code Playgroud)

解决方案2 post类型的每个文档都包含表示层次结构中路径的"category"字符串(参见4).

{
   "_id": "8e7a440862347a22f4a1b2ca7f000e83",
   "type": "post",
   "author": "dexter",
   "title": "Hello",
   "category": "OO/Programming/C++"
}
Run Code Online (Sandbox Code Playgroud)

解决方案3 post类型的每个文档都包含其父类"category"id,表示其在层次结构中的路径(参见3).通过链接的"类别"文档类型构建分层类别结构.

{
   "_id": "8e7a440862347a22f4a1b2ca7f000e83",
   "type": "post",
   "author": "dexter",
   "title": "Hello",
   "category_id": "3"
}

{
   "_id": "1",
   "type": "category",
   "name": "OO"
}


{
   "_id": "2",
   "type": "category",
   "name": "Programming",
   "parent": "1"
}


{
   "_id": …
Run Code Online (Sandbox Code Playgroud)

couchdb hierarchical-data

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

通过我的REST API和Facebook进行用户身份验证

我对如何使用我的REST API正确和安全地验证用户感到困惑,并提供了使用其他OAuth 2.0提供程序进行身份验证的选项(例如Facebook,Google等).

脚本

用户与应该使用我的REST API的Web应用程序进行交互.用户应该能够使用用户名/密码和使用Facebook等第三方服务登录和执行CRUD操作.我将使用SSL来加密网站和API的流量.

在没有考虑第三方登录服务的情况下,通过研究SO上已经提到的各种问题,我想到了如图所示处理用户身份验证.

验证序列

技术和当前的想法

REST API是使用NodeJS和Express编写的.通过另一个NodeJS实例提供的WebApp主要是AngularJS,其模板使用REST API.

我目前的想法是让WebApp处理登录序列,并让Facebook使用回调将其令牌保存在我的数据库中.但是这个解决方案闻起来太多了!

问题

  1. 图像中描述的验证序列是否正确?
  2. 如何将上述身份验证序列与OAuth2.0中的资源所有者密码凭据流进行比较?是否值得使用OAuth2.0而不是它?
  3. 如何通过第三方(即Facebook)整合登录?有什么建议或(更好)的例子吗?

参考

passport.js RESTful auth

使用facebook登录并使用oauth 2.0进行REST api调用的身份验证

还有很多其他人在这里:)

authentication rest node.js oauth-2.0 passport.js

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

使用 CouchDB 使用地理空间和非地理空间键查看

我正在使用 CouchDB 和 GeoCouch,我试图了解是否可以通过使用位置和来自另一个字段的值来构建地理空间索引和“查询”数据库。

数据

{
   "_id": "1",
   "profession": "medic",
   "location": [15.12, 30.22]
}

{
   "_id": "2",
   "profession": "secretary",
   "location": [15.12, 30.22]
}

{
   "_id": "3",
   "profession": "clown",
   "location": [27.12, 2.2]
}
Run Code Online (Sandbox Code Playgroud)

问题

有什么方法可以对这些文档执行以下查询:

  • 查找job = "medic"位置接近 [15.12, 30.22] 的所有文档(更重要)
  • 列出该位置附近的所有不同职业 [15.12, 30.22] (加分)

如果这是不可能的,我有什么选择?我已经在考虑切换到 MongoDB,但我更愿意以不同的方式解决。

笔记

  • 数据变化很快,可能会添加新文档,也可能会删除许多文档

参考

使用 CouchDB 使用地理索引进行分面搜索

couchdb spatial-query

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

关闭浏览器时,移动浏览器不会触发`beforeunload`/`onload`

我的工作约3个月的手机浏览器,现在我有一个无聊的问题beforeunloadonload。在两种情况下,它们不能清楚地工作。当我关闭选项卡时,浏览器经常调用它们。但是当用户通过一些例行程序关闭浏览器时,为什么它根本不触发这些事件?问题是什么?

javascript firefox google-chrome web-frontend

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

Redis 中的分层发布/订阅以及 Faye 和推送通知

我一直在为我正在构建的系统使用 Redis 和 Faye。我仍然不确定它们是否是我特定应用的最佳选择。

我的目标

每个用户都可以向频道/主题发布消息并从他订阅的主题接收消息。主题必须具有层次结构(即主题“B”是主题“A”的子主题,因此我们在主题之间具有“A->B”关系)。如果用户订阅了一个子主题,他只会收到来自该主题的消息(他订阅了“A->B”中的“B”,并且只收到“B”中的消息)。如果用户订阅了一个主主题,他会收到来自子主题的所有消息(他订阅了“A”并接收“B”和“A”的其他子主题的消息)。

用户应使用推送通知(Android/Apple)在其移动设备上接收通知。

我试图做的

我试图通过向层次结构的所有通道发布消息来模拟层次结构。假设我们有这样的层次结构:“A->B->C”“A->B->D”,所以 B 有两个子主题。

发布到 C 意味着,对于发布者来说,将消息发送到通道“A”、“B”和“C”。发布到 D 意味着,对于发布者来说,将消息发送到通道“A”、“B”和“D”。

问题

使用 Redis 支持的 Faye 或仅使用 Redis 有没有更好的方法来做到这一点?如果这是最好的方法,它如何随着发布者/订阅者和主题数量的增加而扩展?如何通过移动推送API实现流更新?

publish-subscribe redis faye

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