目前我正在使用Parse.com来创建多个ParseUsers.这非常有效,每个用户都可以单独登录.但是从这里我想扩展我的应用程序以允许用户创建用户组,因此只有这些用户之间相关和共享的数据.这意味着当用户登录时,他们可以看到他们所属的组的列表,并且从那里可以仅仅向该组的用户共享数据.什么是解决这个问题的最佳方法,是否有人为了理解这个概念而有任何我可以遵循的例子或教程?
我考虑过创建一个Group类,然后将这个商店的用户ID存储在一个数组中,然后允许每个用户存储他们当前所属的Group ID数组.我只是不确定如何解决这个问题.
提前致谢!
我决定将静态快捷方式添加到应用程序中,使用此页面作为参考:
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
我目前想知道使用进行不成功的登录后如何获得错误代码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)
为您提供onAuthenticationError,FirebaseError然后可以对其进行专门分析,以向用户产生不同的反馈错误。但是,由于他们最近发布了新的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>对象中收集特定的错误代码。我理解我可以收集Exception和Toast该消息,尽管我宁愿对正确的错误代码进行切换,而不是String解释发生的错误。
error-handling android login firebase firebase-authentication
在我的应用中设置应用内购买时,我发现有两个与结算相关的权限:
<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
最近,我注意到许多用户都收到此消息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从屏幕截图中看到正确为用户加载的内容,然后应用立即崩溃。任何帮助将不胜感激!
我目前正在使用这个自定义样式布局来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
我目前有一个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,因为我不希望在所有对象之后打印出来?我还想确保这些对象中的每一个都按照它们当前的单独行打印,所以请不要建议包含一个长连接字符串而不包含换行符的解决方案,因为这不适合这种情况.
提前致谢!