0

我是 android 开发的新手,目前对于我的“第一个项目”,我制作了一个应用程序,该应用程序为我的学校存储了学校计划表(仅适用于我的同学)。现在我想扩展它并使应用程序连接到互联网并获取存储在网站上的计划表,以便整个学校都可以使用该应用程序。

这是我整个学校时间表的链接:http ://www.s-stps.tb.edus.si/dijaki/urniki.html

它是我的母语,所以你不会真正理解任何东西,但你可以看到桌子上有 3 个不同的下拉菜单,这就是我希望我的应用程序拥有的。一个下拉菜单,您可以在其中选择您所在的班级,然后应用程序将连接到互联网并获取该班级的日程安排并显示它,甚至可以下载它,这样就不需要进一步的互联网连接。

我知道我问了很多,对于不太了解 android 编程的人来说,这将很难做到,但我有 2 个月的假期来做这件事,所以我会试一试。我会非常感谢一些有用的指针,关于如何开始这样做的建议。

4

2 回答 2

1

您可以下载页面并解析 html 内容。下载页面应该很容易,举个例子:

import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;

String url = "http://www.whatever.com";
String html = "";

HttpClient httpclient = new DefaultHttpClient();
request = new HttpGet(new URI(url));
HttpResponse response = httpclient.execute(request);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    response.getEntity().writeTo(out);
    out.close();
    html = out.toString();
}

这不能在主线程上运行,因此您需要使用 asynctask 或 runnable 运行它。
对于解析,您可以使用JSoup。这里的问题不是使用 JSoup 本身,因为它很容易,而是分解文档结构。这里有 JSoup 的 helloworld:

String html = "<html><head></head><body><p>asdasd1</p><p>asdasd2</p></body></html>";

Document doc = Jsoup.parse(html);
Elements p = doc.select("p");

for(int i=0;i<p.size();i++){
    Log.i("p",p.get(i).text());
}
于 2013-06-08T17:08:19.193 回答
0

如果您可以下载 json 格式的时间表,请查看教程。如果您可以在 xml 中下载它,请查看此Android 培训

于 2013-06-08T17:12:16.983 回答