Jawaban:
Anda dapat menggunakan parse
metode statis dariUri
Uri myUri = Uri.parse("http://stackoverflow.com")
Uri
kelas dengan parse
metode developer.android.com/reference/android/net/Uri.html . Ada juga URI
class developer.android.com/reference/java/net/URI.html tanpa parse
metode. Jadi kelas yang tepat untuk digunakan adalah Uri
. Pastikan Anda memiliki impor yang benar
create
metode ini. Mudah digunakan seperti Uri. Jadi, apa manfaatnya dari Uri?
Jika Anda menggunakan Kotlin dan Kotlin android ekstensi, maka ada cara yang indah untuk melakukan hal ini.
val uri = myUriString.toUri()
Untuk menambahkan ekstensi Kotlin ( KTX ) ke proyek Anda, tambahkan yang berikut ke build.gradle modul aplikasi Anda
repositories {
google()
}
dependencies {
implementation 'androidx.core:core-ktx:1.0.0-rc01'
}
Anda dapat mengurai String ke Uri dengan menggunakan Uri.parse () seperti yang ditunjukkan di bawah ini:
Uri myUri = Uri.parse("http://stackoverflow.com");
Berikut ini adalah contoh bagaimana Anda dapat menggunakan Uri yang baru dibuat dalam maksud tersirat. Untuk dilihat di browser di ponsel pengguna.
// Creates a new Implicit Intent, passing in our Uri as the second paramater.
Intent webIntent = new Intent(Intent.ACTION_VIEW, myUri);
// Checks to see if there is an Activity capable of handling the intent
if (webIntent.resolveActivity(getPackageManager()) != null){
startActivity(webIntent);
}
Apa yang akan kamu lakukan dengan URI?
Misalnya, jika Anda akan menggunakannya dengan HttpGet, Anda bisa langsung menggunakan string ketika membuat instance HttpGet.
HttpGet get = new HttpGet("http://stackoverflow.com");
android.widget.ImageView.setImageURI
tidak akan - jadi ini adalah pertanyaan yang benar-benar valid.
Pengurai Java java.net.URI
akan gagal jika URI tidak sepenuhnya dikodekan dengan standarnya. Misalnya, mencoba untuk mengurai: http://www.google.com/search?q=cat|dog
. Pengecualian akan diberikan untuk bilah vertikal.
urllib memudahkan untuk mengonversi string menjadi a java.net.URI
. Ini akan melakukan pra-proses dan keluar dari URL.
assertEquals("http://www.google.com/search?q=cat%7Cdog",
Urls.createURI("http://www.google.com/search?q=cat|dog").toString());