问题标签 [android-jetpack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2724 浏览

android - android studio 带有目录目标的“-d”选项被忽略,因为指定了“-Xbuild-file”

我是 android 开发新手,刚刚按照本教程在 android studio 3.2 ( canary ) 中创建了我的第一个“hello world”项目。https://developer.android.com/jetpack/docs/getting-started

然后我只是做了 Build-> make project project 尝试构建并给了我以下错误。

无法为 org.gradle.api.Project 类型的根项目“JetpackHelloWorld”获取未知属性“archLifecycleVersion”。

但我能够在我发布的问题的答案的帮助下解决该错误。 android jetpack 项目给出 archlifecycleversion 构建错误

解决该错误后,我尝试再次构建,现在出现以下错误。

带有目录目标的 '-d' 选项被忽略,因为指定了 '-Xbuild-file'

更新

Build.gradle(应用文件夹级别)

build.gradle(项目级别)

运行被禁用

正如您在屏幕截图中看到的那样,应用程序的运行选项被禁用,如果我单击下拉菜单,它会要求我编辑配置,我应该在空项目中进行哪些配置?

运行禁用

0 投票
3 回答
15153 浏览

android - 使用 WorkManager 的定期日常工作请求

如何正确使用WorkManagerAndroid Jetpack 中的新功能来安排每天一次的定期工作,该工作应该每天并且恰好一次执行一些操作?

想法是检查具有给定标签的工作是否已经存在WorkManager,否则开始新的定期工作。

我尝试使用下一种方法来做到这一点:

value始终为空,即使我在Worker'doWork()方法中放置了一个断点(所以它肯定在进行中)并从另一个线程检查工作状态。

0 投票
1 回答
554 浏览

android - Android Jetpack WorkManager 数据保留政策

我想使用新的 WorkManager 来替换电话遥测发送器的服务实现(与 Android O 抱怨)。现在它本质上是一个绑定服务,它尝试实时发送遥测数据,但如果网络出现故障,它会将记录保存到数据库中,稍后在网络恢复时将其重播到服务器。几乎是 WorkManager 可以使用约束完成的定义。

我遇到的麻烦是安全问题之一。我的数据库是加密的,当用户注销或要求擦除他们的数据时,它也会被完全擦除。WorkManager 由 Room db 支持,并以明文形式存储所有有效负载数据。更糟糕的是,他们似乎没有公开随心所欲地删除这些记录的能力。相反,他们提供取消,实际上只是将列状态设置为 CANCELLED。我找不到可以解释克服此问题的方法的文档或代码路径。有没有人有机会探索图书馆?也许我错过了一些东西。

谢谢

0 投票
1 回答
799 浏览

android - Android 架构导航 - onSupportNavigateUp()

finish()在使用导航库时,可以用in完成内部活动onSupportNavigateUp()吗?或者我们应该使用从堆栈NavController中删除它?Activity而且,我无法使用 NavController 删除Activity.

我的导航图如下所示:

我尝试使用如下:

(i) 在 DetailActivity 中使用 NavController

但得到例外,

java.lang.IllegalArgumentException:NavController 回栈为空

(ii) 在 BaseActivity 中使用 NavController

那也行不通。我做错了吗??

0 投票
4 回答
4587 浏览

android - 查找 NavHostFragment Jetpack Navigation Android 时出错

我正在使用 Jetpack Navigation 来处理 Fragments 的导航。遵循文档后,当我运行应用程序时,出现以下错误。

构建.gradle

托管 NavHostFragment 的 Activity 的代码

}

活动的 XML 文件

我已经正确实现了导航图。此外,该项目被重构为 AndroidX。

0 投票
4 回答
12959 浏览

android - Proguard 导致 Android 导航组件运行时异常

android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha01在将 NavigationComponent ( ) 集成到我的项目中并编译 27 的 sdk 后,我在使用 proguard 时遇到了这个崩溃

可能是因为 AAPT 还没有为导航组件生成保留规则?

0 投票
2 回答
6182 浏览

android - Jetpack Navigation:NavHostManager 不是 FragmentManager 的活动片段

我正在使用 Jetpack Navigation 来处理 Fragments 的导航。
我一直在关注文档并安装了所需的组件,但在尝试显示托管 NavHost 片段的活动时,应用程序仍然崩溃

例外:

主要活动布局

主要活动 - Kotlin

我正在尝试测试 JetPack 功能,而我目前被困在这个功能上,有人知道可能出了什么问题吗?是因为 Android 3.2 仍在预览中吗?任何帮助将非常感激..

0 投票
0 回答
1678 浏览

android - JetPack:“Gradle 同步失败:已处理!”

我在我的 Debian 9.0 Stretch 桌面上使用 Android Studio 3.1.x已经有一段时间了,没有任何问题。

我最近安装了 Android Studio 3.2 Canary 14(又名JetPack)。按照JetPack的入门说明,我创建了一个支持 Kotlin 的新项目,然后选择Activity & Fragment+ViewModel

当我尝试同步新创建的项目(即Sync Project with Gradle Files)时,同步失败

查看日志,我发现断言失败(见下文):

我试过重新安装所有东西,删除 .gradle 目录等;没有喜悦。

网上似乎没有提到这个问题,所以我猜这是我的设置特有的问题(与 JetPack 的一个已知问题相比),但我不确定在哪里查看或如何处理它。

任何人都可以对此有所了解吗?

0 投票
1 回答
6934 浏览

java - 如何在主线程的 onCreate/ 中获取房间列表的大小?

如何轻松获取数据库大小的计数,以便我可以根据数据库是否为空来执行适当的操作?

我有一个 App DB、视图模型、存储库、Dao 和所有其他部分,并且我的对象插入......但我无法调用onCreate()数据库中列表的大小。当我尝试获取mAppDatabase.vehicleDao().getAll().getValue().size(), ormVehicleViewModel.getAll().getValue().size()时,我得到空指针异常。

但是我知道我的对象正在插入,因为当我运行 observable 时,我可以记录它们的信息......但我无法在 onCreate 中获得主线程/的计数。帮助!下面的示例代码:

或者

^两者的空指针异常(尝试在空对象引用上调用接口方法'java.lang.Object [] java.util.List.toArray()')...

然而:

我可以记录我想要的所有信息。所以这些项目是明确插入的。是什么赋予了?我错过了什么?谢谢你。

0 投票
1 回答
2885 浏览

android - 如果您位于导航图的起始目的地,为什么android jetpack NavigationUI navigateUp 方法仅打开绘图菜单

当使用 aNavigationView和 aDrawLayoutActionBarjetpack提供了一些强大的便捷方法来将所有内容连接在一起,以便这些项目更容易实现。

setupActionBarWithNavController库中提供的方法是 ActivityNavigationUi的扩展方法,它添加了一个汉堡按钮来打开抽屉,如果您onSupportNavigateUp:Boolean在 Activity 上覆盖该方法以调用navigateUp(drawLayout:DrawLayout, navController:NavController)方法,该方法会将汉堡按钮更改为后退按钮并自动返回花哨的动画,超级酷。

但是,似乎此方法的实现方式如下:

如您在此处看到的,此方法具有以下基本逻辑:

如果您不在导航图的起始目的地,则该按钮为后退按钮,否则为汉堡包按钮

这意味着只有开始目的地可以通过操作栏按钮打开绘图菜单,而所有其他目的地都有一个后退按钮,并且必须滑动才能打开绘图菜单。

为什么会这样?这似乎是 android 团队有意识的设计决定。在多个目的地提供汉堡包按钮是否令人不悦?

我想有几个主要的分支,它们有一个汉堡菜单,所有的屏幕都从那些分支中找到一个后退按钮。有没有办法实现多个NavGraphs并将它们链接在一起NavigationView

u_u