问题标签 [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.
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(项目级别)
运行被禁用
正如您在屏幕截图中看到的那样,应用程序的运行选项被禁用,如果我单击下拉菜单,它会要求我编辑配置,我应该在空项目中进行哪些配置?
android - 使用 WorkManager 的定期日常工作请求
如何正确使用WorkManager
Android Jetpack 中的新功能来安排每天一次的定期工作,该工作应该每天并且恰好一次执行一些操作?
想法是检查具有给定标签的工作是否已经存在WorkManager
,否则开始新的定期工作。
我尝试使用下一种方法来做到这一点:
但value
始终为空,即使我在Worker
'doWork()
方法中放置了一个断点(所以它肯定在进行中)并从另一个线程检查工作状态。
android - Android Jetpack WorkManager 数据保留政策
我想使用新的 WorkManager 来替换电话遥测发送器的服务实现(与 Android O 抱怨)。现在它本质上是一个绑定服务,它尝试实时发送遥测数据,但如果网络出现故障,它会将记录保存到数据库中,稍后在网络恢复时将其重播到服务器。几乎是 WorkManager 可以使用约束完成的定义。
我遇到的麻烦是安全问题之一。我的数据库是加密的,当用户注销或要求擦除他们的数据时,它也会被完全擦除。WorkManager 由 Room db 支持,并以明文形式存储所有有效负载数据。更糟糕的是,他们似乎没有公开随心所欲地删除这些记录的能力。相反,他们提供取消,实际上只是将列状态设置为 CANCELLED。我找不到可以解释克服此问题的方法的文档或代码路径。有没有人有机会探索图书馆?也许我错过了一些东西。
谢谢
android - Android 架构导航 - onSupportNavigateUp()
finish()
在使用导航库时,可以用in完成内部活动onSupportNavigateUp()
吗?或者我们应该使用从堆栈NavController
中删除它?Activity
而且,我无法使用 NavController 删除Activity
.
我的导航图如下所示:
我尝试使用如下:
(i) 在 DetailActivity 中使用 NavController
但得到例外,
java.lang.IllegalArgumentException:NavController 回栈为空
(ii) 在 BaseActivity 中使用 NavController
那也行不通。我做错了吗??
android - 查找 NavHostFragment Jetpack Navigation Android 时出错
我正在使用 Jetpack Navigation 来处理 Fragments 的导航。遵循文档后,当我运行应用程序时,出现以下错误。
构建.gradle
托管 NavHostFragment 的 Activity 的代码
}
活动的 XML 文件
我已经正确实现了导航图。此外,该项目被重构为 AndroidX。
android - Proguard 导致 Android 导航组件运行时异常
android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha01
在将 NavigationComponent ( ) 集成到我的项目中并编译 27 的 sdk 后,我在使用 proguard 时遇到了这个崩溃
可能是因为 AAPT 还没有为导航组件生成保留规则?
android - Jetpack Navigation:NavHostManager 不是 FragmentManager 的活动片段
我正在使用 Jetpack Navigation 来处理 Fragments 的导航。
我一直在关注文档并安装了所需的组件,但在尝试显示托管 NavHost 片段的活动时,应用程序仍然崩溃
例外:
主要活动布局
主要活动 - Kotlin
我正在尝试测试 JetPack 功能,而我目前被困在这个功能上,有人知道可能出了什么问题吗?是因为 Android 3.2 仍在预览中吗?任何帮助将非常感激..
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 的一个已知问题相比),但我不确定在哪里查看或如何处理它。
任何人都可以对此有所了解吗?
java - 如何在主线程的 onCreate/ 中获取房间列表的大小?
如何轻松获取数据库大小的计数,以便我可以根据数据库是否为空来执行适当的操作?
我有一个 App DB、视图模型、存储库、Dao 和所有其他部分,并且我的对象插入......但我无法调用onCreate()
数据库中列表的大小。当我尝试获取mAppDatabase.vehicleDao().getAll().getValue().size()
, ormVehicleViewModel.getAll().getValue().size()
时,我得到空指针异常。
但是我知道我的对象正在插入,因为当我运行 observable 时,我可以记录它们的信息......但我无法在 onCreate 中获得主线程/的计数。帮助!下面的示例代码:
或者
^两者的空指针异常(尝试在空对象引用上调用接口方法'java.lang.Object [] java.util.List.toArray()')...
然而:
我可以记录我想要的所有信息。所以这些项目是明确插入的。是什么赋予了?我错过了什么?谢谢你。
android - 如果您位于导航图的起始目的地,为什么android jetpack NavigationUI navigateUp 方法仅打开绘图菜单
当使用 aNavigationView
和 aDrawLayout
时ActionBar
,jetpack
提供了一些强大的便捷方法来将所有内容连接在一起,以便这些项目更容易实现。
setupActionBarWithNavController
库中提供的方法是 ActivityNavigationUi
的扩展方法,它添加了一个汉堡按钮来打开抽屉,如果您onSupportNavigateUp:Boolean
在 Activity 上覆盖该方法以调用navigateUp(drawLayout:DrawLayout, navController:NavController)
方法,该方法会将汉堡按钮更改为后退按钮并自动返回花哨的动画,超级酷。
但是,似乎此方法的实现方式如下:
如您在此处看到的,此方法具有以下基本逻辑:
如果您不在导航图的起始目的地,则该按钮为后退按钮,否则为汉堡包按钮
这意味着只有开始目的地可以通过操作栏按钮打开绘图菜单,而所有其他目的地都有一个后退按钮,并且必须滑动才能打开绘图菜单。
为什么会这样?这似乎是 android 团队有意识的设计决定。在多个目的地提供汉堡包按钮是否令人不悦?
我想有几个主要的分支,它们有一个汉堡菜单,所有的屏幕都从那些分支中找到一个后退按钮。有没有办法实现多个NavGraphs
并将它们链接在一起NavigationView
?
u_u