吴文洁

Garden of Eden 自由 平等 尊重

原油指数抓取+android浮动窗口Service

| Comments

1.原油指数抓取

1.0 背景

ICBC工商银行推出的账户原油

以人民币交易是按照

纽约商业交易所(NYMEX)

西德克萨斯轻质低硫原油期货合约(WTI)价格报价,

以及账户国际原油参考洲际交易所(ICE)

布伦特原油期货合约(Brent)价格报价

和综合考虑人民币与美元汇率报价的。

1.1 SHELL实现

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh
#
# 抓取 wap.eastmoney.com 原油指数

#最新价
latestprice="";
#涨跌值
Pricevalue="";
#涨跌幅
risingAndfalling="";
#今开盘
openingQuotation="";
#最高价
ceilingprice="";
#最低价
bottomprice="";
#昨收盘
closingQuotation="";
#交易时间
exchangehour="";
# 分时图URL
timeLine="";
# K线图
KChart="";

#获得html
wget -O conc.html -q --user-agent="Mobile Safari/534.30" --no-cookies \
--referer="http://wap.eastmoney.com/Futures.aspx" \
http://wap.eastmoney.com/FuturesInfo.aspx?c=CONC

# 最新价:.{7}(.{4,5})
latestprice="`grep -o '最新价:.\{7\}\(.\{4,5\}\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"
#gsub(r,s,t) 在字符串t中,用s替换和正则r匹配所有字符串 返回替换的个数。如果没有给出t,缺省为$0

# 涨跌值:.{45}(.{3,5}[0-9])
Pricevalue="`grep -o '涨跌值:.\{45\}\(.\{3,5\}[0-9]\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 涨跌幅:.{45}(.{4,5}%)
risingAndfalling="`grep -o '涨跌幅:.\{45\}\(.\{4,5\}%\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 今开盘:.{7}(.{3,5}[0-9])
openingQuotation="`grep -o '今开盘:.\{7\}\(.\{3,5\}[0-9]\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 最高价:.{7}(.{4,5}[0-9])
ceilingprice="`grep -o '最高价:.\{7\}\(.\{4,5\}[0-9]\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 最低价:.{7}(.{4,5}[0-9])
bottomprice="`grep -o '最低价:.\{7\}\(.\{4,5\}[0-9]\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 昨收盘:.{7}(.{4,5}[0-9])
closingQuotation="`grep -o '昨收盘:.\{7\}\(.\{4,5\}[0-9]\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 交易时间:.{7}(.{19})
exchangehour="`grep -o '交易时间:.\{7\}\(.\{19\}\)' conc.html | awk 'gsub(/<[^>]*>/,"")'`"

# 分时图.*(ht.*)K
timeLine="`grep -o '分时图.*\(ht.*\)K' conc.html|\
grep -o '\(http.*0\)'|awk 'gsub(/amp;/,"")'`"

#获得分时图
wget -O timeline.png -q --user-agent="Mobile Safari/534.30" --no-cookies \
--referer="http://wap.eastmoney.com/Futures.aspx" $timeLine

#获得k线图 K线图.*(ht.*C0)
KChart="`grep -o 'K线图.*\(ht.*C0\)' conc.html|\
grep -o '\(http.*0\)'|awk 'gsub(/amp;/,"")'`";

wget -O KChart.png -q --user-agent="Mobile Safari/534.30" --no-cookies \
--referer="http://wap.eastmoney.com/Futures.aspx" $KChart

echo $latestprice
echo $Pricevalue
echo $risingAndfalling
echo $openingQuotation
echo $ceilingprice
echo $bottomprice
echo $closingQuotation
echo $exchangehour
#echo $timeLine
#echo $KChart

tPicPath="`pwd`""/timeline.png";
KPicPath="`pwd`""/KChart.png";

notify-send -t 20000 -i $tPicPath  "$latestprice $Pricevalue" " $risingAndfalling $openingQuotation \
$ceilingpric $bottomprice $closingQuotation $exchangehour"

注:grep 的正则表达式也许不准(在网页的改变下)

1.2 效果

效果

more: 账户原油 中国工商银行账户原油业务知识问答 2.android浮动窗口Service

FloatView.java

SV_FloateViewService.java

1
2
3
4
5
6
7
8
9
10
11
12
ComponentName component = new ComponentName
(this,wo.wocom.xwell.service.SV_FloateViewService.class);</code>

// 组件名称,intent会根据component

// name启动一个组件(activity,service,contentProvider)

Intent mIntent01 = new Intent();

mIntent01.setComponent(component);

startService(mIntent01);

效果:

浮动窗口

注:该版除屏幕外其他按键不能工作,

原因LayoutParams相关参数的设置(可能导致)

LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH

 

更新:

添加WindowManager.LayoutParams.flags的设置LayoutParams.FLAG_NOT_FOCUSABLE

//FLAG_NOT_FOCUSABLE Constant Value: 8 (0x00000008)不聚焦 可使实体按键反应//Window flag: this window won’t ever get key input focus, //so the user can not send key or other button events to it.