在jetpack compose测试(在真实设备上运行)中触发后退按钮按下的推荐方法是什么?
我想:
@get:Rule()
val composeTestRule = createAndroidComposeRule(MyActivity::class.java)
@Test
fun test() {
// Here would be some setup code, assertions and navigating into a second screen
// Navigate back to previous screen
composeTestRule.onRoot().performKeyPress(KeyEvent(NativeKeyEvent(0, KeyEvent.KEYCODE_BACK)))
// continue...
}
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
java.lang.IllegalStateException: KeyEvent can't be processed because this key input node is not active.
Run Code Online (Sandbox Code Playgroud)
我没有任何特殊的按键/导航逻辑,仅使用导航撰写库的开箱即用功能。
如何在多个设备上同时运行我的flutter应用程序,而不必执行以下顺序过程:选择设备->运行,选择其他设备->运行等?
使用:Android Studio 3.2.1 Flutter 1.0.0 Dart 2.1.0
似乎ModalBottomSheet默认显示,尽管它实际上应该隐藏(rememberModalBottomSheetState用 an 启动状态initialValue : SheetValue = Hidden)。显然这里缺少一些东西。
val bottomSheetState = rememberModalBottomSheetState()
ModalBottomSheet(
onDismissRequest = { /*TODO*/ },
sheetState = bottomSheetState,
containerColor = Color.White,
) {
Text(text = "Why am I showing?", color = Color.Black)
}
Run Code Online (Sandbox Code Playgroud)
调用bottomSheetState.hide()似乎也没有任何效果。
使用 Jetpack Compose BOM 2023.06.00,但在 2023.05.01 上获得相同的行为。
android android-jetpack-compose android-jetpack-compose-material3
我的目标是为Jenkins CI构建一个 Kony 项目。所以基本上我需要知道如何在 unix 命令行上构建项目。使用 Kony Studio 时,我的项目构建没有问题。
我已经成功地建立起使用的是Android的apkant的build.xml项目目录。这也为 ios 构建了一个 .kar 文件。我现在如何使用命令行通过 xcode 触发 ipa 构建?
环境:Mac OSX 10.10.2 和 Kony Studio 6.0。
我有一个主键列表,我需要从greendao数据库中获取这些元素。
最简单的方法是逐个查询每个对象并将其插入列表中:
public List<MyObject> getMyObjectByIds(List<String> ids) {
List<MyObject> result = new ArrayList<MyObject>();
for (String id : ids) {
QueryBuilder<MyObject> queryBuilder = myObjectDao.queryBuilder();
MyObject myObject = queryBuilder.where(MyObjectDao.Properties.Id.eq(id)).unique();
result.add(myObject);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是,这似乎非常无效,因为它必须执行ids.size()查询。具有多个OR语句的单个查询会更好。但是,由于whereOr()和or()方法仅除了2个或更多参数外,您必须制作许多IF ELSE语句才能捕获具有0、1或2个id的列表:
public List<MyObject> getMyObjectByIds(List<String> ids) {
QueryBuilder<MyObject> queryBuilder = myObjectDao.queryBuilder();
if (ids.size() == 0) {
List<MyObject> result = new ArrayList<MyObject>();
return result;
} else if (ids.size() == 1) {
return queryBuilder.where(MyObjectDao.Properties.Id.eq(ids.get(0))).list();
} else if (ids.size() == 2) {
queryBuilder.whereOr(MyObjectDao.Properties.Id.eq(ids.get(0)), MyObjectDao.Properties.Id.eq(ids.get(1)));
return queryBuilder.list();
} else …Run Code Online (Sandbox Code Playgroud) android ×3
android-jetpack-compose-material3 ×1
android-jetpack-compose-testing ×1
ant ×1
flutter ×1
greendao ×1
ios ×1
java ×1
jenkins ×1
sqlite ×1