我刚刚将Android Studio更新为最新版本3.1,由于以下错误,我无法执行任何操作:
org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://dl.google.com/dl/android/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom'.
Run Code Online (Sandbox Code Playgroud)
它还说:
Gradle project sync failed.
Run Code Online (Sandbox Code Playgroud)
这是我的错误的样子:
和
谢谢!
我有这两个类,Dog并且Beagle扩展了Dog.
class Dog {
protected String bark() {return "woof "; }
}
class Beagle extends Dog {
private String bark() { return "arf "; }
}
class Test {
public static void main(String args[]) {
Dog[] dogs = {new Dog(), new Beagle()};
for(Dog d : dogs)
System.out.print(d.bark());
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用任何其他编辑器而不是Eclipse时,上面的代码甚至都没有编译.我收到这个错误:
试图在Beagle类中为bark()方法分配较弱的访问权限.
您还可以在此处查看此行为.
如果我使用Eclipse Indigo(版本:3.7.2),则此代码编译良好,输出为:woof woof.
请让我明白哪一个是正确的,为什么?
提前致谢!
我读过Dan McGrath从这个问题得到的答案,他说在Firestore中,以下代码行是等效的:
myRef.startAt(searchText).endAt(searchText + "\uf8ff");
Run Code Online (Sandbox Code Playgroud)
这条线在Firebase Realtime数据库中工作完美,但是我试图在Cloud Firestore中找到几天的等效项。有人可以帮我吗?
提前致谢!
我List<Item>想使用 Jetpack Compose 显示它。在版本“1.0.0-alpha10”中,此代码:
@Composable
fun ItemsScreen(items: List<Item>) {
item?.let {
LazyColumn {
items(
items = items
) { item ->
ItemCard(item = item)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
工作正常,但是,根据新的更新,从“1.0.0-alpha11”开始:
LazyColumn/LazyRow/LazyVerticalGrid 范围的新 items(count: Int) 工厂方法。items(items: List) 和 itemsIndexed(items: List) 现在是扩展函数,因此您在使用时必须手动导入它们。
我的应用程序不再工作了。我不确定我是否理解:
items(items: List) 现在是扩展函数,因此您必须手动导入。
这是什么意思?如何解决这个问题?
提前致谢。
我有一个文本,我想画一个圆圈,该圆圈的颜色应该存在于我的资源文件中。
Text(
modifier = Modifier.align(Alignment.TopEnd).drawBehind {
drawCircle(
color = colorResource(R.color.primary),
radius = 96.00f
)
},
text = "X"
)
Run Code Online (Sandbox Code Playgroud)
但我得到:
@Composable 调用只能在 @Composable 函数的上下文中发生
如果我使用color = Color.Red,效果很好。所以我不想使用任何这些颜色,我想使用我的颜色。所以我想进行转换,但我找不到任何解决方案。我怎样才能转换它?
这是产生这种奇怪行为的代码:
ModalNavigationDrawer(
drawerState = drawerState,
drawerContent = {
Column(
modifier = Modifier.fillMaxSize()
) {
items.forEach { item ->
NavigationDrawerItem(
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding),
icon = {
Icon(
imageVector = item.icon,
contentDescription = null
)
},
label = {
Text(
text = item.name
)
},
onClick = {},
selected = true
)
}
}
},
content = {
Scaffold(
topBar = {},
content = { padding ->
Box(
modifier = Modifier.fillMaxSize().padding(padding)
) {
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) { …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack-compose android-jetpack-compose-material3
我正在尝试Algolia按照说明实施:here。
有一条消息说: App ID and API Key are stored in functions config variables
const ALGOLIA_ID = functions.config().algolia.app_id;
const ALGOLIA_ADMIN_KEY = functions.config().algolia.api_key;
const ALGOLIA_SEARCH_KEY = functions.config().algolia.search_key;
Run Code Online (Sandbox Code Playgroud)
我根本不熟悉 Node.js。我应该如何创建functions config variables?它应该是另一个文件或另一个函数或两者兼而有之?
谢谢!
我正在使用 Accompanist 动画库:
implementation "com.google.accompanist:accompanist-navigation-animation:0.24.0-alpha"
Run Code Online (Sandbox Code Playgroud)
我有以下 AnimatedNavHost:
val navController = rememberAnimatedNavController()
AnimatedNavHost(
navController = navController,
startDestination = "auth",
enterTransition = { EnterTransition.None },
exitTransition = { ExitTransition.None }
) {
composable(
route = "auth"
) {
AuthScreen(
navController = navController
)
}
composable(
route = "profile"
) {
ProfileScreen(
navController = navController
)
}
}
Run Code Online (Sandbox Code Playgroud)
我的 AuthScreen 很简单:
Box(
modifier = Modifier.fillMaxSize().padding(bottom = 48.dp),
contentAlignment = Alignment.BottomCenter
) {
Button(
onClick = {
signIn()
}
) {
Text(
text = …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack-compose jetpack-compose-navigation
我正在使用 Room 创建一个简单的应用程序。我创建了一个 DAO 接口:
interface ItemDao {
@Insert(onConflict = IGNORE)
fun addItem(item: Item)
}
Run Code Online (Sandbox Code Playgroud)
以及存储库接口:
interface ItemRepository {
fun addItem(item: Item)
}
Run Code Online (Sandbox Code Playgroud)
下面是该函数的实现:
class ItemRepositoryImpl(
private val itemDao: ItemDao
) : ItemRepository {
override fun addItem(item: Item) = itemDao.addItem(item)
}
Run Code Online (Sandbox Code Playgroud)
在 ViewModel 类中,我使用 viewModelScope 启动一个协程:
class ItemViewModel @Inject constructor(
private val repo: ItemRepository
) : ViewModel() {
fun addItem(item: Item) = viewModelScope.launch(Dispatchers.IO) {
repo.addItem(item)
}
}
Run Code Online (Sandbox Code Playgroud)
当我addItem从 UI 调用时,该项目已成功添加到 Room。现在的问题是,是否必须将ItemDao接口内的addItem函数设置为挂起函数?如果是,为什么?我真的很困惑。
编辑:
这是我创建数据库实例的方法:
fun provideItemDb( …Run Code Online (Sandbox Code Playgroud) 我有以下屏幕:
fun ItemsScreen(
viewModel: ItemsViewModel = hiltViewModel()
) {
val showProgressBarState = remember { mutableStateOf(false) }
if (showProgressBarState.value) { ShowProgressBar() }
when(val resource = viewModel.state.value) {
is Loading -> ShowProgressBar() //Works perfectly
is Success -> LazyColumn {
items(
items = resource.data
) { item ->
ItemCard(
item = item
)
}
when(val r = viewModel.s.value) {
is Loading -> showProgressBarState.value = true
is Success -> showProgressBarState.value = false
is Failure -> Log.d(TAG, "Failure")
}
}
is Failure -> Text(
text …Run Code Online (Sandbox Code Playgroud) android ×7
kotlin ×6
java ×2
android-jetpack-compose-material3 ×1
android-room ×1
composable ×1
eclipse ×1
firebase ×1
inheritance ×1
javascript ×1
node.js ×1
overriding ×1