小编Nei*_*eil的帖子

Firebase:如何让Android用户登录?

我正在使用Firebase SimpleLogin来启用电子邮件/密码身份验证.创建用户和后续登录都可以正常工作.但是,每当我离开应用程序时(即使只持续几秒钟),用户从未在我的返回时登录,即...

authClient.checkAuthStatus(new SimpleLoginAuthenticatedHandler())...
Run Code Online (Sandbox Code Playgroud)

始终返回null用户.

我没有通过API注销用户.此外,我还在Firebase控制台中将用户登录的天数设置为21.

我已经看到在JS文档中提到了一个记住我的参数,但是我看不到Android/Java的任何等价物.

想知道我是否遗漏了文档中的任何内容,或者Android是不可能的?

谢谢你的帮助,

尼尔.

编辑:添加代码示例.

用户创建....

public void registerUserForChat(final MyApplication application, String email, String password) {
    Firebase ref = new Firebase(FIREBASE_URL);
    SimpleLogin authClient = new SimpleLogin(ref);
    authClient.createUser(email, password, new SimpleLoginAuthenticatedHandler() {
        @Override
        public void authenticated(com.firebase.simplelogin.enums.Error error, User user) {
            if(error != null) {
                Log.e(TAG, "Error attempting to create new Firebase User: " + error);
            }
            else {
                Log.d(TAG, "User successfully registered for Firebase");
                application.setLoggedIntoChat(true);
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

用户登录....

public void loginUserForChat(final MyApplication application, …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-security

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

Android - 从Fragments动画ActionBar图标的问题

我在应用程序的ActionBar中一直设置动画"刷新"图标时遇到一些问题.

我有一个容器FragmentActivity,当用户在应用程序中导航时(从片段本身内部或从SlidingMenu选项中)交换片段.因此,当应用程序首次加载时,我的FragmentContainer会添加FragA.从FragA,用户可以导航到FragB,然后交换进来.

在操作栏中,我显示一个静态的"刷新"图标.当每个Fragment加载时,我用动画"spinner"图标替换它.加载完成后,我将恢复为原始刷新图标.

问题是,此动画仅适用于原始片段(在本例中为FragA).当用户导航到FragB并选择刷新图标时,将触发刷新,但动画永远不会发生.类似地,如果按下后退按钮返回到FragA,则现在遵循相同的模式,即按下时刷新按钮不动画.

注意事项......

  1. 我在https://github.com/jfeinstein10/SlidingMenu上使用ActionBarSherlock和SlidingMenu实现.所以上面的活动实际上是一个SlidingFragmentActivity.
  2. 两个片段都调用了setHasOptionsMenu(true)- 我已经通过这个调试了,并且onCreateOptionsMenu每个都正确调用.
  3. 正在为两个片段正确显示图标 - 当我导航'默认'片段时,动画就不会发生.
  4. 我看到使用SlidingMenu导航时的相同行为 - FragA加载,动画工作 - > SlidingMenu用于导航到不同的片段...动画不起作用 - >后退按钮到FragA ...动画不起作用在这里.
  5. 我使用的是FragmentTransaction.remove()add()而不是replace()因为我以前有过后退按钮的问题与replace()-我使用的兼容性lib和我读了这里的replace实现是一个有点马车-并且不使用固定的肯定我所看到的问题.

代码片段如下:

我加载原始片段的代码是....

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.content_frame, new FragA());
ft.addToBackStack(null);
ft.commit();
Run Code Online (Sandbox Code Playgroud)

为FragA'交换'FragB ....

public void switchContent(PysoBaseFragment fragment) {
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.remove(existingFragment);
    ft.add(R.id.content_frame, fragment);
    ft.addToBackStack(null);
    ft.commit();
}
Run Code Online (Sandbox Code Playgroud)

此方法在容器活动中声明,并从FragA调用,即...

getFragmentContainer().switchContent(new FragB());
Run Code Online (Sandbox Code Playgroud)

旋转图标的代码在开始加载时从新的Fragment中调用.有点像......

    ImageView spinnerActionView = (ImageView) inflater.inflate(R.layout.refresh_action_view, null);
    Animation …
Run Code Online (Sandbox Code Playgroud)

android android-fragments actionbarsherlock android-support-library slidingmenu

10
推荐指数
2
解决办法
2768
查看次数

Android片段:片段显示时始终*调用生命周期方法*

每当向用户显示片段时,我都需要执行一些代码.

通过API查看我能看到的最接近的钩子方法是onResume.但是,从调试到我的代码时,似乎当用户选择后退按钮返回到先前显示的片段时,不会调用onResume .

只是为了澄清我所看到的行为:

我有一个'父'活动,用于配置ActionBar中的标签...以及2个片段F1和F2.

用户选择一个选项卡,F1将加载到活动中.按下按钮,用户可以导航到F2.这不是一个单独的选项卡... F2被交换到布局中.

添加日志语句,我可以看到当用户选择F2上的后退按钮时,会发生以下情况....

1)在F2上调用onPause().2)F1被加载到活动中......但是没有调用 F1上的onResume()

目前日志中没有错误.

我在这里做错了什么想法?

提前致谢,

尼尔.

android android-fragments

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

如何将Android ListView定位在视图上方 - 不占用整个空间

为了允许用户提交评论,我有2个视图,垂直堆叠.ListView用于显示输入的注释和LinearLayout页脚,允许用户添加注释(基本上是EditText和按钮).

页脚必须固定在屏幕的底部,ListView必须位于屏幕的上方.它与您在Facebook上为Android添加评论时看到的内容类似.

但是我不希望ListView最初占用整个空间 - 我希望它只占用显示其行所需的空间,但是当用户添加注释时能够扩展到剩余空间 - 同时始终保持在页脚布局上方.

我已尝试过如此建议的LinearLayout Android:如何在底部和listview上面对齐按钮?

但是,这会导致ListView占用页脚上方的所有空间 - 当只有几条注释时 - 所以它主要是空的并且看起来很奇怪.

我已经尝试了一个RelativeLayout父级,其中页脚使用锚定android:layout_alignParentBottom="true".....使用android:layout_above="@id/footerLayout"与上面相同的行为将ListView定位在页脚上方(ListView占用所有剩余空间)...删除它允许ListView'增长但如果它变得太大,它会与页脚重叠.

干杯.

android android-layout

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

Meteor"--mobile-settings"被服务器值覆盖?

我正在尝试为Meteor 移动应用程序提供一些每个构建的配置.该--mobile-settings选项看起来非常适合此任务 - 它允许您在构建时将配置(JSON)传递给移动客户端 - 与--settings选项对服务器的方式相同.

但是,我看到了一些意外行为...... --mobile-settings当客户端从服务器刷新时,通过外观传递给移动客户端的任何内容都被覆盖.

这就是我做的......

  1. 写了一个非常简单的应用程序,它从中读取设置值Meteor.settings.public.blah并在屏幕上显示.
  2. 将此应用程序部署到流星服务器(没有任何移动设置文件).
  3. 为android构建相同的应用程序,指向上面的服务器并使用--mobile-settings选项集 - 指向声明'blah'属性的设置文件.将其安装在设备上.
  4. 当我在设备上运行应用程序时,应用程序启动并且屏幕正确显示了设置.
  5. 但是,几秒钟后,应用程序刷新,设置消失.

在刷新时,为什么要从服务器覆盖特定于移动设备的构建时间值?移动设置文件是否也需要存在于服务器上?

提前致谢.

更新

好的,通过下面的讨论,我想我需要澄清一下我的问题......

我上面描述的是我所看到的行为.但是,我发现这种行为令人困惑,我很难找到有关此功能的任何文档来详细说明预期的行为.

我能找到的最好的是其中一个原始开发者评论过的帖子(https://groups.google.com/forum/#!msg/meteor-talk/Jbfnk5kCvW4/6qvccun2dQ0J).他说...

您只需构建两次移动应用程序,并传递不同的json --mobile-settings.

这似乎不支持我所看到的行为 - json传递给--mobile-settings的地方将被部署到服务器的任何内容覆盖.因此我的困惑.

如果有人能指出我的任何文件或以任何方式确认这种行为,我将不胜感激.

javascript mobile meteor

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