我使用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) 我有一个包含几个库的应用程序,达到了 65536 方法计数的红线。
multidexAPK。Guava和的一些功能common.java.lang,而这些库带来了他们的整个家庭。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
使用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).由于我完全不熟悉,我只是就此提出建议.
我尝试使用 FirebaseUI-Android 库来简单地在回收器视图中显示数据集。
由于 Push() 方法,数据存储在 Firebase 中的列表中。
当我获取数据时,我先获取最旧的数据,而我的要求是最年轻的先。所以我需要一个相反的顺序。
有没有办法用 FirebaseUI 本身来做到这一点?
对于 Firebase Core,似乎只有 2 种可能的方法是(按降序显示帖子):
如何使用github上的android库的特定版本(拉取请求,或只是特定的提交)?
android ×4
firebase ×2
java ×2
database ×1
firebaseui ×1
github ×1
gradle ×1
node.js ×1
passport.js ×1
proguard ×1