考虑:
class UnderstandingConversion {
public static void main(String[] args) {
int a=10, b=20;
byte c = (a>b) ? 40 : 50;
System.out.println(c);
// output : lossy conversion error
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码给出了一个错误“有损转换”,我理解,但如果我final在代码中使用关键字,如下所示,它工作正常。
class UnderstandingConversion {
public static void main(String[] args) {
final int a=10, b=20;
byte c = (a>b)? 40 : 50;
System.out.println(c);
// Output: 50
}
}
Run Code Online (Sandbox Code Playgroud)
这里的工作情况如何final?向下转型是如何发生的?
我正在使用Android Studio Chipmunk | 2021.2.1 补丁 2。
当我使用该implementation 'androidx.appcompat:appcompat:1.5.0'版本时,出现以下错误。
在模块生命周期-viewmodel-2.5.0-runtime(androidx.lifecycle:lifecycle-viewmodel:2.5.0)和生命周期-viewmodel-ktx-2.3.1-runtime(androidx.lifecycle:lifecycle)中发现重复的类androidx.lifecycle.ViewModelLazy -viewmodel-ktx:2.3.1)在模块lifecycle-viewmodel-2.5.0-runtime(androidx.lifecycle:lifecycle-viewmodel:2.5.0)和lifecycle-viewmodel-ktx-2.3中找到重复的类androidx.lifecycle.ViewTreeViewModelKt。 1-运行时(androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)
回滚到之前的implementation 'androidx.appcompat:appcompat:1.4.2'版本后就可以正常使用了。
build.gradle:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
}
android {
compileSdk 32
defaultConfig {
applicationId "com.halil.ozel.darkmode"
minSdk 28
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
dataBinding true
}
}
dependencies …Run Code Online (Sandbox Code Playgroud) 我正在尝试将可分割对象的可变列表添加到我的可组合项中。我还希望能够向其中添加对象和从中删除对象。
目前我正在使用这样的东西:
val names = remember { mutableStateListOf<String>() }
names.add("Bill")
names.remove("Bill")
Run Code Online (Sandbox Code Playgroud)
现在我希望这个列表在配置更改后继续存在,因此使用rememberSaveable. 也许是这样的:
val names = rememberSaveable { mutableStateListOf<String>() }
names.add("Bill")
names.remove("Bill")
Run Code Online (Sandbox Code Playgroud)
但这不起作用,它会抛出以下异常:
androidx.compose.runtime.snapshots.SnapshotStateList 无法使用当前的 SaveableStateRegistry 进行保存。默认实现仅支持可以存储在 Bundle 内的类型。请考虑为此类实现自定义 Saver 并将其传递给 RememberSaveable()。
这意味着SnapshotStateList( 的结果mutableStateListOf)不可保存。
到目前为止,我能想到几种解决这个问题的方法:
SnapshotStateList。val namesState = rememberSaveable { mutableStateOf(listOf<String>()) }。这确实可以完美地工作,但是更新列表需要设置值,这既慢又不方便(例如,namesState.value = namesState.value + "Joe"仅添加单个元素)。对于看似很小的任务来说,这两种方法似乎都太复杂了。我想知道做我想做的事的最好方法是什么。谢谢。
因此,当我在developer.android 站点中读到时,它Android 13在“权限”字段中带来了新的更改。
我有一个聊天应用程序,我需要拨打电话、打开相机、录制音频、在外部存储中读取和写入。因此,在 SplashScreen 中,我向用户请求这些权限。然而,其中一些没有被授予,但甚至系统也没有向我索要这些。
AndroidManifest.xml这是我在文件中声明的内容
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature
android:glEsVersion="0x00020000" …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 MainActivity 中创建一个 BottomSheetDialog,但现在我正在使用合成来绑定我的视图。但现在我被如何附加ViewBinding到我的BottomSheetDialog.
这就是我所做的,使用合成材料。
dialog = BottomSheetDialog(this, R.style.BottomDialogStyle)
dialogView = LayoutInflater.from(this).inflate(R.layout.test_dialog, dialog.mainContainer, false)
dialog.setContentView(dialogView)
Run Code Online (Sandbox Code Playgroud)
这就是让我困惑的地方ViewBinding
dialog = BottomSheetDialog(this, R.style.BottomDialogStyle)
binding = TestDialogBinding.inflate(?)
dialog.setContentView(binding.root)
Run Code Online (Sandbox Code Playgroud)
从上面的示例中,我想知道应该用什么填充参数,因为与在活动中我可以只用layoutInflater或在RecyclerView
适配器中填充该参数不同,而在适配器中我不能用
LayoutInflater.from(parent.context), parent, and false。
android kotlin android-viewbinding android-bottomsheetdialog
我使用 API 33 创建了一个新项目,但找不到某些字段。同时API 32也发现它没有问题。当我用 . 打开它时它会发出警告API 33。
buid.gradle(My Application):
plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.7.0' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
build.gradle(:app):
android {
compileSdk 33
defaultConfig {
applicationId "com.halil.ozel.myapplication"
minSdk 24
targetSdk 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility …Run Code Online (Sandbox Code Playgroud) 我想让搜索栏在视图出现后立即成为第一响应者。不幸的是,目前还没有@FocusState支持/其他调用来实现这个开箱即用的功能。还有其他方法可以实现这一目标吗?
struct SearchDemo: View {
@State var searchString : String = ""
var body: some View {
NavigationView {
List{
Text("...")
}
.searchable(text: $searchString)
}
}
}
Run Code Online (Sandbox Code Playgroud) 为什么显示创建密钥库失败?
我尝试了很多但没有成功。我输入了所有正确的信息,但它有效。
我在 android studio 中检查了 git 存储库,但遇到了错误Gradle sync failed。
当项目想要构建时,android studio 会抛出如下错误:
Run Code Online (Sandbox Code Playgroud)Gradle sync failed: Could not create parent directory for lock file C:\Users\username\.gradle\wrapper\dists \gradle-4.10.1- all\455itskqi2qtf0v2sja68alqd\gradle-4.10.1-all.zip.lck
我怎么解决这个问题?
感谢您解决这个问题,谢谢。
android gradle android-studio android-gradle-plugin android-studio-3.4
错误:找不到类型“ui.ViewConfiguration”。
\n在运行我的 flutter 项目时,我收到此错误并且构建失败。它在 Android 上运行良好,但仅在 ios 中运行时才发现问题。
\n\n\n无法构建 iOS 应用程序错误(Xcode):\n../../../../.pub-cache/hosted/pub.dev/printing-5.9.3/lib/src/widget_wrapper.dart:234 :9:\n错误:找不到类型\'ui.ViewConfiguration\'。\n../\xe2\x80\xa6/src/widget_wrapper.dart:234
\n
无法为模拟器构建应用程序。\n在 iPhone 14 上启动应用程序时出错。\n已退出
\n这是发生错误的代码。这是一个 .pubcache 文件。
\nimport \'dart:async\';\nimport \'dart:typed_data\';\nimport \'dart:ui\' as ui;\n\nimport \'package:flutter/material.dart\';\nimport \'package:flutter/rendering.dart\';\nimport \'package:flutter/widgets.dart\';\nimport \'package:pdf/pdf.dart\';\nimport \'package:pdf/widgets.dart\' as pw;\n\n/// ImageProvider that draws a Flutter Widget on a PDF document\nclass WidgetWraper extends pw.ImageProvider {\n WidgetWraper._(\n this.bytes,\n int width,\n int height,\n PdfImageOrientation orientation,\n double? dpi,\n ) : super(width, height, orientation, dpi);\n\n /// Wrap a Flutter Widget identified by a GlobalKey to an …Run Code Online (Sandbox Code Playgroud) android ×7
ios ×2
android-13 ×1
build.gradle ×1
dart ×1
dependencies ×1
final ×1
flutter ×1
gradle ×1
java ×1
kotlin ×1
swift ×1
swiftui ×1