2012-02-08 61 views
1

私はURLアドレスの有効性をチェックしたいので、いくつかの調査の後で、私はapache.commons.validator.UrlValidatorクラスを使ってそれが良い解決策であることを発見しましたアンドロイドはorg.apache.commons.validatorを認識しません

import org.apache.commons.validator.UrlValidator; 

    public class ValidateUrlExample{ 

public static void main(String[] args) { 

    UrlValidator urlValidator = new UrlValidator(); 

    //valid URL 
    if (urlValidator.isValid("http://www.mkyong.com")) { 
     System.out.println("url is valid"); 
    } else { 
     System.out.println("url is invalid"); 
    } 

    //invalid URL 
    if (urlValidator.isValid("http://invalidURL^$&%$&^")) { 
     System.out.println("url is valid"); 
    } else { 
     System.out.println("url is invalid"); 
    } 

} 
} 

しかしアンドロイドがクラスを認識しない「org.apache.commons.validator」 は、誰もが、私はそれを修正するために何をすべきかを知っています:、これはコードの例ですか?事前

+0

については はFYI'無効なURLで、それは 'MalformedURLException'をスローします。詳細はhttp://developer.android.com/reference/java/net/URL.html#URL(java.lang.String) – ccheneson

+0

私はあなたの解決策を考慮に入れます、ありがとうございます –

+0

私はあなたのソリューションを試して、私はテストmyurl = new URL( ":putyoururlhere")、それは私にmalformedUrlExceptionをスローしませんが、java.lang.StringIndexOutOfBoundsExceptionをスローしてForceを強制終了します。 –

答えて

1

おかげで、あなたはまだApacheのコモンズのバリデータライブラリを使用する場合は、あなただけのthe libraryをダウンロードし、アプリでそれをパッケージ化する必要があります。

+0

ありがとうございます。しかし、バイナリやソースファイルをダウンロードする必要があるかどうかを知る必要がありますか?私のアプリでパッケージ化する場所はどこですか?ありがとうございました –

+0

バイナリファイルをダウンロードして、commons-validator-1.4.0.jarファイルを抽出してください。アプリにライブラリを追加する方法の詳細は、[こちら](http://developer.android.com/resources/faq/commontasks.html#addexternallibrary)にあります。 –

+0

ok againありがとうございました –

7

android.webkit.URLUtilで定義されたisValidUrl()メソッドを使用できます。多分あなたはそれを使用することができます - あなたは `新しいURL( "putyoururlhere")を使用した場合の例

if (!URLUtil.isValidUrl("yourUrl") 
    // do something 
+0

@Martin:あなたの編集内容を可能な限り「静か」にすることができるのが通常です。たとえば、URLをメソッドの最初の参照にインライン展開します。 – sarnold

関連する問題