我想让我的应用程序从网站收集信息

时间:2013-06-08 16:43:10

标签: java android eclipse

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

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

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

我知道我问了很多,对于那些对Android编程知之甚少的人来说这很难做,但我有2个月的假期要做,所以我会试一试。我非常感谢一些有用的指示,建议如何开始这样做。

2 个答案:

答案 0 :(得分: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());
}

答案 1 :(得分:0)

如果您可以在json中下载日程安排,请查看this教程。如果您可以在xml中下载它,请查看此Android Training