使用联机的Java类列表填充微调器

使用联机的Java类列表填充微调器,java,android,spinner,Java,Android,Spinner,尝试使用来自的类填充微调器 我不知道该怎么办。 有没有从源代码解析的方法?这里有一些选择 正确的API 最好的方法是找到适当的编程/API方法来查询数据。(例如SOAP或Restful web服务) 因为在这种情况下,这似乎是不可能的,所以您有两个选择: 本地列表 自己创建列表并将其存储在本地。例如,将网页内容复制到文本页、csv文件、数据库表等中,然后进行查询 其优点是简单、健壮、可靠;但是,如果进行任何更改,它将不会自动更新 解析网页 实际上,您需要使用HTTPURLConnection加载

尝试使用来自的类填充微调器 我不知道该怎么办。
有没有从源代码解析的方法?

这里有一些选择

正确的API 最好的方法是找到适当的编程/API方法来查询数据。(例如SOAP或Restful web服务)

因为在这种情况下,这似乎是不可能的,所以您有两个选择:

本地列表 自己创建列表并将其存储在本地。例如,将网页内容复制到文本页、csv文件、数据库表等中,然后进行查询

其优点是简单、健壮、可靠;但是,如果进行任何更改,它将不会自动更新

解析网页 实际上,您需要使用HTTPURLConnection加载web页面,然后解析返回的主体。对于
    中的每个标记,您将提取所需的任何数据(例如标记的内容),并将其构建到列表中

    然后可以像往常一样显示该列表

    这种方法的问题在于,您依赖的是您无法控制的外部网页,该网页保持在相同的位置,并且包含相同的内容格式。它可以在任何时候改变,并会立即中断您的程序。更糟糕的是,它可能会发生微妙的变化,您仍然会解析它并得到一些结果,但不是所有的结果,您可能在一段时间内甚至没有意识到您的程序正在处理坏数据

    protected <T> T getFromURLAndParse(URL url) throws IOException {
        HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
        try {
            connection.setRequestMethod("GET");
    
            if (connection.getResponseCode() == 200) {
                // Parse String from connection.getInputStream()
            } else {
                // Handle failure
            }
        } finally {
            connection.disconnect();
        }
    }
    
    protectedt getFromURLAndParse(URL URL)引发IOException{
    HttpURLConnection connection=(HttpURLConnection)url.openConnection();
    试一试{
    connection.setRequestMethod(“GET”);
    if(connection.getResponseCode()==200){
    //从connection.getInputStream()解析字符串
    }否则{
    //处理失败
    }
    }最后{
    连接断开();
    }
    }
    

    对于实际的解析,请在网页上执行“查看源代码”,您可以看到布局。网页目前的状态如何?我会扫描第一个
      标记,然后在该标记内扫描每个标记并读取内容,直到找到一个
        标记。如前所述,这是非常脆弱的-如果网页更改,您的程序将失败。

        您需要json或xml格式的文档才能解析它,在这种情况下,我假设您要做的是,读取文档,从中提取字符串,对于每一个新行字符,请阅读字符串感谢您的建议,在深入挖掘之后,我找到了Jsoup。希望我能在这个项目到期之前弄清楚如何使用它:)