我想在我的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 会抛出一个抱怨“此注释不适用于目标'成员属性与委托”。谁有这个问题的想法?
当我运行我的应用程序时,出现以下错误。
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) 我有谷歌这个问题。有很多类似的问题,但我找不到正确的答案。
这是错误日志的详细信息:
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) 当我构建我的应用程序时,我得到了跟随错误.
已存在的程序类型: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) 我遇到了一个奇怪的问题,当我通过资源文件设置用于适配器项目角的布局时,它不起作用shape。
这是我的shape资源文件
<?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>\nRun 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
添加Plugins{ `kotlin`}到 build.gradle.kts 文件后,出现上述错误。
我有谷歌这个问题并在删除所有 .gradle?.idea 目录后重建,但这个问题仍然存在。此外,我尝试使缓存无效,但不起作用。
对这个问题有什么想法吗?
当我使用 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) 将 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)
谁对这个问题有想法?
我想在遍历列表使用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;只是一个占位符,但一旦我开始编写代码就会正常使用.
我有一个 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 ×8
kotlin ×4
android-room ×2
java ×2
build.gradle ×1
dagger-2 ×1
dagger-hilt ×1
django ×1
java-8 ×1
java-stream ×1
lambda ×1
okhttp ×1
python ×1
python-3.x ×1