小编Fer*_*han的帖子

应用了 Hilt Android Gradle 插件,但未找到 com.google.dagger:hilt-android-compiler 依赖项

我收到错误消息“应用了 Hilt Android Gradle 插件,但未com.google.dagger:hilt-android-compiler找到任何依赖项。” 在构建项目时。

这是我如何将刀柄添加到我的项目中。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

android gradle dagger-hilt

24
推荐指数
5
解决办法
1万
查看次数

网络分析器已移动

我已将 Macbook 上的 android studio 从arctic fox至最新版本更新bumblebee 2021.1.1。我正在使用探查器,无法进行网络分析,因为它显示Network Profiler has moved以及它下面显示的To inspect network activity. Use the Network Inspector。当我点击突出显示的部分时,Network Inspector它会将我移动到App Inspection没有显示任何内容的部分。

在此输入图像描述

这就是我点击时得到的Network Inspector

在此输入图像描述

android profiling android-studio

23
推荐指数
2
解决办法
1万
查看次数

如何将List <Object>转换为PagedList <Object>,反之亦然?

PagedList<Object>用于Android的酷分页库.要使问题尽可能小:如果我有一个字符串列表,如

  List<String> stringList; // it consists of 200 strings
Run Code Online (Sandbox Code Playgroud)

我想转换 stringListPagedList<String>类似的类型

  PagedList<String> pagedStringList;
Run Code Online (Sandbox Code Playgroud)

而且,如果我有一个PagedList<Object>如何将其转换为List<Object>?我经历了这个以供参考

如果我尝试相反的方式....

我怎么能转换List<Object>DataSource.Factory<Integer, Object>..所以间接我可以把它转换成PagedList<>

DataSource.Factory<Integer, Object>我可以转换为PagedList<>但我怎么能转换listPagedList<>

android rx-java2 android-livedata android-architecture-components android-jetpack

15
推荐指数
1
解决办法
4203
查看次数

SimpleExoPlayer.Builder(this).build() 已弃用

我在我的应用程序中使用 Exoplayer 并将 exoplayer 初始化为

player = SimpleExoPlayer.Builder(this).build()
Run Code Online (Sandbox Code Playgroud)

但 Android Studio 向我发出警告,因为它已被弃用。当我使用较低版本的 Exoplayer 时2.15.1,警告就会响起。但在最新版本中2.16.0,它给出了弃用警告。现在我们如何使用最新版本初始化exoplayer?

android kotlin exoplayer exoplayer2.x

15
推荐指数
2
解决办法
1万
查看次数

pubspec.yaml 没有下限 SDK 约束

我正在参加 MDC101 颤振代码实验室。我按照说明从 git 存储库克隆了启动项目,但是在克隆完成后,我执行了flutter pub get它,但它给了我以下错误。

pubspec.yaml has no lower-bound SDK constraint.
You should edit pubspec.yaml to contain an SDK constraint:
environment:
  sdk: '>=2.10.0 <3.0.0'
Run Code Online (Sandbox Code Playgroud)

sdk lower-bound flutter flutter-web flutter-pub

9
推荐指数
2
解决办法
6416
查看次数

@InstallIn,只能与@DefineComponent注解的类一起使用,但发现:[com.abc.xyz.AppClass]

根据 Hilt 的文档,我完成了所有步骤

将类路径添加到项目模块

classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
Run Code Online (Sandbox Code Playgroud)

添加插件

plugins {
    id "kotlin-kapt"
    id("dagger.hilt.android.plugin")
}
Run Code Online (Sandbox Code Playgroud)

添加依赖项

dependencies {
    implementation("com.google.dagger:hilt-android:$hilt_version")
    kapt("com.google.dagger:hilt-android-compiler:$hilt_version")
}
Run Code Online (Sandbox Code Playgroud)

带注释的应用程序类,在我的例子中为 AppClass,带有@HiltAndroidApp. 带注释的 Activity 和有关片段@AndroidEntryPoint

创建模块为

@InstallIn(AppClass::class)
@Module
object DatabaseModule {

    @Provides
    @Singleton
    fun provideAppDB(application: Application): AppDB {
        return AppDB.getDatabase(application)
    }

    @Provides
    @Singleton
    fun provideMediaDao(appDB: AppDB): MediaDao {
        return appDB.downloadMediaDao()
    }
}
Run Code Online (Sandbox Code Playgroud)

将其注入 ViewModel 类中

@HiltViewModel
class DownloadViewModel @Inject constructor(
    private val mediaDao: MediaDao
): ViewModel() {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是在完成所有步骤之后,我收到错误消息“@InstallIn,只能与@DefineComponent注释的类一起使用,但发现:[com.abc.xyz.AppClass]”

android mvvm viewmodel kotlin dagger-hilt

8
推荐指数
2
解决办法
4997
查看次数

在 Android 中集成 Stripe 时使用来自不同模块的 Kotlin 内部声明

按照指南,我正在 Android 中集成 Stripe。在第 4 步中,他们TerminalLifecycleObserver在 Application 类中使用。我已遵循上述所有步骤,并尝试了来自其 GitHub存储库的更简短的指导。但毕竟在我的应用程序类中仍然收到错误Usage of Kotlin inside statements from different moduleTerminalLifecycleObserver on my Application class。这是显示错误和异常日志的屏幕截图。 在此输入图像描述

java android intellij-idea stripe-payments androidx

8
推荐指数
1
解决办法
6669
查看次数

GestureDetector.OnGestureListener 重写方法在 Android API 33 中不起作用

我已经在我的 Activity 上实现了 GestureDetector.OnGestureListener 接口。它在 Android API 32 上运行良好,但在将 Android API 级别从 32 更新到 33 后,我无法覆盖它的方法。当我回滚到 Android API 32 时,它工作正常。

这是我实现该接口的方式:

class ABCActivity: AppCompatActivity(), GestureDetector.OnGestureListener {
    
    override fun onDown(p0: MotionEvent?): Boolean = false

    override fun onShowPress(p0: MotionEvent?) = Unit

    override fun onSingleTapUp(p0: MotionEvent?): Boolean = false

    override fun onLongPress(p0: MotionEvent?) = Unit

    override fun onFling(p0: MotionEvent?, p1: MotionEvent?, p2: Float, p3: Float): Boolean = false

    override fun onScroll(
        event: MotionEvent?,
        event1: MotionEvent?,
        distanceX: Float,
        distanceY: Float
    ): Boolean {
        // …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-13 gesture-detection

8
推荐指数
2
解决办法
2329
查看次数

TextInputLayout 提示在 recreate() 方法调用时不会刷新

我在用着TextInputLayout。我设置了它的提示来string.xml应用本地化。因此,从下拉列表中更改语言后,我使用recreate()使用所选语言资源刷新整个活动组件的方法,但TextInputLayout提示没有刷新。

android recreate kotlin textinputlayout material-components

7
推荐指数
1
解决办法
862
查看次数

如何在 Flutter 中测试返回 Future 的异步方法的执行时间

我正在研究某人的 Flutter 代码,并且在单个 dart screen 文件上有很多方法。他们从后端 API 加载数据并且花费的时间太长。因此,我想计算每个异步方法的执行时间,以便优化代码以获得更好的性能。

future execution-time async-await dart flutter

2
推荐指数
1
解决办法
1826
查看次数

java.lang.IllegalArgumentException:所有请求的项目必须由特定 ID 引用(Android)

我在调用时收到此异常MediaStore.createWriteRequest(contentResolver, uris)。与 Anrdroid Q 及以上版本一样,我们必须使用 createWriteRequest 来写入存储。所以我正在尝试以下代码并得到异常。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            List<Uri> uris = new ArrayList<>();
            uris.add(mediaUri);
            MediaStore.createWriteRequest(contentResolver, uris);
            //code
        }
Run Code Online (Sandbox Code Playgroud)

storage android mediastore android-10.0 android-11

0
推荐指数
1
解决办法
5038
查看次数