121

アプリをクラッシュさせる「ホストが解決されていません」というエラーを回避する良い方法はありますか? ホスト( URL など)に接続して、それが有効かどうかを確認する何らかの方法はありますか?

4

12 に答える 12

225

URLUtilを使用 して、以下のようにURLを検証します。

 URLUtil.isValidUrl(url)

URLが有効な場合はTrueを返し、URLが無効な場合はfalseを返します。

于 2012-12-18T11:29:16.993 に答える
85
URLUtil.isValidUrl(url);

これが機能しない場合は、次を使用できます。

Patterns.WEB_URL.matcher(url).matches();
于 2014-01-27T10:43:42.933 に答える
27

ここと他の Stackoverflow スレッドで言及されているメソッドの組み合わせを使用します。

public static boolean IsValidUrl(String urlString) {
    try {
        URL url = new URL(urlString);
        return URLUtil.isValidUrl(urlString) && Patterns.WEB_URL.matcher(urlString).matches();
    } catch (MalformedURLException ignored) {
    }
    return false;
}
于 2016-12-06T14:53:03.167 に答える
7

from を使用している場合は、次のコードkotlinを作成しString.ktて記述できます。

fun String.isValidUrl(): Boolean = Patterns.WEB_URL.matcher(this).matches()

それで:

String url = "www.yourUrl.com"
if (!url.isValidUrl()) {
    //some code
}else{
   //some code
}
于 2018-09-10T06:53:53.057 に答える
5

操作を try/catch でラップします。URL が整形式であっても取得できない場合は、さまざまな方法があります。さらに、ホスト名が存在するかどうかを確認するなどのテストは、チェックの直後にホストに到達できなくなる可能性があるため、何も保証しません。基本的に、いくら事前チェックを行っても、取得が失敗して例外がスローされないことを保証することはできないため、例外の処理を計画することをお勧めします。

于 2011-02-05T04:35:38.900 に答える