문자열을 Java (Android)의 Uri로 변환하려면 어떻게해야합니까? 예 :문자열을 Uri로 변환
String myUrl = "http://stackoverflow.com";
myUri = ???;
는문자열을 Java (Android)의 Uri로 변환하려면 어떻게해야합니까? 예 :문자열을 Uri로 변환
String myUrl = "http://stackoverflow.com";
myUri = ???;
는당신은 당신이 URI에 무슨 말을하는 건가요 Uri
Uri myUri = Uri.parse("http://stackoverflow.com")
에서 parse
정적 인 방법을 사용할 수 있습니다 ?
예를 들어 HttpGet과 함께 사용하려는 경우 HttpGet 인스턴스를 만들 때 문자열을 직접 사용할 수 있습니다.
HttpGet get = new HttpGet("http://stackoverflow.com");
그러나 예를 들어'android.widget.ImageView.setImageURI'는 그렇지 않습니다 - 그래서 그것은 완전히 유효한 질문입니다. – Martin
실제로이 질문에 대한 답변이 없습니다. –
난 그냥 java.net
패키지을 사용하고 있습니다. 여기서 다음을 수행 할 수 있습니다
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
당신은 Uri.parse()를 사용하여 열린 우리당에 문자열을 구문 분석 할 수 아래와 같이
Uri myUri = Uri.parse("http://stackoverflow.com");
다음은 사용할 수있는 방법의 예입니다 당신의 새롭게 창안 된 Uri. 사용자 전화기의 브라우저에서 볼 수 있습니다.
// 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);
}
java.net.URI
의 Java 파서는 URI가 완전히 표준에 맞춰져 있지 않으면 실패합니다. 예를 들어, 구문 분석을 시도하십시오 : http://www.google.com/search?q=cat|dog
. 수직 표시 줄에 예외가 발생합니다.
urllib을 사용하면 문자열을 java.net.URI
으로 쉽게 변환 할 수 있습니다. URL을 사전 처리하고 이스케이프 처리합니다.
assertEquals("http://www.google.com/search?q=cat%7Cdog",
Urls.createURI("http://www.google.com/search?q=cat|dog").toString());
당신이 코 틀린과 코 틀린 안드로이드 확장자를 사용하는 경우,이 일을 아름다운 방법이있다.
val uri = myUriString.toUri()
은 내가이 솔루션을 시도했지만 내가 그것으로 문제가있는 앱 모듈의 build.gradle
repositories {
google()
}
dependencies {
implementation 'androidx.core:core-ktx:0.1'
}
에 다음을 추가 프로젝트에 코 틀린 확장 (KTX)를 추가합니다. 첫 번째 Uri는 URI로 변경해야합니다 (java.net 패키지의 경우). 두 번째로 "구문 분석"생성자가 없습니다. 내가 뭘 잘못하고 있는지 알 겠어? –
http://developer.android.com/reference/android/net/Uri.html의'parse' 메쏘드를 가진'Uri' 클래스가 있습니다. 또한'parse' 메소드가없는'URI' 클래스 http://developer.android.com/reference/java/net/URI.html이 있습니다. 따라서 사용하기에 적합한 클래스는 '우리'입니다. 올바른 수입을 가지고 있는지 확인하십시오. – ccheneson
@ccheneson 왜 Uri가 URI보다 정확해야합니까? URI를 사용하면'create' 메소드를 사용할 수 있습니다.그것은 Uri만큼 사용하기 쉽습니다. 그럼 우리에게서 무슨 유익이 있니? – kaba713