Kısa cevap
Kalıp Sınıfında WEB_URL kalıbını kullanın
Patterns.WEB_URL.matcher(potentialUrl).matches()
Bu dönecektir URL geçerli ise TRUE ve URL geçersizse yanlış .
Uzun cevap
Android API seviyesi 8'den itibaren bir WEB_URL kalıbı vardır. Kaynaktan alıntı yapıldığında, "RFC 3987'nin çoğuyla eşleşiyor". Daha düşük bir API seviyesini hedeflerseniz, kalıbı kaynaktan kopyalayıp uygulamanıza dahil edebilirsiniz. Kalıpları ve eşleştiricileri nasıl kullanacağınızı bildiğinizi varsayıyorum, bu yüzden burada daha fazla ayrıntıya girmeyeceğim.
Ayrıca, URLUtil sınıfı bazı yararlı yöntemler sağlar, örneğin:
Yöntemlerin açıklamaları çok ayrıntılı değildir, bu nedenle muhtemelen kaynağa bakmak ve hangisinin amacınıza en uygun olduğunu bulmak konusunda en iyisisiniz.
Doğrulama kontrolünün ne zaman tetikleneceğine gelince, birden fazla olasılık vardır: EditText geri arama işlevlerini kullanabilirsiniz.
veya daha iyi olacağını düşündüğüm bir TextWatcher kullanın .
DO NOT USE URLUtil aşağıdaki gibi URL'yi doğrulamak için.
URLUtil.isValidUrl(url)
çünkü "http: //" gibi dizeleri geçerli URL olarak verir ve bu doğru değildir