新浪股票接口Android SDK(非官方)
新浪股票接口AndroidSDK
昨天想到一個(gè)點(diǎn)子,需要訪(fǎng)問(wèn)股票行情。于是在網(wǎng)上搜了一下免費(fèi)的股市行情的接口。發(fā)現(xiàn)新浪股票的數(shù)據(jù)接口比較穩(wěn)定,于是就用它了。
網(wǎng)上對(duì)于新浪股票的數(shù)據(jù)接口介紹比較詳細(xì),并且實(shí)現(xiàn)也很簡(jiǎn)單,所以花了一下午就基本完成了。想到大家開(kāi)發(fā)Android應(yīng)用可能也會(huì)需要訪(fǎng)問(wèn)股市行情,特此將資料整理在此,并附上Javadoc文檔和一個(gè)小Demo,以便后來(lái)人開(kāi)發(fā)更為便捷。
一、接口介紹:
1、行情接口:
以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪(fǎng)問(wèn)新浪的股票數(shù)據(jù)
接口:http://hq.sinajs.cn/list=sh601006 這個(gè)url會(huì)返回一串文本,例如:
var hq_str_sh601006="大秦鐵路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92,22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";
這個(gè)字符串由許多數(shù)據(jù)拼接在一起,不同含義的數(shù)據(jù)用逗號(hào)隔開(kāi)了,按照程序員的思路,順序號(hào)從0開(kāi)始。
0:”大秦鐵路”,股票名字;
1:”27.55″,今日開(kāi)盤(pán)價(jià);
2:”27.25″,昨日收盤(pán)價(jià);
3:”26.91″,當(dāng)前價(jià)格;
4:”27.55″,今日最高價(jià);
5:”26.20″,今日最低價(jià);
6:”26.91″,競(jìng)買(mǎi)價(jià),即“買(mǎi)一”報(bào)價(jià);
7:”26.92″,競(jìng)賣(mài)價(jià),即“賣(mài)一”報(bào)價(jià);
8:”22114263″,成交的股票數(shù),由于股票交易以一百股為基本單位,所以在使用時(shí),通常把該值除以一百;
9:”589824680″,成交金額,單位為“元”,為了一目了然,通常以“萬(wàn)元”為成交金額的單位,所以通常把該值除以一萬(wàn);
10:”4695″,“買(mǎi)一”申請(qǐng)4695股,即47手;
11:”26.91″,“買(mǎi)一”報(bào)價(jià);
12:”57590″,“買(mǎi)二”
13:”26.90″,“買(mǎi)二”
14:”14700″,“買(mǎi)三”
15:”26.89″,“買(mǎi)三”
16:”14300″,“買(mǎi)四”
17:”26.88″,“買(mǎi)四”
18:”15100″,“買(mǎi)五”
19:”26.87″,“買(mǎi)五”
20:”3100″,“賣(mài)一”申報(bào)3100股,即31手;
21:”26.92″,“賣(mài)一”報(bào)價(jià)
(22, 23), (24, 25), (26,27), (28, 29)分別為“賣(mài)二”至“賣(mài)四的情況”
30:”2008-01-11″,日期;
31:”15:05:32″,時(shí)間;
如果你要同時(shí)查詢(xún)多個(gè)股票,那么在URL最后加上一個(gè)逗號(hào),再加上股票代碼就可以了;比如你要一次查詢(xún)大秦鐵路(601006)和大同煤業(yè)(601001)的行情,就這樣使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001
2、圖形接口:
對(duì)于股票的K線(xiàn)圖,日線(xiàn)圖等的獲取可以通過(guò)請(qǐng)求http://image.sinajs.cn/…./…/*.gif此URL獲取,其中*代表股票代碼,詳見(jiàn)如下:
查看日K線(xiàn)圖:
http://image.sinajs.cn/newchart/daily/n/sh601006.gif
分時(shí)線(xiàn)的查詢(xún):
http://image.sinajs.cn/newchart/min/n/sh000001.gif
日K線(xiàn)查詢(xún):
http://image.sinajs.cn/newchart/daily/n/sh000001.gif
周K線(xiàn)查詢(xún):
http://image.sinajs.cn/newchart/weekly/n/sh000001.gif
月K線(xiàn)查詢(xún):
http://image.sinajs.cn/newchart/monthly/n/sh000001.gif
二、新浪股票Android SDK基本介紹:
通過(guò)上面的介紹,大家可以知道,新浪股票的接口非常簡(jiǎn)單。缺點(diǎn)是沒(méi)有任何文檔,也就是說(shuō)未來(lái)可能在沒(méi)有任何通知的情況下進(jìn)行改變。但是這么多年從未變過(guò),所以想來(lái)也不用擔(dān)心。
新浪股票Android SDK的基本思路就是通過(guò)HTTP協(xié)議GET方法,獲取到股票數(shù)據(jù)然后進(jìn)行解析。網(wǎng)絡(luò)鏈接我使用的是Apache的commons-httpclient。如果大家對(duì)使用http協(xié)議或者h(yuǎn)ttpclient的使用有疑問(wèn),可以參看我的另一篇博文《Android之基于HTTP協(xié)議的下載》,或者在網(wǎng)上查找相關(guān)資料。
SDK中核心的類(lèi)就兩個(gè),SinaStockClient和SinaStockInfo。前者封裝了訪(fǎng)問(wèn)股票行情的接口,后者對(duì)返回的數(shù)據(jù)進(jìn)行解析和封裝。
具體Javadoc文檔和Demo下載地址如下:
Android演示demo(含SDK)
參考資料:
轉(zhuǎn)載請(qǐng)注明出處:http://www.aygfsteel.com/zh-weir/archive/2012/03/01/371105.html
posted on 2012-03-01 22:50 zh.weir 閱讀(12890) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): Android項(xiàng)目源碼 、Android網(wǎng)絡(luò)編程 、Android應(yīng)用秘技