जवाबों:
आप parse
स्थैतिक विधि का उपयोग कर सकते हैंUri
Uri myUri = Uri.parse("http://stackoverflow.com")
Uri
एक parse
विधि डेवलपर के साथ एक वर्ग है ।android.com/ reference/ android/net/ Uri.html । एक विधि के बिना भी एक URI
class developer.android.com/reference/java/net/URI.html हैparse
। तो उपयोग करने के लिए सही वर्ग है Uri
। सुनिश्चित करें कि आपके पास सही आयात है
create
विधि का उपयोग कर सकते हैं । यह उड़ी के रूप में उपयोग करने के लिए सरल है। तो आपको उड़ी से क्या लाभ है?
मैं सिर्फ java.net
पैकेज का उपयोग कर रहा हूं । यहाँ आप निम्न कार्य कर सकते हैं:
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
यदि आप Kotlin और Kotlin android एक्सटेंशन का उपयोग कर रहे हैं , तो ऐसा करने का एक सुंदर तरीका है।
val uri = myUriString.toUri()
अपनी परियोजना के लिए कोटलिन एक्सटेंशन ( KTX ) को जोड़ने के लिए अपने ऐप मॉड्यूल के बिल्ड.ग्रेड से निम्नलिखित जोड़ें
repositories {
google()
}
dependencies {
implementation 'androidx.core:core-ktx:1.0.0-rc01'
}
आप नीचे दिखाए गए अनुसार Uri.parse () का उपयोग करके एक स्ट्रिंग को उड़ी में पार्स कर सकते हैं:
Uri myUri = Uri.parse("http://stackoverflow.com");
निम्नलिखित एक उदाहरण है कि आप एक अंतर्निहित इरादे में अपने नए बनाए गए उरी का उपयोग कैसे कर सकते हैं। उपयोगकर्ताओं के फोन पर एक ब्राउज़र में देखा जा सकता है।
// 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);
}
आप यूआरआई के साथ क्या करने जा रहे हैं?
यदि आप उदाहरण के लिए एक HttpGet के साथ इसका उपयोग करने जा रहे हैं, तो आप बस HttpGet आवृत्ति बनाते समय सीधे स्ट्रिंग का उपयोग कर सकते हैं।
HttpGet get = new HttpGet("http://stackoverflow.com");
android.widget.ImageView.setImageURI
- तो यह एक पूरी तरह से वैध सवाल है।
java.net.URI
यदि URI अपने मानकों के लिए पूरी तरह से एनकोडेड नहीं है, तो जावा का पार्सर विफल होने वाला है। उदाहरण के लिए, पार्स करने का प्रयास करें http://www.google.com/search?q=cat|dog
:। ऊर्ध्वाधर पट्टी के लिए एक अपवाद फेंक दिया जाएगा।
urllib एक स्ट्रिंग को a में बदलना आसान बनाता है java.net.URI
। यह पूर्व-प्रक्रिया करेगा और URL से बच जाएगा।
assertEquals("http://www.google.com/search?q=cat%7Cdog",
Urls.createURI("http://www.google.com/search?q=cat|dog").toString());