我是android初学者。我正在为android编写股票市场应用程序。我不知道如何做到这一点,我该怎么做才能获得有关股市的数据?
答案 0 :(得分:1)
首先,您应该知道什么是API和Web服务;以及他们如何工作聚集。例如BSE API,Google Finance Api,Yahoo API。
在研究它们之后,你可以将它们集成到android代码中;解析web-services返回的数据和结果,然后你可以在android模拟器上显示它们。
这是你应该如何进步的。
你可以查看library这可以帮助你将google finance api与你的Android代码集成。尝试为这些内容搜索更多示例代码,您可以这样做。
答案 1 :(得分:0)
您正在寻找的内容存在于java.net包中。您将要创建一个指向您的网络应用的URL或用于股票市场数据的API,然后以适当的形式获取它。它应该是:
URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html");
URLConnection urlConnection = url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
try {
readStream(in);
finally {
in.close();
}
(取自http://developer.android.com/reference/java/net/URLStreamHandler.html)
请务必先在您的应用权限中请求网络访问权限。
答案 2 :(得分:0)
请参阅IBM的this股票市场教程,了解如何使用Android中的互联网数据检索股票的最新定价信息。
答案 3 :(得分:0)
在您的活动类中使用此类
它扩展了AsyncTask
,这是在后台执行任务的一个非常好的选择,因为它可以提高应用程序的整体性能。
private class DownloadFromWeb extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
for (String url : urls) {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(
new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(String result) {
//Do whatever you want with result string...
}
}
现在将此类用作:
DownloadFromWeb task = new DownloadFromWeb ();
task.execute("http://www.google.com"); //replace the URL with your URL
希望它有所帮助!!!