我最近决定开始学习 Kotlin,并且我已经开始了一个小项目来创建一个输出用户输入字符串的程序,但反过来。
我已经构建了一个版本,它使用 Typed Array 来存储用户给定的字符串,然后在返回字符串之前反转该数组中的每个单词,但反过来。目前它没有按预期工作,当程序运行时,它不会崩溃并且我没有错误日志,但程序输出看起来像:[Ljava.lang.string;@2d112c3。例如,我期望的输出是:用户给定的字符串:Hello World,程序输出:olleH dlroW。我在网上环顾四周,看到了一些其他类似性质的程序,但到目前为止,我无法解决我的版本中的问题。
acitivty_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/useButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="158dp"
android:layout_marginEnd="159dp"
android:layout_marginBottom="275dp"
android:text="Reverse String"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/userInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginTop="240dp"
android:layout_marginEnd="101dp"
android:ems="10"
android:hint="Enter a Word or String"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/programOutput"
android:layout_width="210dp"
android:layout_height="42dp"
android:layout_marginStart="100dp"
android:layout_marginTop="41dp"
android:layout_marginEnd="101dp"
android:layout_marginBottom="40dp"
android:text=""
app:layout_constraintBottom_toTopOf="@+id/useButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/userInput" />
</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
主活动.kt
@file:Suppress("UNUSED_CHANGED_VALUE")
package com.example.stringreversal
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle …Run Code Online (Sandbox Code Playgroud) 我目前正在学习如何在 java 中使用 android studio,并尝试制作一个社交媒体应用程序。我目前正在创建一个编辑个人资料页面,用户可以在其中更新其详细信息并上传个人资料图片。
我一直在关注在线教程,我遇到的所有教程都使用 startActivityForResult 方法。它已被划掉,并且不会调用该方法,因为它已被弃用。但我不知道该用什么来代替。
`ProfileImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//open gallery
Intent OpenGalleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(OpenGalleryIntent, 1000);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @androidx.annotation.Nullable Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1000){
if(resultCode == Activity.RESULT_OK){
Uri imageUri = data.getData();
ProfileImage.setImageURI(imageUri);
UploadImageToFirebase(imageUri);
}
}
}
private void UploadImageToFirebase(Uri image){
StorageReference fileRef = storageReference.child("Profile.jpg");
fileRef.putFile(image).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(Edit_Profile.this, "Image Uploaded", Toast.LENGTH_SHORT).show();
} …Run Code Online (Sandbox Code Playgroud) 我想知道字符串之间的区别?和字符串!在科特林中。我在 kotlinlang.org 上搜索但没有找到任何信息。
我想我不明白Android Studio的编程知识是如何运作的。我的意思是,我在互联网上看到了很多专注于某个版本的 Android Studio 的课程。那么如果我学习android 10的Kotlin就没用了,因为现在只有android 12的Kotilin有用吗?每次新版本的 Android 出现时,我都必须学习新的 kotlin 语言吗?我正在学习“c”的编程语言,无论您使用什么版本,您学到的“c”的所有内容在任何时间段都会有用。但我发现 kotlin 是不同的,那么,Kotlin 的编程语言是否会根据您正在开发的 android 版本而变化?在 Android Studio 上使用 Kotlin android 版本 11 与使用 Kotlin android 版本 12 有什么区别?谢谢
\nvar noteListState by remember { mutableStateOf(listOf("Drink water", "Walk")) }
Run Code Online (Sandbox Code Playgroud)
这是我的物品清单。任何线索将不胜感激
android android-developer-api android-jetpack android-jetpack-compose