Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正确的URL条件_Java_Android - Fatal编程技术网

Java 正确的URL条件

Java 正确的URL条件,java,android,Java,Android,在我的应用程序中,我有EditText,用户可以在其中放置一个链接来显示照片 在这个活动中,我得到了一个按钮,当用户点击它时,他可以看到一个网站(他放在编辑文本中的url) 但有一个问题:应用程序只有在获得“.”时才能打开链接。。else应用程序崩溃 我认为只有4种情况: 用户仅放置www.vebsite.com,不带http:// 用户输入的更正url如下:.website.com 用户只放置这样的站点域:website.com,不包含 用户在url中放置空格(可能是错误的) 现在我有这样的条

在我的应用程序中,我有EditText,用户可以在其中放置一个链接来显示照片

在这个活动中,我得到了一个按钮,当用户点击它时,他可以看到一个网站(他放在编辑文本中的url)

但有一个问题:应用程序只有在获得“.”时才能打开链接。。else应用程序崩溃

我认为只有4种情况:

  • 用户仅放置www.vebsite.com,不带http://

  • 用户输入的更正url如下:.website.com

  • 用户只放置这样的站点域:website.com,不包含
  • 用户在url中放置空格(可能是错误的)
  • 现在我有这样的条件:

    if (String.valueOf(text_of_url).contains("www")) {
    String full_url = String.valueOf(text_of_url).replace("www.", http://www.");     
    }
    
    else if (String.valueOf(text_of_url).contains(".")) { 
    String full_url = String.valueOf(text_of_url).replace(" ", "");
    }
    
    但是它工作不正确(我是java新手)

    在这种情况下如何正确执行此操作?

    您可以使用以下方法:

    Patterns.WEB_URL.matcher(YourUrl).matches()
    
    如果url正确,则返回TRUE。否则,它将返回FALSE

    尝试以下方法:

    private boolean isURLValid(String url){
        if(Patterns.WEB_URL.matcher(url).matches()){
            return true;
        }
        //Show your warning message or whatever you want
        return false;
    }
    

    您不能用if条件检查所有可能性。

    谢谢您的建议!但这看起来很难。有一个简单的方法来处理条件吗?@Dmitry,编辑了我的答案。移除的部分只是为了展示它是如何工作的。对不起,麻烦了。