最近谷歌向我的一个应用程序提供了警报
您的 Amazon Web Services 凭证可能会暴露。暴露您的凭证可能会导致未经授权访问您的 AWS 账户,其中可能包括相关的高额费用,以及可能未经授权访问您的数据和用户数据。
在应用程序中,我使用的是亚马逊产品广告 API来获取和显示与某些产品相关的信息。
我正在使用SignedRequestsHelper提供的类来请求数据。
我需要知道如何在Android应用程序中保护我的 AWS 密钥。
谢谢。
最近,我Firebase In-APP Messaging在我的应用程序中添加了SDK。几天后,我检查了Firebase crashlytics,发现有一些与In-APP消息传递SDK相关的崩溃:
1. Window Global Manager(WindowGlobalManager.java)
这是堆栈跟踪
Caused by java.lang.IllegalArgumentException
View=com.google.firebase.inappmessaging.display.internal.layout.FiamFrameLayout{b98919d VFE...C.. ......ID 0,0-0,0 #7f0a014c app:id/image_root} not attached to window manager
Fatal Exception:
java.lang.RuntimeException: Unable to pause activity: java.lang.IllegalArgumentException: View=com.google.firebase.inappmessaging.display.internal.layout.FiamFrameLayout{b98919d VFE...C.. ......ID 0,0-0,0 #7f0a014c app:id/image_root} not attached to window manager
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3420)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3379)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3354)
at android.app.ActivityThread.access$1100(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1359)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5472)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Run Code Online (Sandbox Code Playgroud)
2.图片查看操作(ImageViewAction.java)
这是堆栈跟踪
Fatal Exception:
android.view.WindowManager$BadTokenException: Unable to add window -- …Run Code Online (Sandbox Code Playgroud) 我的Android应用程序正在contacts providers用来向用户显示所有联系人。我正在Loaders按照https://developer.android.com/training/contacts-provider/retrieve-names上的教程/文档加载联系人
但是从链接https://developer.android.com/guide/components/loaders,提到从Android P开始不推荐使用加载器。
从Android P(API 28)开始,不推荐使用加载程序。建议在处理活动和片段生命周期时处理加载数据的选项是结合使用ViewModels和LiveData。ViewModels能够像Loader这样的配置更改得以保留,但样板更少。LiveData提供了一种生命周期感知的方式加载数据,您可以在多个ViewModel中重用。您还可以使用MediatorLiveData组合LiveData,并且可以使用任何可观察到的查询(例如来自Room数据库的查询)来观察数据的变化。在无法访问LoaderManager的情况下(例如在Service中),ViewModels和LiveData也可用。串联使用两者提供了一种简单的方法,无需处理UI生命周期即可访问应用程序所需的数据。
所以我的问题是:
1.我们如何使用android view model和联系人提供者的实时数据来获取联系人?
2.我们可以使用会议室数据库作为联系提供者吗?
在下面,您可以找到指向源代码的链接,在该链接中,我尝试使用Android View Model和Live数据从ContactProviders中获取联系人。
https://github.com/deepak786/phonebook-contacts
3.可以在上述源代码中进行哪些改进,以便更快地进行获取?
谢谢与问候
Deepak