小编Cyr*_*rus的帖子

如何使用 Room ```@Ignore``` 注释忽略 kotlin 委托属性

我想在我的Composition类中添加一个委托属性,如下

@Entity
data class Composition(
        val author: String="",
        val background: String?,
        val description: String="",
        val downloadURL: String="",
        val duration: String="",
        val headPortrait: String?,
        @PrimaryKey val id: String,
        val isLike: Boolean,
        val likeAmount: String="",
        val playingAmount: Int=0,
        val replyAmount: String?,
        val showStyle: String?,
        val title: String?,
        val userId: String?,
        val commentAmount: String?,
        val cover: String=""
){

    val  showDuration by lazy{
        val minutes = duration.toInt() /60
        val seconds =duration.toInt()%60
        "$minutes:$seconds"
    }
}
Run Code Online (Sandbox Code Playgroud)

但是会出现编译错误,因为委托属性无法保存在数据库中。所以我想Ignore给这个字段添加一个 注释。可惜Androidstuio 会抛出一个抱怨“此注释不适用于目标'成员属性与委托”。谁有这个问题的想法?

kotlin android-room

6
推荐指数
1
解决办法
125
查看次数

Room Kotlin:实体和 Pojos 必须有一个可用的公共构造函数

当我运行我的应用程序时,出现以下错误。

Error: Entities and Pojos must have a usable public constructor. You can have an empty
  constructor or a constructor whose parameters match the fields (by name and type).
  Tried the following constructors but they failed to match:
  ChatMsg(java.lang.String,int) : [arg0 : null, arg1 : null]
Error: Entities and Pojos must have a usable public constructor. You can have an empty
  constructor or a constructor whose parameters match the fields (by name and type).
Error: Entities and Pojos must have …
Run Code Online (Sandbox Code Playgroud)

java android kotlin android-room

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

Raise MigrationSchemaMissing("无法创建 django_migrations 表 (%s)" % exc)

我有谷歌这个问题。有很多类似的问题,但我找不到正确的答案。

这是错误日志的详细信息:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "d:\django\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "d:\django\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "d:\django\django\core\management\base.py", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File "d:\django\django\core\management\base.py", line 335, in execute
    output = self.handle(*args, **options)
  File "d:\django\django\core\management\commands\migrate.py", line 200, in handle
    fake_initial=fake_initial,
  File "d:\django\django\db\migrations\executor.py", line 91, in migrate
    self.recorder.ensure_schema()
  File "d:\django\django\db\migrations\recorder.py", line 57, in ensure_schema
    raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create …
Run Code Online (Sandbox Code Playgroud)

python django django-models python-3.x

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

已存在的程序类型:org.hamcrest.CoreMatchers

当我构建我的应用程序时,我得到了跟随错误.

已存在的程序类型:org.hamcrest.CoreMatchers

消息{kind = ERROR,text =程序类型已存在:org.hamcrest.CoreMatchers,sources = [未知源文件],工具名称= Optional.of(D8)}

我有谷歌我的问题,喜欢这里的类似问题,但无法得到正确的答案.

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        ndk {
            ndk {
                moduleName "exec"
                abiFilters 'armeabi-v7a'
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jni.srcDirs = []
            jniLibs.srcDirs = ['libs']
            res.srcDirs = ['src/main/res']
            assets.srcDirs = ['src/main/assets']
            manifest.srcFile 'src/main/AndroidManifest.xml'
        }
    }
    configurations.all{
        resolutionStrategy.force 'org.hamcrest:hamcrest-core:1.1'
    } …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

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

ConstraintLayout 通过形状资源文件设置圆角不起作用

我遇到了一个奇怪的问题,当我通过资源文件设置用于适配器项目角的布局时,它不起作用shape

\n\n

这是我的shape资源文件

\n\n
<?xml version="1.0" encoding="utf-8"?>\n\n<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">\n    <corners android:radius="8dp" />\n</shape>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的适配器项目布局

\n\n
<?xml version="1.0" encoding="utf-8"?>\n<layout xmlns:android="http://schemas.android.com/apk/res/android"\n    xmlns:app="http://schemas.android.com/apk/res-auto"\n    xmlns:tools="http://schemas.android.com/tools">\n\n    <data>\n\n        <import type="android.view.View.OnClickListener" />\n\n        <import type="android.view.View" />\n\n        <import type="com.zhixin.wedeep.homepage.data.model.BriefComposition" />\n\n        <variable\n            name="clickListener"\n            type="OnClickListener" />\n\n        <variable\n            name="composition"\n            type="BriefComposition" />\n    </data>\n\n    <androidx.constraintlayout.widget.ConstraintLayout\n        android:layout_width="108dp"\n        android:layout_height="150dp"\n        android:background="@drawable/homepage_shape_recommend_composition_background"\n        android:gravity="center"\n        android:onClick="@{clickListener}"\n        android:orientation="vertical">\n\n        <TextView\n            android:id="@+id/text_view_label_is_new"\n            android:layout_width="36dp"\n            android:layout_height="22dp"\n            android:text="@string/homepage_new"\n            android:textColor="@color/color_white"\n            android:textSize="@dimen/font_size_10"\n            android:visibility=\'@{composition.tag == "NEW" ? View.VISIBLE : View.INVISIBLE}\'\n            app:layout_constraintRight_toRightOf="parent"\n            app:layout_constraintTop_toTopOf="parent"\n            tools:text="\xe6\x96\xb0\xe4\xb8\x8a" />\n\n        <ImageView\n            android:id="@+id/image_view_cover"\n            imageFromUrl="@{composition.cover}"\n            android:layout_width="match_parent"\n            android:layout_height="match_parent"\n            android:scaleType="centerCrop"\n            tools:src="@drawable/gt3_new_bind_logo" />\n\n        <LinearLayout\n            android:id="@+id/linear_layout_text_area"\n            android:layout_width="match_parent"\n …
Run Code Online (Sandbox Code Playgroud)

android android-layout kotlin android-recyclerview android-constraintlayout

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

无法访问作为“org.gradle.api.artifacts.dsl.RepositoryHandler”的超类型的“kotlin.collections.Collection”

在此处输入图片说明

添加Plugins{ `kotlin`}到 build.gradle.kts 文件后,出现上述错误。

我有谷歌这个问题并在删除所有 .gradle?.idea 目录后重建,但这个问题仍然存在。此外,我尝试使缓存无效,但不起作用。

对这个问题有什么想法吗?

android kotlin build.gradle gradle-kotlin-dsl

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

java.net.UnknownServiceException:网络安全策略不允许与 t.main.wedeep.com.cn 的 CLEARTEXT 通信

当我使用 mockhttpserver 测试 http 请求时出现上述错误,以下代码是我创建服务的方式。

   fun <T> getService(clazz: Class<T>): T {
        val client = OkHttpClient.Builder().addInterceptor(HeaderInterceptor()).addInterceptor(HttpLoggingInterceptor().apply { level = if (BuildConfig.DEBUG) HttpLoggingInterceptor.Level.BODY else HttpLoggingInterceptor.Level.NONE })
                .build()
        return Retrofit.Builder()
                .baseUrl(mockWebServer.url(""))
                .client(client)
                .addConverterFactory(GsonConverterFactory.create(GSON))
                .build()
                .create(clazz)
    }
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码。

@UninstallModules(HomePageDataModule::class)
@HiltAndroidTest
class TestHomePageViewModel {


    private lateinit var viewModel: HomePageViewModel

    @get:Rule
    var hiltRule = HiltAndroidRule(this)

    @Inject
    lateinit var cpd: CompositionDao

    @Inject
    lateinit var csd: CompositionsDao

    @Inject
    lateinit var hpds: HomePageDataSource

    @Inject
    lateinit var ss :HomePageService

    @Before
    fun init() {
        hiltRule.inject()
        viewModel = HomePageViewModel(HomeCompositionsRepository(cpd, csd, hpds, Util.GSON)) …
Run Code Online (Sandbox Code Playgroud)

android download-manager okhttp android-9.0-pie

4
推荐指数
1
解决办法
4628
查看次数

App_HiltComponents.ActivityC 范围为 @dagger.hilt.android.scopes.ActivityScoped 不能引用不同范围的绑定

将 Dagger-android 更改为 Hilt 后,出现以下错误。

  @Provides @Singleton @org.jetbrains.annotations.NotNull retrofit2.converter.gson.GsonConverterFactory com.zhixin.wedeep.common.di.NetWorkModule.provideGsonConverterFactory(com.google.gson.Gson)
  @Provides @Singleton @org.jetbrains.annotations.NotNull com.google.gson.Gson com.zhixin.wedeep.common.di.NetWorkModule.provideGson()
  @Singleton @Provides @org.jetbrains.annotations.NotNull com.zhixin.wedeep.homepage.data.dao.CommentDao com.zhixin.wedeep.homepage.data.di.HomePageDataModule.provideCommentDao(com.zhixin.wedeep.homepage.data.HomePageDatabase)
  @Singleton @Provides @org.jetbrains.annotations.NotNull com.zhixin.wedeep.homepage.data.HomePageDatabase com.zhixin.wedeep.homepage.data.di.HomePageDataModule.provideHomePageDatabase(android.app.Application)
  @Singleton @Provides @org.jetbrains.annotations.NotNull com.zhixin.wedeep.homepage.data.dao.CompositionDao com.zhixin.wedeep.homepage.data.di.HomePageDataModule.provideCompositionDao(com.zhixin.wedeep.homepage.data.HomePageDatabase)
  @Singleton @Provides @org.jetbrains.annotations.NotNull com.zhixin.wedeep.homepage.data.dao.CompositionsDao com.zhixin.wedeep.homepage.data.di.HomePageDataModule.provideBriefCompositionDao(com.zhixin.wedeep.homepage.data.HomePageDatabase) [com.zhixin.wedeep.main.App_HiltComponents.ApplicationC ?? com.zhixin.wedeep.main.App_HiltComponents.ActivityRetainedC ?? com.zhixin.wedeep.main.App_HiltComponents.ActivityC]
Run Code Online (Sandbox Code Playgroud)

谁对这个问题有想法?

android dagger-2 dagger-hilt

3
推荐指数
1
解决办法
527
查看次数

如何在使用流遍历列表时获取元素索引?

我想在遍历列表使用lambda时得到索引.

例如:

List<CheckBox> checkBoxes = null;

checkBoxes.forEach(checkBox -> {
      if (checkBox.isSelected()) {
          sb.append("index"); //I want to get checkbox index here
          sb.append(",");
      }
});
Run Code Online (Sandbox Code Playgroud)

编辑:这checkBoxes = null;只是一个占位符,但一旦我开始编写代码就会正常使用.

java lambda android java-8 java-stream

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

如何让****位于Textview的垂直中心

我有一个 Textview ,其内容是 **** ,我想在这个 Textview 的垂直中心制作 **** 。对于这个问题有什么想法吗?

PS:下面的代码不起作用。

   <TextView  android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:text="****"
              android:textColor="@color/bhTextColorPrimary"
              android:textSize="16sp" />
Run Code Online (Sandbox Code Playgroud)

android

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