问题标签 [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 投票
6 回答
20029 浏览

android - 用于在后台运行日常任务的 Android WorkManager api

即使应用程序关闭,我也需要每天在后台调用一个 API。我看过 WorkManager API。对于我的场景,我尝试了 PeriodicWorkRequest 但不幸的是,它没有达到我的预期结果。我所做的是我在 Application 类中使用了这段代码

但是之后第一次打开应用程序时它会重复运行11次,24小时后它不会运行。请任何人帮我解决。

0 投票
0 回答
6746 浏览

android - Android Architecture Navigation 组件和 Proguard 导致 java.lang.ClassNotFoundException

使用新的 android 导航组件运行启用 proguard 的构建时,找不到我的片段类。我收到这个堆栈跟踪:

它说它找不到在我的nav_graph.xml文件中定义的片段类:

我的nav_graph.xml

如您所见,在xml中设置了片段的名称,该路径在运行proguard后似乎变得无效。

到目前为止,我唯一的解决方法是-keepnames在我的proguard-rules.pro文件中定义我的每个片段类路径。例如:

在此之后,混淆编译运行良好而不会崩溃。

虽然我不确定这是否正确,但我做错了吗?我们如何在不为 proguard 规则中的每个片段定义规则的情况下将新的导航架构组件与我们的混淆构建一起使用?

我知道这个问题现在可能只是一个问题,因为导航片段组件仍处于 alpha 阶段。

0 投票
1 回答
244 浏览

android - Android X onMenuItemSelected

现有项目重构为 android.x 后,出现错误,onMenuItemSelected无法覆盖该方法。因为androidx.appcompat.app.AppCompatActivity这种方法是最终的。我现在如何处理菜单点击?

编辑:似乎,这种变化不仅在 androidx 上,而且在支持 27

0 投票
2 回答
1043 浏览

android-studio - 如何在 Android Studio 中创建 Jetpack 应用

我正在使用最新版本的 Android Studio 和最新的 SDK 工具,我正在按照本指南创建示例 Jetpack 应用程序,但我的 Android Studio 中的创建项目向导没有名为 Activity & Fragment + ViewModel 和相关的选项创建 Jetpack 应用程序的配置(在 Linux 上测试)。有任何想法吗?

附加信息:
Android Studio 版本:3.1.2

0 投票
1 回答
1470 浏览

android - 如何获取由 NavHostFragment(导航架构组件)加载的片段(SupportMapFragment)的引用

我正在试用 google IO 2018 会议中介绍的导航架构组件。我正在尝试制作一个包含三个选项卡的应用程序,每个选项卡一个片段。在其中一个中,我想使用 Google Maps API 放置地图。通常您应该在 Activity 的 OnCreate 中执行此操作

R.id.map isSupportMapFragment内部的idmain_activity.xml

然而,导航架构组件设置略有不同。 main_activity.xml仅包含一个NavHostFragment(加载每个屏幕的片段的位置)和一个BottomNavigationView在应用程序的不同目的地之间移动的。

我的导航图看起来像这样

如您所见,第一个和第三个选项卡有两个startFragment片段endFragment。在第二个中SupportMapFragment,我试图参考。我不能使用标准getSupportFragmentManager().findFragmentById(int id)方式,因为main_activity.xml只包含一个NavHostFragment

我尝试尝试getChildFragmentManager()但没有太大成功。我也试过navController.getCurrentDestination(),但它返回一个NavDestination我不能用来检索加载的片段的对象。

我发现的唯一解决方案是SupportMapFragment直接添加,activity_main.xml使其与导航图完全分开,但这比解决方案更像是一种解决方法,因为当用户位于另一个屏幕时,我必须手动处理显示和隐藏地图。

如果有人知道正确的解决方案,请分享。

0 投票
1 回答
253 浏览

android - DownloadManager 中的 Content-Disposition 响应标头

我必须下载一个文件并为此使用 downloadManager。该文件的文件名位于响应标头的 Content-Disposition 中。

是否可以从 DownloadManager.Request 类访问响应标头,或者 downloadManager 可以开箱即用地支持此功能。

我不想对服务器进行 HEAD api 调用并增加服务器命中数。我们可以假设我们没有 HEAD 调用功能。

0 投票
2 回答
2611 浏览

android - 如何为工人阶级实施匕首?

由于Worker类是由框架(WorkerManager)创建的,我们如何将@Inject字段用于Worker

0 投票
5 回答
4270 浏览

android - 使用 Android Jetpack 从导航抽屉导航

我正在尝试在我的 android 应用程序上实现喷气背包导航。我创建了一个导航图,如下所示:

图表编辑器的图片

和导航抽屉菜单xml,如下所示:

菜单导航抽屉菜单项设计的图片

根据android开发者网站中的文档,这里

为菜单项提供与片段或目的地相同的 id 应该足以确保单击菜单项会将我导航到指定的片段。这似乎不起作用,我错过了什么吗?

0 投票
1 回答
283 浏览

android - android jetpack入门项目无法运行

我是 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'

运行被禁用

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

运行禁用

但随后我单击了编辑配置并添加了一个 android 应用程序配置,但是在选择模块时,下拉列表中没有可供选择的模块,现在我无法运行我的应用程序,因为我收到错误“配置无效" 我在运行按钮附近的应用名称上也看到了一个红十字图标,我认为是因为我没有选择模块?但是如果没有,我该如何选择呢?

0 投票
6 回答
19735 浏览

android - 如何定义导航操作的默认动画?

我正在使用 Android Studio 3.2 Canary 14 和Navigation Architecture Component。有了这个,您可以像使用 Intents 时一样定义过渡动画。

但是动画被设置为导航图中动作的属性,如下所示:

为图中的所有动作定义这变得很乏味!

有没有办法将一组动画定义为默认的动作?

我没有运气为此使用样式。