小编edw*_*ard的帖子

如何使用Parse.com创建ParseUsers组?

目前我正在使用Parse.com来创建多个ParseUsers.这非常有效,每个用户都可以单独登录.但是从这里我想扩展我的应用程序以允许用户创建用户组,因此只有这些用户之间相关和共享的数据.这意味着当用户登录时,他们可以看到他们所属的组的列表,并且从那里可以仅仅向该组的用户共享数据.什么是解决这个问题的最佳方法,是否有人为了理解这个概念而有任何我可以遵循的例子或教程?

我考虑过创建一个Group类,然后将这个商店的用户ID存储在一个数组中,然后允许每个用户存储他们当前所属的Group ID数组.我只是不确定如何解决这个问题.

提前致谢!

grouping android parse-platform

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

从Android 7.1应用程序快捷方式启动Fragment(而不是Activity)

我决定将静态快捷方式添加到应用程序中,使用此页面作为参考:

https://developer.android.com/preview/shortcuts.html

我的快捷方式的XML目前看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <shortcut
        android:shortcutId="id"
        android:enabled="true"
        android:icon="@drawable/icon"
        android:shortcutShortLabel="@string/short_label"
        android:shortcutLongLabel="@string/long_label"
        android:shortcutDisabledMessage="@string/disabled_message">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example"
            android:targetClass="com.example.Activity" />
        <categories android:name="android.shortcut.category" />
    </shortcut>
</shortcuts>
Run Code Online (Sandbox Code Playgroud)

问题来自targetClass变量,因为我无法找到一种方法来启动Fragment而不是Activity.我想要从快捷方式启动的大多数主要页面Fragments显示在一个Activity.我怎样才能intent直接推出Fragment

android android-manifest android-fragments android-7.1-nougat app-shortcut

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

如何从Firebase Task &lt;AuthResult&gt;登录失败检索错误代码?

我目前想知道使用进行不成功的登录后如何获得错误代码Firebase。从他们的旧代码中,您可以在下面的此链接中看到:

https://www.firebase.com/docs/android/guide/user-auth.html#section-handling-errors

@Override
public void onAuthenticationError(FirebaseError error) {
    switch (error.getCode()) {
        case FirebaseError.USER_DOES_NOT_EXIST:
            // handle a non existing user
            break;
        case FirebaseError.INVALID_PASSWORD:
            // handle an invalid password
            break;
        default:
            // handle other errors
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

为您提供onAuthenticationErrorFirebaseError然后可以对其进行专门分析,以向用户产生不同的反馈错误。但是,由于他们最近发布了新的API,所以我开始使用它。这是我现在必须使用的代码:

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
    //If authentication fails
    if (!task.isSuccessful()) {
        // Handle the specific individual errors such as incorrect passwords
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不确定如何从Task<AuthResult>对象中收集特定的错误代码。我理解我可以收集ExceptionToast该消息,尽管我宁愿对正确的错误代码进行切换,而不是String解释发生的错误。

error-handling android login firebase firebase-authentication

7
推荐指数
1
解决办法
3763
查看次数

"com.android.vending.BILLING"和"android.permission.BILLING"之间的区别

在我的应用中设置应用内购买时,我发现有两个与结算相关的权限:

<uses-permission android:name="com.android.vending.BILLING" />

<uses-permission android:name="android.permission.BILLING" />
Run Code Online (Sandbox Code Playgroud)

这两个权限有什么区别?似乎网上的大多数人都在说使用第一个用于应用内购买,但那么第二个需要什么呢?

android android-manifest in-app-billing android-permissions android-billing

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

IllegalStateException:Android WebView上的reasonPhrase不能为空

最近,我注意到许多用户都收到此消息IllegalStateException,这导致应用程序崩溃。当WebView向用户显示a时会发生这种情况:

Fatal Exception: java.lang.IllegalArgumentException: reasonPhrase can't be empty.
       at android.webkit.WebResourceResponse.setStatusCodeAndReasonPhrase + 129(WebResourceResponse.java:129)
       at android.webkit.WebResourceResponse.(WebResourceResponse.java:70)
       at jY.a + 308(jY.java:308)
       at zn.handleMessage + 67(zn.java:67)
       at android.os.Handler.dispatchMessage + 102(Handler.java:102)
       at android.os.Looper.loop + 211(Looper.java:211)
       at android.app.ActivityThread.main + 5373(ActivityThread.java:5373)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke + 372(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1020(ZygoteInit.java:1020)
       at com.android.internal.os.ZygoteInit.main + 815(ZygoteInit.java:815)
Run Code Online (Sandbox Code Playgroud)

并不是每个用户都会发生此崩溃。我曾尝试要求用户更新Chrome,以希望它更新Chromium,并要求他们安装最新版本的Android System WebView,但都没有给我带来任何成功。有谁遇到过这个问题,并且知道如何解决?我什至不能亲自复制它。

我还在这里找到了此错误日志:https : //bugs.chromium.org/p/chromium/issues/detail?id=925887

我还查看了源代码,可以看到相关的崩溃是由line 154以下原因引起的:https : //android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebResourceResponse .java

奇怪的是,应该只在发生错误时才发生这种情况,但是我可以WebView从屏幕截图中看到正确为用户加载的内容,然后应用立即崩溃。任何帮助将不胜感激!

android webview chromium android-webview

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

如何继承自定义 styles.xml 中的默认 Android 样式?

我目前正在使用这个自定义样式布局来EditTexts定义“styles.xml”:

<style name="Form_EditView">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">@dimen/large_text_size</item>
    <item name="colorControlNormal">@color/white</item>
    <item name="colorControlActivated">@color/pink</item>
    <item name="colorControlHighlight">@color/pink</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然而现在我陷入了困境,因为我TextView希望将样式设置为默认的 Android EditText,但随后也应用上面的自定义样式。默认的 Android 样式如下所示:

style="@android:style/Widget.EditText"
Run Code Online (Sandbox Code Playgroud)

我知道布局样式文件中可以继承,但如何在自定义样式中继承 Android 默认样式,以实现与此类似的效果:

<style name="Widget.EditText.Form_EditView">
Run Code Online (Sandbox Code Playgroud)

android textview android-layout android-edittext android-styles

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

使用toString方法和每个循环打印对象时要返回什么?

我目前有一个toString方法,类似于下面的方法.请忽略对象仅被临时命名.我这样做是为了使每个变量的类型之间没有混淆等:

@Override
public String toString() {
    for(Object object : ArrayList) {
        System.out.println("This object is a " + object.getVariableA() + " and a " + object.getVariableB() + ".");
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

但是toString方法要求我返回一个值.我显然只想返回我正在打印的字符串,虽然如果我在那里放置一个返回语句,它只会打印一个Object而不是所有我正在循环的对象.什么是打印所有这些值的最佳方法,而不是简单地返回null,因为我不希望在所有对象之后打印出来?我还想确保这些对象中的每一个都按照它们当前的单独行打印,所以请不要建议包含一个长连接字符串而不包含换行符的解决方案,因为这不适合这种情况.

提前致谢!

java foreach arraylist tostring object-to-string

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