Jawaban:
Anda dapat menggunakan parsemetode statis dariUri
Uri myUri = Uri.parse("http://stackoverflow.com")
Urikelas dengan parsemetode developer.android.com/reference/android/net/Uri.html . Ada juga URIclass developer.android.com/reference/java/net/URI.html tanpa parsemetode. Jadi kelas yang tepat untuk digunakan adalah Uri. Pastikan Anda memiliki impor yang benar
createmetode 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.setImageURItidak akan - jadi ini adalah pertanyaan yang benar-benar valid.
Pengurai Java java.net.URIakan 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());