我遇到过建议切换到 StateFlow 的文章。就像这里的那个一样。同样在新的 Android studio 中,StateFlow 支持自动包含在数据绑定功能中,包括协程依赖项。实时数据已在大多数应用程序中使用。我们应该从 LiveData 迁移到 StateFlow 吗?有什么好处?
android android-livedata kotlin-flow kotlin-stateflow android-studio-arctic-fox
我在尝试在 DartPad 上运行代码时遇到此问题。
'runZoned' is deprecated and shouldn't be used. This will be removed in v9.0.0. Use Bloc.Bloc.transformer instead...
Run Code Online (Sandbox Code Playgroud)
正确的更换方法是什么?
代码:
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
void main() {
BlocOverrides.runZoned(
() => runApp(const App()),
blocObserver: AppBlocObserver(),
);
}
/// Custom [BlocObserver] that observes all bloc and cubit state changes.
class AppBlocObserver extends BlocObserver {
@override
void onChange(BlocBase bloc, Change change) {
super.onChange(bloc, change);
if (bloc is Cubit) print(change);
}
@override
void onTransition(Bloc bloc, Transition transition) {
super.onTransition(bloc, transition);
print(transition);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个颤振应用程序。打开应用程序时,应用程序将播放静音视频,直到这里一切正常。但是,当我在后台播放 Spotify 中的音乐,然后尝试打开 Flutter 应用程序时,Spotify 会暂停背景音乐。所以我想要的只是让 Spotify 在后台播放音乐,同时我的应用程序中的视频保持静音播放。当我尝试在应用程序中取消视频静音时,Spotify 音乐必须暂停。
videoPlayerController = VideoPlayerController.asset(ConstantAssets.dummyVideo3)
..addListener(() {})
..setLooping(true)
..initialize().then((value){
videoPlayerController.play();
videoPlayerController.setVolume(0);
});
Run Code Online (Sandbox Code Playgroud)
所以,这个概念就像“一边播放 Instagram 视频,一边在后台听 Spotify”。可以做这样的事情吗?
我正在使用 Jetpack Compose,并且在许多示例的应用程序的 build.gradle 文件中遇到了“com.diffplug.spotless”插件,但我不确定我的项目中是否需要它。谁能解释一下在 Jetpack compose 项目中使用它的目的吗?
''' 应用插件:“com.diffplug.spotless” '''
android-studio build.gradle android-gradle-plugin android-jetpack android-jetpack-compose
我已将 google AdMob 添加到项目中并发现此错误:错误:找不到符号导入 com.google.android.gms.ads.InterstitialAd; ^ 符号:InterstitialAd 类 位置:包 com.google.android.gms.ads
我在所有 Jetpack compose 项目中多次收到此错误。这个错误是否与 Gradle 有关?因为我没有对主题进行任何更改。
java.lang.NoSuchFieldError: No field Companion of type Landroidx/compose/runtime/SlotTable$Companion; in class Landroidx/compose/runtime/SlotTable; or its superclasses (declaration of 'androidx.compose.runtime.SlotTable' appears in /data/app/~~-cK_xmGsJokhf6B_7aQseg==/com.swetajain.library-CN37OSea3A4uAWXYCBb63w==/base.apk)
Run Code Online (Sandbox Code Playgroud)
应用程序.build.gradle
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.ui:ui-tooling:$compose_version"
implementation "androidx.compose.runtime:runtime:$compose_version"
implementation "androidx.compose.foundation:foundation:$compose_version"
implementation "androidx.compose.foundation:foundation-layout:$compose_version"
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
implementation "com.google.android.material:compose-theme-adapter:$compose_version"
api 'com.github.bumptech.glide:glide:4.11.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-beta01'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0-beta01@aar'
implementation 'androidx.activity:activity-ktx:1.2.0-beta01@aar'
implementation "dev.chrisbanes.accompanist:accompanist-coil:0.3.3.1"
def nav_compose_version = "1.0.0-alpha02"
implementation "androidx.navigation:navigation-compose:$nav_compose_version"
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
Run Code Online (Sandbox Code Playgroud)
build.gradle-项目
buildscript {
ext.compose_version = …Run Code Online (Sandbox Code Playgroud) android-studio android-jetpack material-components-android android-jetpack-navigation android-jetpack-compose
在尝试生成签名的 APK 以便发布时。我发现以下错误。
这个错误是在我将 Android Studio 更新到 4.1.3 后才出现的。
经过检查,我发现 recyclerView.setHasFixedSize(true) 如果与 wrap_content 一起使用以获取滚动方向的大小,则会出现致命的 lint 错误。我已经通过在所有活动中删除该行来解决它,但我仍然需要知道为什么这个错误现在是致命的,更新之前没有这样的错误。
我在我的应用程序中添加了对每种应用程序语言的支持,即 android 13 功能,现在它是英语和俄语。我可以从设置更改应用程序语言,而无需更改设备语言。现在出于分析目的,我需要了解应用程序语言和设备语言。但如果我的设备是英语且应用程序是俄语,我总是收到俄语 -
Resources.getSystem().configuration.locales.get(0).language - ru
context.resources.configuration.locales[0].language - ru
Locale.getDefault().language - ru
Run Code Online (Sandbox Code Playgroud)
我希望收到来自
Resources.getSystem().configuration.locales.get(0).language
Run Code Online (Sandbox Code Playgroud)
和 茹从
context.resources.configuration.locales[0].language
Run Code Online (Sandbox Code Playgroud)
我会很高兴得到任何帮助
我在尝试从发送 NewVehicle 对象的另一个片段读取包时收到此错误。
错误:类“NewVehicle”不是抽象的,并且未实现抽象成员 public Abstract fun describeContents(): Int 在 android.os.Parcelable 中定义
新车.kt
import android.os.Parcelable
import com.google.gson.annotations.SerializedName
import kotlinx.android.parcel.Parcelize
@Parcelize
data class NewVehicle(
@SerializedName("av_se")
val avSe: String,
.....
@SerializedName("vh_ob")
val vhOb: String,
@SerializedName("zo_in")
val zoIn: String
):Parcelable{}
Run Code Online (Sandbox Code Playgroud) android ×6
kotlin ×3
flutter ×2
admob ×1
android-13 ×1
apk ×1
bloc ×1
build.gradle ×1
fatal-error ×1
flutter-bloc ×1
interstitial ×1
ios ×1
kotlin-flow ×1
kotlinx ×1
lint ×1
material-components-android ×1
parcel ×1
parcelable ×1