小编Fan*_*dez的帖子

生成签名 APK 向导对话框未在 Android Studio 3.2 上启动

我正在尝试在 Android Studio 3.2 Canary 13 上发布一个应用程序。当我在 Studio 上单击Build > Generate Signed APK时似乎没有任何反应。可能是什么问题呢?

android

5
推荐指数
0
解决办法
286
查看次数

setContent 块是可组合的吗?

我正在自学 Android Jetpack Compose,并试图了解有关可组合函数调用的一些内容。

Android 官方文档指出“只能从其他可组合函数的范围内调用可组合函数”

我有这段代码在块Greeting内调用可组合 fxn setContent

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
//calling Greeting() inside the setContent() block
           Greeting("Me")
        }
    }
}

//Composable function
@Composable
fun Greeting(name: String) {

    Text(text = "Hello $name!", modifier = Modifier.padding(16.dp))

}
Run Code Online (Sandbox Code Playgroud)

既然我们在其中调用了一个 Composable 函数,那么这是否会使setContent 块成为一个 Composable呢?

请大家发表一下自己的想法和意见,谢谢大家。

android android-jetpack-compose composable

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

在 Jetpack Compose 中可视化组件树

在 Android 视图系统中,您可以看到构成视图层次结构的不同元素的 UI 树,例如如下所示:

在此处输入图片说明

除了预览可组合物之外,我正在寻找一种在组件树中可视化可组合物的方法,例如给定以下代码:

    @Composable
    fun TodoScreen(....) {
    
    Column(){
    LazyColumn{
    
    ...}
    Row{
    
    Button(){....}
    Text(){...}
    
    }
    
    }
}
Run Code Online (Sandbox Code Playgroud)

请让我知道是否有一种方法可以在 Android Studio Arctic Fox 上显示类似于上述 Android View Hierachy Image 的组件树。

android android-studio android-jetpack-compose

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

在 Compose 中使用 SavedStateHandle 传递整数导航参数时发生投射错误

我正在尝试从第一个屏幕导航到第二个屏幕,并且我需要提供一个整数标识符来从第二个屏幕上的 API 加载内容。

我在尝试传递 Int Nav 参数时遇到此错误。

java.lang.ClassCastException:java.lang.String无法转换为java.lang.Integer

这是我的 NavHost,我将/{recipeId}其用作第二个屏幕路线上的占位符。

            NavHost(
                    navController = navController,
                    startDestination = Screens.RecipesOverviewScreen.route
                ) {

                    //1st Screen
                    composable(route = Screens.RecipesOverviewScreen.route) {

                        RecipesOverviewScreen(
                            navController = navController,
                            onToggleTheme = { app.toggleLightTheme() })
                    }

                    //2nd Screen
                    composable(route = "${Screens.RecipeDetailScreen.route}/{recipeId}")
                    {
                        RecipeDetailScreen()
                    }
Run Code Online (Sandbox Code Playgroud)

然后,我调用navController.navigate()第一个屏幕,将idInt 类型传递到导航路线中。

RecipeList(recipes = listState.recipes,
                    onClickRecipeCard = { id ->
                    
                        //insert corresponding Int id into the Nav route
                        navController.navigate(
                        route = "${Screens.RecipeDetailScreen.route}/${id}"
     
                        )
                    }
Run Code Online (Sandbox Code Playgroud)

在第二个屏幕的 ViewModel 中,我使用 SavedHandleInstance 检索 nav 参数。 …

android android-jetpack-compose jetpack-compose-navigation

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

将 GoogleMap 动画组合到指定位置

我正在开发一个简单的地图应用程序,我正在尝试使GoogleMap可组合的缩放动画 持续时间超过 1000 毫秒。

到目前为止我有这个代码:

Column( ... ) {

                val destinationLatLng = LatLng(destination.lat, destination.lng)
                
                val cameraPositionState = rememberCameraPositionState {
                    position = CameraPosition.fromLatLngZoom(destinationLatLng, 15f)

                }

                GoogleMap(
                        modifier = Modifier.fillMaxSize(),
                        cameraPositionState = cameraPositionState
                        //stuck on animating this
                )

            }
Run Code Online (Sandbox Code Playgroud)

在旧的 GoogleMap 视图中,我可以使用此示例代码为相机设置动画。

googleMap.animateCamera(CameraUpdateFactory.newCameraPosition), 1000, null)
Run Code Online (Sandbox Code Playgroud)

但是,在 Compose 中,我无法重新设计它来实现放大动画。

我已经查看了Maps SDKMaps Compose 库的 Compose文档,但我仍然陷入困境。

请告诉我是否有办法在 Compose GoogleMap 中为相机设置动画

android google-maps android-jetpack-compose google-maps-compose

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

强制转换异常 - AndroidJUnitRunner 无法强制转换为 RoboMonitoringInstrumentation

致力于 Android Instrumented Test 来启动和测试此片段

在此输入图像描述

但我正在遇到这个令人讨厌的错误。

java.lang.ClassCastException: androidx.test.runner.AndroidJUnitRunner cannot be cast to org.robolectric.android.fakes.RoboMonitoringInstrumentation
at org.robolectric.android.internal.LocalActivityInvoker.getInstrumentation(LocalActivityInvoker.java:153)
at org.robolectric.android.internal.LocalActivityInvoker.startActivity(LocalActivityInvoker.java:40)
at androidx.test.core.app.ActivityScenario.launchInternal(ActivityScenario.java:265)
at androidx.test.core.app.ActivityScenario.launch(ActivityScenario.java:226)
at androidx.fragment.app.testing.FragmentScenario$Companion.internalLaunch$fragment_testing_release(FragmentScenario.kt:588)
at androidx.fragment.app.testing.FragmentScenario$Companion.launchInContainer(FragmentScenario.kt:559)
at com.example.android.architecture.blueprints.todoapp.taskdetail.TaskDetailFragmentTest.activeTasks_displayedInUi(TaskDetailFragmentTest.kt:35)Tests ran to completion.
Run Code Online (Sandbox Code Playgroud)

这些是我正在使用的依赖项

在此输入图像描述

一直在网上寻找答案,但我没有找到任何有用的发现。

我可能会错过什么?

android android-testing

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

Room database.withTransaction { } 块未解决

我正在遵循有关 RemoteMediator 的教程database.withTransaction{},一切都很好,直到我在使用允许数据库操作时遇到奇怪的错误。

在此输入图像描述

不幸的是,IDE 似乎没有(或拒绝)识别这个非常真实和合法的块。我已检查是否正确定义了 ROOM 数据库抽象类,并在 build.gradle(app) 文件中声明了这些 ROOM 和 Paging 3 库。

    // Room
    implementation "androidx.room:room-runtime:2.4.3"
    kapt "androidx.room:room-compiler:2.4.3"

    // Room-paging artifact
    implementation 'androidx.room:room-paging:2.4.3'

    // Paging 3.0
    implementation 'androidx.paging:paging-compose:1.0.0-alpha16'
Run Code Online (Sandbox Code Playgroud)

因此,我决定忽略该错误并继续调用块dao内的函数withTransaction{},但我得到Suspension functions can be call only inside a coroutine body

这有点令人困惑,因为 RemoteMediator 的load()覆盖函数已经是一个挂起函数

任何对这个问题有见解的人请帮忙,因为我似乎没有解决这个问题。

android android-room remote-mediator

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

删除 Firebase Firestore 布尔值字段的“is”前缀

当使用自定义 Kotlin 对象作为 firestore 时,请删除“is”前缀。它毁了我一整天。

data class UberRequest(val geoPoint: GeoPoint? = null,
                   
                   //don't use 'is' prefix on boolean properties
                   val isAccepted:Boolean = false,
                   @ServerTimestamp
                   val timestamp: Date? = null)
Run Code Online (Sandbox Code Playgroud)

android kotlin firebase google-cloud-firestore

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

List Util fastAny() 函数未解决

fastAny()我正在使用以下示例代码尝试 Kotlin 的 List Util函数:

fun main() {

    val list = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    val predicate = list.fastAny { it > 3 }

}
Run Code Online (Sandbox Code Playgroud)

函数正在Android project解析,但尚未解析IntelliJ project. 在此输入图像描述

我可能会错过什么?

android list kotlin

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