我是 android 和 java 的新手。我想在我的 android 应用程序中显示来自网站的特定数据作为列表视图,然后将这些数据保存到 sqlite 数据库。谁能告诉我如何从网站获取所需的数据?
实际上我想从一开始就知道。因为我不明白如何开始。请帮助我。我需要以下问题的帮助 1.如何打开一个解析数据的项目?2.构建目标是什么?3.项目中如何使用jsoup或其他进程?
我在这里是全新的。所以,请帮助我。提前致谢...
我是 android 和 java 的新手。我想在我的 android 应用程序中显示来自网站的特定数据作为列表视图,然后将这些数据保存到 sqlite 数据库。谁能告诉我如何从网站获取所需的数据?
实际上我想从一开始就知道。因为我不明白如何开始。请帮助我。我需要以下问题的帮助 1.如何打开一个解析数据的项目?2.构建目标是什么?3.项目中如何使用jsoup或其他进程?
我在这里是全新的。所以,请帮助我。提前致谢...
您可以使用 JSoup 解析。
JSoup 很棒而且非常有效,您会在上面的链接中找到很好的例子。
首先,您必须使用以下方式连接到要解析的网页:
Document doc = Jsoup.connect("http://example.com/").get();
确保使用 Asynctask 或处理程序在非 ui 线程中执行上述代码。
然后,您可以使用JSoup 选择器语法选择页面元素。
例如,假设您要选择属性设置为的div
标签的所有内容,您只需使用:id
test
Elements divs = doc.select("div#test");
要检索 div,然后您可以使用以下方法对其进行迭代:
for (Element div : divs)
System.out.println(div.text());
}
下面是示例代码段。
package org.jsoup.examples;
import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
/**
* Example program to list links from a URL.
*/
public class ListLinks {
public static void main(String[] args) throws IOException {
Validate.isTrue(args.length == 1, "usage: supply url to fetch");
String url = args[0];
print("Fetching %s...", url);
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a[href]");
Elements media = doc.select("[src]");
Elements imports = doc.select("link[href]");
print("\nMedia: (%d)", media.size());
for (Element src : media) {
if (src.tagName().equals("img"))
print(" * %s: <%s> %sx%s (%s)",
src.tagName(), src.attr("abs:src"), src.attr("width"), src.attr("height"),
trim(src.attr("alt"), 20));
else
print(" * %s: <%s>", src.tagName(), src.attr("abs:src"));
}
print("\nImports: (%d)", imports.size());
for (Element link : imports) {
print(" * %s <%s> (%s)", link.tagName(),link.attr("abs:href"), link.attr("rel"));
}
print("\nLinks: (%d)", links.size());
for (Element link : links) {
print(" * a: <%s> (%s)", link.attr("abs:href"), trim(link.text(), 35));
}
}
private static void print(String msg, Object... args) {
System.out.println(String.format(msg, args));
}
private static String trim(String s, int width) {
if (s.length() > width)
return s.substring(0, width-1) + ".";
else
return s;
}
}
最后但未列出。
如果您曾经做过异步操作,那么请在非 UI 线程中执行它。
有许多方法可以从 Web 中检索数据。数据可以是 json 字符串或 xml 的形式,两者都有不同的解析方式
对于 xml 解析,我们可以使用 SAX 解析器或 DOM 解析器
要了解有关 SAX 解析器的更多信息,请查看此链接:试试这个!!!