小编Ant*_*ony的帖子

Firebase如何与共享数据同步?

我使用Firebase来处理Android应用的Auth主题.我还在Firebase上保存了一个用户配置文件,其中包含用户ID和用户可以在Android应用中更新的额外选项.

启动时,应用程序会检查身份验证和身份验证.它重新加载用户配置文件(在Firebase上),然后在应用程序上更新我的userInstance.

Firebase在应用级别设置为离线功能.userInstance POJO在日志时与Firebase同步,并在unlog时停止同步.

我有一个特殊的参数,在我的用户配置文件中,我可以更改(作为管理员).

每次我在Firebase控制台上更新它时,它会在应用程序重新启动时替换为之前的值.

怎么会发生这种情况?

BTW:1 /如果多个客户端有不同的本地值,基于合并数据的机制?

这是更简单的代码,我试图重现错误.:

MyApplication.java

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Firebase.setAndroidContext(this);
        Firebase.getDefaultConfig().setLogLevel(Logger.Level.DEBUG);
        Firebase.getDefaultConfig().setPersistenceEnabled(true);


    }
}
Run Code Online (Sandbox Code Playgroud)

主要活动

public class MainActivity extends AppCompatActivity {

    Firebase ref;
    User user;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ref = new Firebase("https://millezim-test.firebaseIO.com").child("user");
        ref.keepSynced(true);

        Button br = (Button) findViewById(R.id.b_read);
        Button bs = (Button) findViewById(R.id.b_save);
        final TextView tv_r = (TextView) findViewById(R.id.tv_value_toread);
        final EditText tv_s = (EditText) findViewById(R.id.tv_value_tosave);

        user = new User();

        bs.setOnClickListener(new View.OnClickListener() …
Run Code Online (Sandbox Code Playgroud)

java database android synchronization firebase

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

Proguard 可以保存到 multidex 应用程序吗?

我有一个包含几个库的应用程序,达到了 65536 方法计数的红线。

  1. 我实现了将应用程序设置为multidexAPK。
  2. 对于大小优化,我决定使用 Proguard,因为我只使用了Guava和的一些功能common.java.lang,而这些库带来了他们的整个家庭。
  3. 在 Proguard 工作之后,我的应用程序 ref ~ 45 Kmethods
  4. 我经常读到 multidex 应用程序可能会不时崩溃
  5. 而且由于第二个 dex 运行时加载,这需要时间。

4和5是真的吗?

然后我只是尝试不使用mutidex,因为我的结束方法计数是 < 56Kmethods with prodGuard,但它失败了,好像它有更多!

为此,我只是将 gradle 参数设置multiDexEnabled为 false

还有什么要检查/做的吗?

这是我的 Gradle 的一部分:

android {
    compileSdkVersion ANDROID_BUILD_SDK_VERSION
    buildToolsVersion ANDROID_BUILD_TOOLS_VERSION

    defaultConfig {
        applicationId "XXXX"
        targetSdkVersion ANDROID_BUILD_TARGET_SDK_VERSION
        minSdkVersion ANDROID_BUILD_MIN_SDK_VERSION
        versionCode ANDROID_BUILD_VERSION_CODE
        versionName ANDROID_BUILD_APP_VERSION_NAME
        // Enabling multidex support.
        multiDexEnabled false
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            debuggable false
            ext.enableCrashlytics = true
            renderscriptOptimLevel …
Run Code Online (Sandbox Code Playgroud)

android proguard android-gradle-plugin android-multidex android-proguard

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

Node&Passport:登录后保持在同一页面

使用Passport和Express,我成功处理用户会话.因为我有一些页面,不需要记录查看,用户可以登录很多页面.

我应该如何处理passport.authenticate重定向当前页面,增加用户数据.

app.post('/login',
  passport.authenticate('local', { successRedirect: '/',
                                   failureRedirect: '/login',
                                   failureFlash: true })
);
Run Code Online (Sandbox Code Playgroud)

也许是一个自定义回调res.send(req.user).由于我完全不熟悉,我只是就此提出建议.

authentication node.js passport.js

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

如何反转 FirebaseUI-Android 获取的数据?

我尝试使用 FirebaseUI-Android 库来简单地在回收器视图中显示数据集。

由于 Push() 方法,数据存储在 Firebase 中的列表中。

当我获取数据时,我先获取最旧的数据,而我的要求是最年轻的先。所以我需要一个相反的顺序。

  1. 有没有办法用 FirebaseUI 本身来做到这一点?

  2. 对于 Firebase Core,似乎只有 2 种可能的方法是(按降序显示帖子):

    • 获取所有数据,并在运行时恢复它们(强制),感谢 @Kato 片段
    • 在写入时为列表中推送的每个项目设置递减的优先级。这要求我们在数据拉取创建启动时知道每个(今天和明天)的订购使用情况。但事实往往并非如此。是否有其他(旧的或新的)选项来完成这个简单的主要框架工作?

java android firebase firebaseui

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

如何将特定的库github提交库集成到Android项目中?

如何使用github上的android库的特定版本(拉取请求,或只是特定的提交)?

android github gradle

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