
太陽能玻璃窗
窗戶採集太陽能,一直是科學家努力實現的目標,試想當窗戶能採集太陽能,並把它存儲起來使用,能大幅能夠顯著降低發電對煤炭,天燃汽的依賴.
位於馬里蘭州哥倫比亞市的太陽窗科技公司, 首席執行官約翰•康克林說: 太陽能窗戶可以做成完全透明,或彩色,而彩色會提升其制電效率。控制顏色讓它變得更暗或者明亮, 或帶有藍綠色、綠灰色或者棕色.能被可見光透過的電池板效率要降低一半,這是因為透明的光電池只能從光譜中紫外與紅外的範圍中進行光電轉化。
www.bookcard.net

太陽能玻璃窗
窗戶採集太陽能,一直是科學家努力實現的目標,試想當窗戶能採集太陽能,並把它存儲起來使用,能大幅能夠顯著降低發電對煤炭,天燃汽的依賴.
位於馬里蘭州哥倫比亞市的太陽窗科技公司, 首席執行官約翰•康克林說: 太陽能窗戶可以做成完全透明,或彩色,而彩色會提升其制電效率。控制顏色讓它變得更暗或者明亮, 或帶有藍綠色、綠灰色或者棕色.能被可見光透過的電池板效率要降低一半,這是因為透明的光電池只能從光譜中紫外與紅外的範圍中進行光電轉化。

農夫機器人(FarmBot)
農夫種植需要大量的體力,汗水和時間, 農夫機器人FarmBot的出現令一切變的輕鬆。
FarmBot像3D印表機一樣有XYZ三個方向,但配備感測器,種子注射器、耕犁和花灑噴嘴, 精確地定位一系列的操作如,整地,播種,澆水,施肥,除草,蔬菜收穫和資料獲取。
這機器由“農夫機器人公司”的首席執行官Rory Landon Aronson發明.這是一款為小型家庭種植糧食蔬果而設計的全套系統,在床墊大小的菜園裏,組裝一個機器人大約需要八小時。組件由鋁、不銹鋼和3D列印的塑膠製成,因此能夠經受住潮濕環境的侵蝕。售價3100美元. 但這家公司正計畫製造能夠適用於小型商業溫室種植園的更大的機器人。

互聯網名稱與數字位址分配機構
互聯網名稱與數字地址分配機構,(Internet Corporation for Assigned Names and Numbers,簡稱ICANN),創建於1998年9月18日, 克林頓政府時期, 非營利國際組織, 總部坐落於”加利福尼亞州洛杉磯”,該機構一直在美國商務部控制下, ICANN與美國政府(商務部)是合同關係,自成立以來負責全球互聯網域名和IP地址分配等相關職責.
亞利桑那、俄克拉荷馬、內華達和得克薩斯州的州司法部長本星期聯名簽署了訴狀,他們爭辯說,奧巴馬移交互聯網域名控制權的計劃是非法轉移美國聯邦財產,這類財產轉移需得到國會批准。試圖阻止這項移交。法官于星期五(9月30日)拒絕了這項請求。
美國政府對互聯網網名域名控制歷時40年的管轄權將終結。從2016年10月1日開始,負責ICANN日常業務的高管和董事會將向世界各大洲的所謂互聯網”利益攸關方小區”報告。
。

木衛二歐羅巴可能存在生命.
美國國家航空航天局(NASA),通過哈勃太空望遠鏡的觀察,木星衛星歐羅巴(Europa)存在地下海洋, NASA公佈了三張哈勃太空望遠鏡拍攝的歐羅巴的照片, 歐羅巴南極間歇性噴出羽狀水蒸氣,水汽噴發據估計有200公里那麼高,大量物質在被噴射到高空之後再落回木衛二表面, 估算其水量相當於地球水量的兩倍,這足以證據證明歐羅巴數英里厚的冰層下可能存在液態海洋,這是最有可能孕育生命的有利條件,這為科學研究提供了方便,科學家也許不用在木星著陸,也不用鑽穿冰層,就可以提取歐羅巴上的液態水.
NASA正在籌畫一個太陽能探測器進入木星軌道,對衛星歐羅巴的地表,大氣以及可能存在的內部海洋進行更深入的探測.

大端與小端
小人國的兩個派系因為水煮蛋時該從大的一端剝開還是小的一端剝開而爭論,發生六次判亂, 其中一個皇帝送了命,另一個丟了王位. 出自喬納森•斯威夫特的小說”格列佛遊記”
在1974年4月 Intel(英代爾)推出8080 CPU,它採用(Little-Endian)小端方式存取資料, 即低位優先,存取從最低位址開始按順序存放.因位Inter的X86的霸主地位,CPU運算都是小端, 稱為主機字節.
(Little-Endian)小端 存放0x22446688
低位地址 高位地址
——————————————————–>
————————————————-
| 88 | 66 | 44 | 22 |
————————————————-
在1974年8月Motorola(摩托羅拉)推出6800 CPU,它採用(Big-Endian)大端方式存取資料,即高位優先,存取從最高位址開始按順序存放.後來所大部分的網路資料均採用大端方式,稱為網路字節.
(Big-Endian)大端 存放0x22446688
低位地址 高位地址
——————————————————–>
————————————————-
| 22 | 44 | 66 | 88 |
————————————————-

倫敦皇家藝術學院設計師飛利浦·霍爾菲爾德設計的Grow Frame可折疊式水育農場. 在空置的集裝箱裏,每株植物種在一個盛著水和養料的容器裏, 加上可調節亮度的LED燈提供合適的光線. 種植白菜,菠菜,生菜和豆芽, 這些植物會製造氧氣,在種植蘑菇, 它吸收氧氣轉成二氧化碳, 令整系統自己保持平衡.
全球有每年1300萬個空集裝箱, 每個集裝箱占地12平方米,集裝箱運出去的是貨物,帶回的將會糧食,帶來很大經濟效益.

三星Note 7在上市之後光在美國就發生多起電池爆炸事件,造成55起汽車或房屋損毀,26人燒傷,被美國政府以及許多運輸業者對三星發出禁令.
三星為給蘋果的iPhone7的一記重擊並佔據市場,給予Note7高規格配置,特別在電池上造得更薄,容量更大,更快充電速度, 而問題就出在電池上.
因為在生產線品質控制不嚴.導致正負極發生接觸.導致了電池燃燒和爆炸.
為了增強續航,Note 7採用了3500mAh的電池,其實這電池容量也並不太高,我給老豆買的小米MAX電池容量就達到4850h, 我反而認為三星在電池使用上相當保守,完全是電池生產廠商品質控制不嚴所造成的.
三星的電池生產分別是SDI和ALT兩家.現在出現問題的是SDI,中國大陸則是由ATL生產.
SDI(Samsung SDI Co.) 三星子公司
ATL(Amperex Technology Ltd)香港新能源科技有限公司
此前三星預測,Note7第三季出貨量達400~500萬部,第四季度出貨量達800萬~900萬部.更令三星喜出望外的是,Note 7在發售之後的數周就達到250萬部的銷量,本可以iPhone7給一記重擊,現在卻麻煩不斷, 三星在9月2號停止Note7銷售.三星股價跳崖式大跌11%,市值蒸發掉了260億美元,超過10億美元召回成本,營收將會減少50億美元,年利潤率則降低5%.
一子錯滿盤皆落索,做生意就是這樣,其中一個環節出錯就可以帶來嚴重的損傷.
這給蘋果一次喘息的機會, 但iPhone7也沒有很大的改進,依然封閉,所以我並不看好蘋果,因為封閉不會帶來長久的繁榮.只有開放人別人參與分享,才會帶來長久的繁榮.

美國雅虎於2016年9月22日對外界公佈,其電郵系統5億用戶資料遭人竊取,包括姓名, 電子郵箱,電話號碼,生日,密碼.
密碼遭人盜取只講明一個問題,保存密碼的是明文,而不是保存密文,也就是密碼的指紋.通過一種不可易哈希演算法計算取的密文.
而人在密碼的使用上,通常會在不同的帳後使用相同或相近的密碼,這樣更大問題接種而來,你的姓名,電話號碼和生日,密碼,可被用來撞庫,那麼你的其他帳後也會被輕易攻破.
所以駭客為什麼要大量的用戶資訊. 雅虎郵箱從1996年開始提供服務,有大量用戶使用,更多用戶將會洩密.

全球有四款不同插頭與插座標準,英標,歐標,美標,澳標.
當你外出的時,你手機充電器,手提電腦充電器很可能與當地插座不匹配,這款萬能轉換器可幫到你!
使用方法很簡單.使用時先解鎖UNLOCK,彈出插腳後在鎖定LOCK.
英標式插腳: 半絕緣實心四方插腳,帶有防觸電保護.
英國,新西蘭,印度,巴基斯坦,香港,澳門,馬爾代夫,新加坡,馬來西亞,巴林群島,不丹,汶萊,博茨瓦納,賽普勒斯,葉門,加納,肯雅,卡塔爾,坦桑尼亞,辛巴威,阿聯酋等.
歐式插腳:半絕緣實心全銅插腳,帶有防觸電保護.
德國,法國,荷蘭,比利時,丹麥,芬蘭,挪威,瑞士,瑞典,波蘭,希臘,德國,盧森堡,奧地利,匈牙利,捷克,俄羅斯,羅馬利亞,義大利,西班牙,葡萄牙,印尼,印度,尼泊爾,孟加拉,巴基斯坦,土耳其,智利,埃及,摩洛哥.
美式插腳:全銅插片
兩直插:中國,美國,日本,澳大利亞,加拿大,臺灣,哥倫比亞,越南.
澳式插腳:全銅插片
兩扁插:美國,日本,澳大利亞,加拿大,臺灣,哥倫比亞,越南.

第一稿聯盟專治各類假新聞
有臉書和推特,紐約時報,華盛頓郵報,Buzzfeed News,法新社,CNN,等社交媒體巨頭組成了第一稿聯盟.合作改善網路新聞的總體品質.
該組織將建立自願行為準則,在社交媒體用戶中宣導提高新聞閱讀能力,建立一個平臺允許用戶核實疑似有問題的新聞報導.
“第一稿聯盟”的網站https://firstdraftnews.com/
社交媒體的出現令資訊的傳播速度,廣度,深度得到幾何式暴炸.假新聞和未經證實新聞也同時出顯並廣為傳播.
第一稿聯平臺上彙集了不同背景的團隊,聯手阻擊社交媒體上越來越猖獗假新聞.好的新聞應包擴來源,日期,地點.

線上支付的收費比較
支付寶自2016年10月12日起,對個人用戶超出2萬免費額度的“提現”收取0.1%的服務費。
單筆服務費<0.1元,按0.1元收費
免費服務:消費,理財,買保險,手機充值,水電煤繳費,掛號,繳納交通罰款
微信自2016年3月1日起,對個人用戶超出1千免費額度的“提現”收取0.1%的服務費。
微信轉帳不收費
免費服務:支付,轉帳,紅包
兌換免費提現額度:1個螞蟻積分=1元免費提現額度
PayPal收費更誇張.
提現美國銀行免費.
提現中國銀行35美金.
提現香港銀行大於或等於1000港幣免費, 小於1000港幣每筆收取3.5港幣.
轉帳收費
標準收費3.9%+0.3美元
上月 3000.01-10000.00美元收費3.4%+0.3美元
上月10000.01-100000.00美元收費3.2%+0.3美元
上月 100000.00美元以上收費2.9%+0.3美元
手機外置鏡頭三合一套裝使用評測


這款外置鏡頭套裝由一個萬能夾子,魚眼鏡頭,廣角鏡頭,微距鏡頭所組成.
現時智慧手機都具有攝影功能,在配合這款外置鏡頭讓你手機變成多功能相機.
廣角和微距是擰在一起的,那個小的可以擰開的,廣角需和微距一起才能使用,微距和魚眼可以單獨使用.
180度魚眼鏡頭:
一種焦距16MM或更短的並且視角接近或等於180度鏡頭.拍攝時四個暗角屬於正常現象,把拍攝圖像表現在一個求面上,你可以突出畫面中某個景物,鏡頭中央的畫面基本沒有變形,而畫面周圍則出現扭曲,突出中心畫面,巧妙的使用常常會拍攝出讓人意想不到的作品,特別是巴掌臉的可愛女生,用於自拍會更可愛.
廣角鏡頭
讓手機攝像擁有更大的視野空間,範圍更大,可以容納更多風景和人物,構圖更加豐富.在拍攝風景照時很有作用.角度越大越接近人的實際視野.
低位仰拍女生,能拍攝出誇張的大長腿效果,
俯衝45度拍攝女生眼睛會變大,臉部會變小更V.
微距鏡頭
一種用作微距離攝影的特殊鏡頭,主要用與拍攝十分細緻的物體,拍攝距離大致在1.5-3CM左右.10倍放大.特寫必備.在細緻的景象上拍攝高清晰度的影像.給人一種震撼奇妙的感覺.

咖啡香味鬧鐘-SensorWake
法國人吉拉姆•羅蘭德非常討厭早晨鬧鐘聲響,他在自已的車庫裏製造咖啡香氣鬧鐘原型.
傳感蘇醒:在氣味膠囊裏使用聚合物珠子,通過加熱膠囊和空氣流動會讓氣味排放出來,擴散到熟睡的你. 氣味可以持續15分鐘, 三分鐘內汽味變得足夠強烈, 芳香中醒來.
用戶還可以選擇薄荷, 濃縮咖啡, 割草,烤麵包、牛角麵包、巧克力,海邊芳香, 每一個氣味膠囊可以使用30次.也就說一個月就必須更換.
以香味喚醒的效果可能不會太好,因為人的嗅覺其實在睡眠中是關閉的,但是強烈的氣味會在幾分鐘內讓很多人醒來.但如果你有鼻塞,或者熟睡,它會啟動三分鐘的備用旋律.
煮咖啡鬧鐘- Barisieur
我們看看這能真正煮咖啡的鬧鐘,咖啡機底部通過不銹鋼滾珠對水進行傳感加熱水來煮咖啡。這是蒸餾煮水的方式,水沸騰後通過導管流入裝有咖啡粉的漏斗裏。咖啡機內置儲放咖啡粉和咖啡糖的專用盒,每天取出適量的咖啡放入漏斗上沖泡.
調節調沖泡時間,香味咖啡的香味會把你喚醒.你還可以第一時間喝到香味咖啡.
雀巢鬧鐘咖啡瓶蓋-NESCAFÉ Alarm Cap
雀巢鬧鐘將圓形的黑色小鬧鐘嵌入到咖啡罐蓋,內置LED顯示幕可以設定鬧鐘時間,配合7種音調和閃爍燈光,以溫柔自然的方式喚醒你。想要關掉鬧鐘,就必須打開瓶蓋,然後沖一杯香醇咖啡.

羅塞塔號專案由羅塞塔(Rosetta)號太空船與它的獨子菲萊(Philae)空間探測器觀測67P” 丘留莫夫-格拉西緬科”彗星, 旨在解開地球生命之謎的科學行動.
羅塞塔於2014年11月在釋放出菲萊在彗星上著陸,重達一百公斤菲萊, 因為下降速度過快, 用於固定的魚叉沒有啟動,在著陸時發生數次反彈,兩個小時內飛行了2.7公里後,在彗星的一處陰暗的裂縫中著陸,因為沒有太陽光照射. 靠自身電池工作的菲萊三天后因電量低,進入休眠狀態.
喚醒菲萊已經不可能,在冰冷的深空獨出兩年,很多儀器已經壞損壞.不過知道它的最後位置,給地球上的人們一點點安慰.
2016年9月30日羅塞塔將降落彗星67P表面與子同眠.



牧羊犬失業
在1765年第一次工業革命到現在,生產力的不斷上升,人類就面臨著大量失業的風險.
但這次失業的是牧羊犬而不是人,瓦格波特(SwagBot)機器人的將取代牧羊犬的工作,更加自動化地幫助農場主和牧場主.
它用來放牧牛群,看護牲畜,用電池作為動力,四輪驅動在崎嶇不平野外地區工作,爬越常見的木堆和溝渠,牽引重型的拖車,最高時速20公里.監控牛群,對可能生病的牛只進行判斷.
斯瓦格波特機器人由悉尼大學的澳大利亞科學家開發,零售價格預計在2萬美元左右.屆時牧羊犬的工作將由機器人牛仔取代.

自動駕駛需要一輛普通汽車上安裝三套系統.
影片攝像機:車身外部攝像機,用於識別人行道,自行車道等障礙物.
鐳射測距器:硬體車頂旋轉感應器對半徑60米內物體進行3D掃描,也獲的精確車身周邊3D地圖模型.
雷達感測器:幫助電腦確定車輛與障礙物的距離.
硬體和地圖早以不是問題,唯獨是人工智慧演算法多年冇突破.不過一旦突破電腦將有獨立思維與情感,終結者場面將在人世間重現.
自動駕駛要百分百保障車輛和人員安全,人工智能多用”狀態機”和”決策樹”,其他概率性演算法則多有失誤.
路面可能『大貨車』『細車』『單車』和『行人』橫穿馬路,要百分百識別各種路面情况從現在情况還不太可能.
2016年6月30日,美國佛羅裏達州,一輛特斯拉S型電動轎車在自動駕駛模式撞上大貨車車身,原因是高大的白色車身無法識別.
不過自動駕駛汽車將會大幅減少車禍的數量,因為他們遵守限速,路標,從不闖紅燈.
以現在技術完全可以自動控制方向盤,避免追尾相撞,自動泊車,變線警告,根據車流情況自動加速或減速.
在礦場裏卡車以可以由電腦操控全部自動運行.它們可以應付礦場裏有限交通量.由於成本可能更低,機器人卡車司機終究會全面取代人類司機工作.
你真想要冇『踏板』冇『方向盤』冇『手波』汽車?還有駕駛樂趣嗎?


蘋果VS歐盟-145億美元稅金
歐盟最近發窮惡,勒令蘋果向愛爾蘭支付145億美金的稅款.
歐盟反壟斷監管機構,早就盯上美國的公司,這次是財大氣粗蘋果.
蘋果CEO庫克稱歐盟稅款是”政治作怪”,是對在歐洲有業務的美國公司偏見.蘋果在上一年度已支付4億美元給愛爾蘭,並成為最高納稅人.如果一但歐盟判定補繳巨額稅款後,蘋果將全球市場的盈利轉回美國(約2150億美元).
歐盟競爭事務專員”維斯塔格”認為蘋果與愛爾蘭政府二十多年達成的稅收協議違反歐盟法律.應補繳稅金145億美金以及相應的利息.
美國財政部指責歐盟無視其他國家的稅務機關,用新方法懲罰美國公司在歐盟合法所得,將考慮報復.
愛爾蘭也表示將對歐盟裁決提出上訴.

SpaceX獵鷹9號無人火箭爆炸
2016年9月1日 SpaceX的無人火箭獵鷹9號在發射臺上發生爆炸,獵鷹9號上的衛星也被燒毀.爆炸地點是佛羅里達州卡納維拉爾角.
爆炸使地面產生震動.生成一個具大的火球.在幾公里之外的建築無的人員也感受到爆炸產生的衝擊波.暫無人員傷忘.
獵鷹9號準備星期六發射.測試往火箭裏灌注推進燃料,當時火箭上層的液氧箱出現問題導致大規模爆炸發生.
獵鷹9號搭載有色列太空署Amos-6衛星.Facebook租用其衛星頻譜.
臉書公司創始人紮克伯格表示對與衛星的燒毀深感失望.衛星計畫將互聯網服務擴展至撒哈拉沙漠以南的非洲地區以及世界其他的偏遠地區.
以色列太空署表示衛星被損毀是國家的航太產業極其嚴重的打擊.
SpaceX-卡納維爾角太空探索科技公司.
SpaceX開發的獵鷹9號是可以重複使用的運載火箭,這種火箭可以大副減少發射和運送成本。
美國在火箭發射曆上發生多次爆炸.其中1967年阿波羅1號失火3名宇航員喪生.1986年挑戰者號爆炸7名美國宇航宇喪生.最為世人記得.
色列太空署將向SpaceX索賠5000萬美元,或是要求SpaceX提供一次免費的發射服務.

風雨中的微軟
由蓋茨與艾倫創辦於1975年創辦微軟.他們的開發的BASIC解譯器成為行業的標準,這令微軟逐漸佔領了整個市場.
1980年微軟迎來左一次歷史的選擇,IBM選中微軟為其個人電腦(PC)編寫作業系統.
蓋茨沒有選擇自已開發,而是選擇買.
以5萬美元的價格從西雅圖的一位元程式編制者派特森手中購買,這就是後來的MS-DOS.
IBM-PC的成功使MS-DOS成為作業系統的標準.其他PC製造商都採用MS-DOS與IBM相容.微軟以每個拷貝授權使用給其他公司.
1985年發行Windows1.0,第一個圖形介面作業系統.
1987年發行Windows2.0.
1990年發行Windows3.0,為以後Windows的成功墊下基礎.
1991年由於利益的衝突,IBM與微軟解除合作關係,這講明最好的硬體都是過眼雲煙,軟體和演算法往往最後保留下來.
1993年推出Component Object Model(COM——元件物件模型),COM一種元件軟體發展技術.
COM本身並不是錯誤,錯誤的是將所有元件基於COM來開發.如ActiveX, DirectX以及OLE等.
DirectX在6.0之後在全部基於COM開發. 要講清楚COM原理要很厚書籍,但是它所提功的函數工能可能很簡單.這是種過度封裝體現.過度封裝帶來的後果很嚴重,特別是個人/團體開發.當你發現問題時往往太遲,代碼庫以經太龐大,無法修正.即使是微軟毒性也一樣.這是微軟自已飲下的慢性毒藥.
1995年微軟發佈Windows95,一個基於16位DOS的32點陣圖型系統.ORS2自帶有IE,它的成功令個人電腦成為集遊戲機,工作,上網於一體.令計算進入彩色時代.
1995年微軟推出MSN,一個曾經與QQ進行激戰產品,在大一統全球佈局的思想下失敗,2013年關閉MSN.
1998年發佈Windows98,它在Windows95基礎上改良而來.支援更多硬體,更穩定.如果你不斷安裝軟體.重裝依然是你的唯一選擇.
2000年發佈Windows Me,最後一個16位/32位元混合的Windows系統.
1993年發佈Windows NT 3.1,微軟的開發工作始於1988年,它招攬UNIX系統的開發者,開發一款純32位元的伺服器作業系統,花費5億美金.自Window ME之後微軟所有系統度基於NT架構.
NT價構具有里程碑意義.之後Window 32位元系統就是以它為基礎的.
1996年發佈Windows NT 4.0 同樣是服務版,不適合個人使用.
2000年發佈Windows 2000,原名為Windows NT 5.0 同樣是服務版,不適合個人使用. XP基於Windows 2000代碼的產品
2001年發佈Windows XP,最多使用者的作品.介面視覺極佳.啟動速度非常快(啟動速度與安裝的硬體和驅動有直接的關係),穩定性比以往的Window讀要好.硬體的相容極佳.
很多舊硬體直接裝上驅動,硬體廠商紛紛開法XP的驅動.舊版Window使用者全部改用XP.是微軟歷史上最成功的系統之一.
2003年發佈Windows Server 2003,同樣是服務版,不適合個人使用.
2006年發佈Windows Vista,這是Windows間隔時間最久的一次發佈,相隔五年
它是微軟的最失敗的作品,系統要求高,運行速度慢.要裝Vista肯定要升升級你的舊硬體.
XP配搭Office 2003已滿足日常辦公需求.用戶完全無動力升級.
2008年發佈Windows Server 2008,同樣是服務版,不適合個人使用.
2009年發佈Windows 7,它的出現令大量XP用戶升級.它的圖型介面比XP更佳.
2012年發佈Windows 8,它統一PC與平板,移動設備後.
加入應用市場,讓個人用戶,團隊,企業有一應用的發佈管道.這是微軟應該在Windows95/Windows98年代就應該做的事.
它卻等到其他移動應用市場掘起,Windows移失去移動市場.
2012年發佈Windows Server 20012,同樣是服務版,不適合個人使用.
2013年微軟宣佈收購諾基亞.這是微軟繼COM元件物件模型,應用市場後又一重大失策.
不但消耗大量資金去購買一間不思改進的硬體廠家.還令其他硬體廠商失去開發Windows移動設備的興趣.
2015年發佈Windows10,它將是所有設備統一平臺,最後一個Windows.
面對Android/安桌系統在移動市場的絕對地位,微軟卻遲遲不開發安桌java虛擬機.
這招可講是微軟的閃電鉗型戰術.
小鉗型支援安桌軟體遊戲,吸收大量安桌用戶,手機開發廠商.
大鉗型支部安桌應用市場,加入移動廣告.更加威脅到Google廣告業務.
各大导航网站搜索引擎的提交入口
如果你有一个网站,那么你必需提交的网站的域名给搜索引擎,和导航网站,这样你才可以为你网站/博客带来流量.
如果你的域名在起它网站有外链,搜索引擎也会自动收录.最终要你的网站吸引到用户的需求,才能带来收入.
Google 谷歌收录入口
应用商店开发者入口
当你开发一款软件或游戏,你当然希望多点染使用它,最好还有一定的收入,那么你需要你需要将你软件或游戏上存到应用市场.
有收费应用和免费应用,免费应用可以加入广告增加收入.
我会跟据重要程度来排列.
Google Play 这是最要的应用市场
Google 移动广告
百度手机助手 在中国国内的应用市场,可以申请移动广告
百度移动广告

白米:稻谷脱壳碾白后为大米,正常大米一般为白色,变黄的大米是品质变坏的象征.
黄米有两种,一种叫黄粒米,另一种叫黄变米.
黄粒米:稻谷在收割期间,遇到高稳多雨,又未能及时脱粒干燥.
稻谷存储时间过长或保存不善,会使加工的大米变黄.
黄粒米产生的主要原因是大米中的营养成份发生了成色反应,其营养价值大幅降低.
黄变米:稻谷在收割期间和储存期间含水过高,被真菌感染发生霉变所致.
黄曲酶感染大米后产身黄曲酶毒素,黄曲酶毒素是最强的置癌物.它的毒性极强,比氰化钾大10倍,比砒霜大68倍.
人体的肝脏主管解毒,大量量的毒素会令肝脏无法解毒,发生肝炎,肝硬化,肝坏死.

大米-防虫,防谷藕
防虫,下面使用防谷藕代称.大米本身以带有谷藕卵.夏天天气焱热,空气湿度大,而且大米容易吸味,吸湿,容易发霉的特性.谷藕并不会对人体健康造成影响.也不会导致大米的品质发生改变.
1.花椒气味防谷藕法:花椒是一种天然的植物,发放强列味道,天然就具有驱虫的作用.将花椒放在布袋内,如果放在密封袋则要刺穿几个梳气孔.此方法只合适将花椒放在大米的包装袋之外.万万不能与大米一起放置,因为大米容易吸味,花椒会盖去大米的米香,而且是不可易转的.
2.海带吸湿防谷藕法:利用干海带吸湿的能力,吸收空气中的水气.此方法同样只能将海带放在大米的包装袋之外.万万不能与大米一起放置,因为大米容易吸味,海带会盖去大米的米香,而且是不可易转的.
3.保存法:使用完全密封袋,不能漏气,因为大米容易吸味.发在冰箱中保存.
4.购米法:选购大米时应选则应选则较大的米厂,它们都有自己一套的防谷藕技术,保证大米在出厂时不含有谷藕,尽量购买当月出厂的,并根据家庭人数食量购买大米.以保证大米开包后,在一个月内食完.
一个成人每一天一餐,每餐两碗饭,则需要5KG大米.
一个成人每一天两餐,每餐两碗饭,则需要10KG大米.
三个成人每一天两餐,每餐两碗饭,则需要30KG大米.可以购买每包15KG的,半个月买一次米,谷藕连生长的时间没有.
排序算法-快速排序(三者取中劃分)
快速排序算法的一個改進版本,在數組取三個元素的中間進行劃分.這樣可以避免出現最壞的情況.
取數組的左邊,中間,右邊的元素.對這三個數進行排序.
#define less(A,B) ((A)<(B)) // 小於比較
#define exch(A,B) {int temp=A; A=B; B=temp;} // 交換
#define compexch(A,B) if(less(A,B)) exch(A,B) // 小於則交換
下面給出C代碼的實現.
// 劃分算法
//a:數組
//l:數組的左則索引
//r:數組的右則索引
void quicksort(int a[],int l,int r)
{
int i;
int temp;
// a[(l+r)/2] 與 a[r-1]交換
exch(a[(l+r)/2], a[r-1]);
// 取數組的左邊,中間,右邊的元素.對這三個數進行排序.
// 小於則交換
compexch(a[r-1],a[l]);
compexch(a[r], a[l]);
compexch(a[r], a[r-1]);
i = partition(a,l+1,r-1);
quicksort(a[],l, i-1);
quicksort(a[],i+1,r);
}
// 劃分算法
//a:數組
//l:數組的左則索引
//r:數組的右則索引
int partition(int a[],int l,int r)
{
int i,j,v,t;
i = l;
j = r;
v = a[j];//選則最右則的元素作為劃分元素v
while(true)
{
while(a[i]<v)
++i;// i的左則小與v
while(v<a[j])
{
++j;// j的右則大與v
if(j==l)
break;// 跳出
}
if(i>=j)
break;// 兩個指針相遇跳出掃描.
// 交換i,j,交換那些使掃描停止的元素.
t=a[i];
a[i]=a[j];
a[j]=t;
}
// 交換i,r,保證v的左則小於於它,v的右則大於它.
t=a[i];
a[i]=a[r];
a[r]=t;
return i;
}
排序算法-快速排序(非递归)
1.选则最右则的元素作为划分元素v,然后从左则扫描小于v的元素,然后从右则扫描大于v的元素.
交换那些使扫描停止的元素.
2.重复进行这样的过程直到两个指针相遇.
3.然后分别对左右两步分进行递归处理.最终得到一个排好序的数组.
// 全局数据
int stack[128];// 堆栈
int ps;// 堆栈指针
//初始化堆栈
void init()
{
ps = 0;
}
//堆栈是否为空
int IsEmpty()
{
if(ps == 0)
return 1;
else
return 0;
}
// 压入
void push(int v)
{
stack[ps]=v;
++ps;// 指针加一
}
// 弹出
int pop()
{
if(ps == 0)
return = 0;
–ps;// 指针减一
return stack[ps];
}
下面给出C代码的实现.
//快速排序(非递归)
//a:数组
//l:数组的左则索引
//r:数组的右则索引
void quicksort(int a[],int l,int r)
{
init();
push(l);
push(r);
while(IsEmpty())
{
l=pop();
r=pop();
if(r<=l)
continue;
i=partition(a,l,r);
if(i-l < r-i)
{
push(l);
push(i-1);
push(i+1);
push(r);
}
else
{
push(i+1);
push(r);
push(l);
push(i-1);
}
}
}
// 划分算法
//a:数组
//l:数组的左则索引
//r:数组的右则索引
int partition(int a[],int l,int r)
{
int i,j,v,t;
i = l;
j = r;
v = a[j];//选则最右则的元素作为划分元素v
while(true)
{
while(a[i]<v)
++i;// i的左则小与v
while(v<a[j])
{
++j;// j的右则大与v
if(j==l)
break;// 跳出
}
if(i>=j)
break;// 两个指针相遇跳出扫描.
// 交换i,j,交换那些使扫描停止的元素.
t=a[i];
a[i]=a[j];
a[j]=t;
}
// 交换i,r,保证v的左则小于于它,v的右则大于它.
t=a[i];
a[i]=a[r];
a[r]=t;
return i;
}
排序算法-快速排序
快速排序是由C.A.R.Hoare在1960年提出.对于大型数据,快速排序算法的性能是希尔排序的5到10倍.
快速排序是一种分而治之算法,它将素组划分成两部分,然后分别对两个部分进行排序.
1.选则最右则的元素作为划分元素v,然后从左则扫描小于v的元素,然后从右则扫描大于v的元素.
交换那些使扫描停止的元素.
2.重复进行这样的过程直到两个指针相遇.
3.然后分别对左右两步分进行递归处理.最终得到一个排好序的数组.
下面给出C代码的实现.
// 划分算法
//a:数组
//l:数组的左则索引
//r:数组的右则索引
int partition(int a[],int l,int r)
{
int i,j,v,t;
i = l;
j = r;
v = a[j];//选则最右则的元素作为划分元素v
while(true)
{
while(a[i]<v)
++i;// i的左则小与v
while(v<a[j])
{
++j;// j的右则大与v
if(j==l)
break;// 跳出
}
if(i>=j)
break;// 两个指针相遇跳出扫描.
// 交换i,j,交换那些使扫描停止的元素.
t=a[i];
a[i]=a[j];
a[j]=t;
}
// 交换i,r,保证v的左则小于于它,v的右则大于它.
t=a[i];
a[i]=a[r];
a[r]=t;
return i;
}
//快速排序
//a:数组
//l:数组的左则索引
//r:数组的右则索引
void quicksort(int a[],int l,int r)
{
int i;
if(l<=0)
return ;
quicksort(a,l, i-1);
quicksort(a,i+1,r);
}
//快速排序
//a:数组
//c:数组的长度
void quicksort(int a[],int c)
{
quicksort(a,0,c-1);
}
排序算法-希尔排序
1.希尔排序是查入排序的扩展版.在扫描数据时,把移动的增量或减量由原来的1变成h.
2.h就是步长.对于每个h,对每个h单独使用插入排斥.
下面给出C代码的实现.
//a:数组
//l:数组的长度
void shellsort(int a[],int l)
{
int i,j;
int h;// 步长
int v;
// 计算步长
h=1;
while(h<=l/9)
h=3*h+1;
for(;h>0; h/=3)// 改边步长
{
for(i=h; i<=l; ++i)// 使用插入排斥
{
j=i;
v=a[i];
while(j>=h && v < a[j-h])
{
a[j]=a[j-h];
j-=h;
a[j]=v;
}
}
}
}
顏色代碼
這是一款生成自定義顏色的應用程式.
展示色樣,色板的實用工具!
全中文顏色名稱
專業的顏色選擇器
用戶自定義顏色(RGB/CMYK)
按音量鍵切換畫面
分享自定義的顏色代碼
支援多種顏色模型/顏色空間轉換
http://shouji.baidu.com/software/8050740.html
排序算法-冒泡排序
1.进行遍历,当遇到最小元素时,将它与左边的元素逐个交换.直到将最小的元素移到对列的最左边.
2.进行遍历,将第二小的元素放到数组的左边第二个元素中.
3.以此类推.
冒泡排序,实际是选择排序,但需要更多CPU开销.
冒泡排序排序的特点是容易实现,不过比插入排序和选择排序慢.
下面给出C代码的实现.
//a:数组
//l:数组的长度
void bubble(int a[],int l)
{
int i,j;// 索引
int temp;// 用于交换
for(i=0;i<l;++i)
{
for(j=0;j<i;–j)
{ // 小于比较
if(a[j-1]<a[j])
{// 进行交换
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
1.将最小的元素放在最前.将最小元素作为关键字.
2.索引的左则是以排好序的,但不是处于最终位置.当碰到更小的数据向右移动腾出空间,插入较小的数据.
3.索引加一并重复上叙步骤.
3.当索引移到最右则时,则数组拍好序.
和选择排序不同的是,插入排序的运行时间和数据的原始排列顺序密切相关.
如果数据量比较大,而且已经排好序或几乎排好序,插入排序比选则排序好.
下面给出C代码的实现.
//a:数组
//l:数组的长度
void insertion(int a[],int l)
{
int i,j;// 索引
int temp;// 用于交换
int v;
// 将最小的元素放在最前.
for(i = l-1; i>0; –i)
{
// 进行小于比较
if(a[i-1] < a[i])
{// 交换
temp = a[i-1];
a[i-1] = a[i];
a[i] = temp;
}
}
for(i=2; i < l; ++i)
{
j = i;
v = a[i];
// 小于比较
while(v < a[j-1])
{// 向右移
a[j] = a[j-1];
j–;
a[j] = v;
}
}
}

godaddy.com經常發送優惠碼,吸引你續費與購買.但現在續費優惠已好小見有.我剛續費後就給我寄『主機續費20%』分明玩野.
| 優惠 | 促銷碼 |
| 新商品75%優惠 | GDBB1005B |
| 所有產品35%優惠 | YOUR35OFF |
| 新產品25%優惠 | gdbb2228f |
| 主機續費20% | rphost |
| 域名 |
排序算法之选择排序
它是一种最简单的排序算法,
1.选出数组中最小的元素,将它与数组中地一个元素交换.
2.然后找出次小元素,将它与数组中第二个元素进行交换.
3.重复这个方法,直到整个数组排序完毕.
选择排序的一个缺点是忽略有序部分.
当数组比较大,数据又比较小.则应选择改方法.
它与其它比算法相比,移动步数都要比选择排序要多.
下面给出C代码的实现.
//a:数组
//l:数组的长度
void selection(int a[],int l)
{
int i,j;//排序索引
for(i = 0; i < l; ++i)
{
int min = i;
for( j = i+1; j < l; ++j)
{ // 进行小于比较
if(a[j] < a[min])
min = j;
}
// 进行交换
int temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
在日常使用中我们常常需要颜色对照表.
#FFFFFF 白色 White
#FFFFF0 象牙色 Ivory
#FFFFE0 亮黄色 Light Yellow
#FFFF00 黄色 Yellow
#FFFAFA 雪白色 Snow
#FFFAF0 花白色 Floral White
#FFFACD 柠檬绸色 Lemon Chiffon
#FFF8DC 米绸色 Cornsilk
#FFF5EE 海贝色 Seashell
#FFF0F5 淡紫红 Lavender Blush
#FFEFD5 番木色 PapayaWhip
#FFEBCD 白杏色 Blanched Almond
#FFE4E1 浅玫瑰色 Mistyrose
#FFE4C4 桔黄色 Bisque
#FFE4B5 鹿皮色 Moccasin
#FFDEAD 纳瓦白 Navajo White
#FFDAB9 桃色 Peach Puff
#FFD700 金色 Gold
#FFC0CB 粉红色 Pink
#FFB6C1 亮粉红色 Light Pink
#FFA500 橙色 Orange
#FFA07A 亮肉色 Light Salmon
#FF8C00 暗桔黄色 Dark Orange
#FF7F50 珊瑚色 Coral
#FF69B4 热粉红色 Hotpink
#FF6347 西红柿色 Tomato
#FF4500 红橙色 Orangered
#FF1493 深粉红色 Deep Pink
#FF00FF 紫红色 Fuchsia
#FF00FF 红紫色 Magenta
#FF0000 红色 Red
#FDF5E6 老花色 Old Lace
#FAFAD2 亮金黄色 Light Goldenrod Yellow
#FAF0E6 亚麻色 Linen
#FAEBD7 古董白 Antique White
#FA8072 鲜肉色 Salmon
#F8F8FF 幽灵白 Ghost White
#F5FFFA 薄荷色 Mint Cream
#F5F5F5 烟白色 White Smoke
#F5F5DC 米色 Beige
#F5DEB3 浅黄色 Wheat
#F4A460 沙褐色 Sandy Brown
#F0FFFF 天蓝色 Azure
#F0FFF0 蜜色 Honeydew
#F0F8FF 艾利斯兰 Alice Blue
#F0E68C 黄褐色 Khaki
#F08080 亮珊瑚色 Light Coral
#EEE8AA 苍麒麟色 Pale Goldenrod
#EE82EE 紫罗兰色 Violet
#E9967A 暗肉色 Dark Salmon
#E6E6FA 淡紫色 Lavender
#E0FFFF 亮青色 Light Cyan
#DEB887 实木色 Burly Wood
#DDA0DD 洋李色 Plum
#DCDCDC 淡灰色 Gainsboro
#DC143C 暗深红色 Crimson
#DB7093 苍紫罗兰色 Pale Violet Red
#DAA520 金麒麟色 Goldenrod
#DA70D6 淡紫色 Orchid
#D8BFD8 蓟色 Thistle
#D3D3D3 亮灰色 Light Gray
#D3D3D3 亮灰色 Light Grey
#D2B48C 茶色 Tan
#D2691E 巧可力色 Chocolate
#CD853F 秘鲁色 Peru
#CD5C5C 印第安红 Indian Red
#C71585 中紫罗兰色 Medium Violet Red
#C0C0C0 银色 Silver
#BDB76B 暗黄褐色 Dark Khaki
#BC8F8F 褐玫瑰红 Rosy Brown
#BA55D3 中粉紫色 Medium Orchid
#B8860B 暗金黄色 Dark Goldenrod
#B22222 火砖色 Fire Brick
#B0E0E6 粉蓝色 Powder Blue
#B0C4DE 亮钢兰色 Light Steel Blue
#AFEEEE 苍宝石绿 Pale Turquoise
#ADFF2F 黄绿色 Green Yellow
#ADD8E6 亮蓝色 Light Blue
#A9A9A9 暗灰色 Dark Gray
#A9A9A9 暗灰色 Dark Grey
#A52A2A 褐色 Brown
#A0522D 赭色 Sienna
#9932CC 暗紫色 Dark Orchid
#98FB98 苍绿色 Pale Green
#9400D3 暗紫罗兰色 Dark Violet
#9370DB 中紫色 Medium Purple
#90EE90 亮绿色 Light Green
#8FBC8F 暗海兰色 Dark Sea Green
#8B4513 重褐色 Saddle Brown
#8B008B 暗洋红 Dark Magenta
#8B0000 暗红色 Dark Red
#8A2BE2 紫罗兰蓝色 Blue Violet
#87CEFA 亮天蓝色 Light Sky Blue
#87CEEB 天蓝色 Sky Blue
#808080 灰色 Gray
#808080 灰色 Grey
#808000 橄榄色 Olive
#800080 紫色 Purple
#800000 粟色 Maroon
#7FFFD4 碧绿色 Aquamarine
#7FFF00 淡黄绿色 Chartreuse
#7CFC00 草绿色 Lawn Green
#7B68EE 中暗蓝色 Medium Slate Blue
#778899 亮蓝灰 Light Slate Gray
#778899 亮蓝灰 Light Slate Grey
#708090 灰石色 Slate Gray
#708090 灰石色 Slate Grey
#6B8E23 深绿褐色 Olive Drab
#6A5ACD 石蓝色 Slate Blue
#696969 暗灰色 Dim Gray
#696969 暗灰色 Dim Grey
#66CDAA 中绿色 Medium Aquamarine
#6495ED 菊兰色 Cornflower Blue
#5F9EA0 军兰色 Cadet Blue
#556B2F 暗橄榄绿 Dark Olive Green
#4B0082 靛青色 Indigo
#48D1CC 中绿宝石 Medium Turquoise
#483D8B 暗灰蓝色 Dark Slate Blue
#4682B4 钢兰色 Steel Blue
#4169E1 皇家蓝 Royal Blue
#40E0D0 青绿色 Turquoise
#3CB371 中海蓝 Medium Sea Green
#32CD32 橙绿色 Lime Green
#2F4F4F 暗瓦灰色 Dark Slate Gray
#2F4F4F 暗瓦灰色 Dark Slate Grey
#2E8B57 海绿色 Sea Green
#228B22 森林绿 Forest Green
#20B2AA 亮海蓝色 Light Sea Green
#1E90FF 闪兰色 Dodger Blue
#191970 中灰兰色 Midnight Blue
#00FFFF 浅绿色 Aqua
#00FFFF 青色 Cyan
#00FF7F 春绿色 Spring Green
#00FF00 酸橙色 Lime
#00FA9A 中春绿色 Medium Spring Green
#00CED1 暗宝石绿 Dark Turquoise
#00BFFF 深天蓝色 Deep Sky Blue
#008B8B 暗青色 Dark Cyan
#008080 水鸭色 Teal
#008000 绿色 Green
#006400 暗绿色 Dark Green
#0000FF 蓝色 Blue
#0000CD 中兰色 Medium Blue
#00008B 暗蓝色 Dark Blue
#000080 海军色 Navy
#000000 黑色 Black

設計手機高度計!外出旅遊必備!
利用手機的氣壓傳感器,計算當前海拔高度!
安桌手機的通常帶有氣壓的監聽器
1.獲取感測器管理器
Sensor_Manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
2.判斷是否有氣壓計,這個判斷很種要,如過返回則代表沒有可用的感測器!
if(Sensor_Manager.getSensorList(Sensor.TYPE_PRESSURE).size() == 0)
return false;
3.獲取默認的氣壓計
Pressure_Sensor = Sensor_Manager.getDefaultSensor(Sensor.TYPE_PRESSURE);
或者獲取的首個氣壓計
Pressure_Sensor = Sensor_Manager.getSensorList(Sensor.TYPE_PRESSURE).get(0);
4.生成氣監聽器
Pressure_Listener = new PressureListener();
5.註冊感測器事件
Sensor_Manager.registerListener(Pressure_Listener, Pressure_Sensor, SensorManager.SENSOR_DELAY_UI);
6.創建氣壓的監聽器類,用於獲取氣壓!
static class PressureListener implements SensorEventListener{
7.氣壓盤改變
@Override
public void onSensorChanged(SensorEvent event)
{
Pressure = event.values[0]; //獲取氣壓
}
}
8.氣壓轉高度
每上升12米,氣壓計中的水銀柱下降1毫米,
hPa是百帕
在海平面的平均氣壓 約為1013.25百帕斯卡(760毫米水銀柱),這個值也被稱為標準大氣壓
1百帕=1毫巴=3/4毫米水銀柱
所以901HPA(氣壓)
901HPA=901*3/4=682.5MM水銀柱
760-682.5=77.5MM
77.5*12=930米
public static float PressureToAltitude(float Pressure)
{
float Altitude = 0;// 高度
float PRESSURE_STANDARD_ATMOSPHERE = 1013.25f;// 在海平面的平均氣壓(百帕斯卡)
// 轉換為水銀柱
Altitude = (float) (44330000f* (1f- Math.pow( Pressure/PRESSURE_STANDARD_ATMOSPHERE, 1.0f/5255.0f )));
return Altitude;
}
10.退出應用時釋放感測器監聽
Sensor_Manager.unregisterListener(Pressure_Listener);
//米轉英尺
static float m2ft(float m)
{
float ft=0;
ft = m * 3.2808398950131f;
return ft;
}
//米轉英尺
static float ft2m(float ft)
{
float m=0;
m = ft * 0.3048f;
return m;
}
沒有氣壓傳感器則通過GPS確定高度,後續.
华氏温标-(Fahrenheit,符号为℉)
冰,水以及氯化铵所混合而成的盐水中,量得的刻度即为0度.
水的冰点为32度.
水的沸点为212度.
人体温度为100度.(实为98.6度)
摄氏温标 -(Centigrade,符号为℃)
水的冰点是0度.
水的沸点为100度.
热力学温标(thermodynamic,符号为K)
热力学温度又被称为绝对温度.在压力一定时,温度每升高1℃,一定量气体的体积的增加值(膨胀率)是一个定值,体积膨胀率与温度呈线性关系.
摄氏温度转华氏温度
F=9/5 * C+32
华氏温度转摄氏温度
C=5/9 * (F-32)
摄氏温度转热力学温度
K=273.15+C
华氏温度转热力学温度
K=(F+459.67)/1.8
android分贝仪
邻居的音响影响你的睡眠?工地的噪音影响你的听力?
利用手机的咪克风,测量声音强度.
你需要android的录音AudioRecord接收声音
static android.media.AudioRecord Audio_Record;
每个采样单位所占空间
static int BitsPerSample = 16;
设置音频采样率,44100是目前的标准,但是某些设备仍然支持22050,16000,11025
static int Audio_Frequency = 44100;音频采样率
设置音频的录制的声道CHANNEL_IN_STEREO为双声道,CHANNEL_CONFIGURATION_MONO为单声道
设置声道配置-单声道,双声道除非你有两个咪克风,否则无意义.
static int Audio_Channel = AudioFormat.CHANNEL_CONFIGURATION_MONO;
static int Audio_Channel_Count = 1;// 一个声道
static int Audio_Encoding = AudioFormat.ENCODING_PCM_16BIT;// 音频编码
static byte Audio_Buffer[];
static int Audio_Buffer_Size;
1.计算缓冲的大小
Audio_Buffer_Size = android.media.AudioRecord.getMinBufferSize(Audio_Frequency, Audio_Channel, Audio_Encoding);
2.分配内存空间
Audio_Buffer = new byte[Audio_Buffer_Size];
3.分配录音对象
Audio_Record = new android.media.AudioRecord(MediaRecorder.AudioSource.MIC,
Audio_Frequency, Audio_Channel, Audio_Encoding,
Audio_Buffer_Size);
4.启动录音
Audio_Record.startRecording();
5.退出时要释放资源
Audio_Record.stop();// 停止
Audio_Record.release();// 释放
读取音频数据
size = Audio_Record.read(Audio_Buffer,0, Audio_Buffer_Size);
if(size == android.media.AudioRecord.ERROR_INVALID_OPERATION )
return true;
v = 0;
Audio_Size = Audio_Size + size;// 文件的大小
for(int i=0;i<size;i=i+2)
{
value = (Audio_Buffer[i+1] << 8) + Audio_Buffer[i];
v = v + (value * value);
}
平方和除以数据总长度,得到音量大小。
mean = v /(double)(size); // 音量
最后计算分贝
Decibel_Val = 10 * Math.log10(mean);
创建新的线程
Audio_Thread = new Thread(new Runnable() {
public void run() {
while(Audio_State == STATE_RUN)
{
Read(); // 读取
}
Audio_Record.stop();// 停止
Audio_Record.release();// 释放
Audio_Record = null;
Audio_Thread = null;
}} );
罗盘
罗盘又稱指南針,指北針,遊行必備,尋找目的地的方位!
支持磁偏角,真北极与磁北极之间转换!
偏航度:0-360
傾斜度:-90 ~ +90
橫搖度:-180 ~ +180
利用安桌手机的加速度传感器与磁场传感器,我在这里同时注册两个传感器.
1.获取传感器管理器
Sensor_Manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
2.创建罗盘监听器对像
Compass_Listener = new CompassListener();
3.判断是否有加速度计
if(Sensor_Manager.getSensorList(Sensor.TYPE_ACCELEROMETER).size() == 0)
return false;
4.获取第一个加速度计
Sensor_Accelerometer = Sensor_Manager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);
或着获取默认的加速度计
Sensor_Accelerometer = Sensor_Manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
5.注册传感器事件
Sensor_Manager.registerListener(Compass_Listener, Sensor_Accelerometer, SensorManager.SENSOR_DELAY_UI);
6.判断是否有磁场传感器
if(Sensor_Manager.getSensorList(Sensor.TYPE_MAGNETIC_FIELD).size() == 0)
return false;
7.获取第一个磁场传感器
Sensor_Magnetic = Sensor_Manager.getSensorList(Sensor.TYPE_MAGNETIC_FIELD).get(0);
或着获取默认的磁场传感器
Sensor_Magnetic = Sensor_Manager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
5.注册传感器事件
Sensor_Manager.registerListener(Compass_Listener, Sensor_Magnetic, SensorManager.SENSOR_DELAY_UI);
退出时释放传感器监听
Sensor_Manager.unregisterListener(Compass_Listener);
Sensor_Manager.unregisterListener(Sensor_Manager);
6.生成罗盘的监听器
static class CompassListener implements SensorEventListener{
7.罗盘改变
@Override
public void onSensorChanged(SensorEvent event)
{
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
{
Accelerometer_Values = event.values.clone();// 获取重力
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
GetAcceleration(x,y,z);// 获取重力
}
else
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
{
Magnetic_Values = event.values.clone(); // 获取磁场
}
GetYaw();// 偏航度
GetPitch(); // 倾斜度
GetRoll();// 横摇度
//发送选择通知
notifyVisibility();
}
}
public static float Yaw=0;// 偏航度
public static float Pitch=0;//倾斜度
public static float Roll=0;// 横摇度
static float[] inR = new float[9];
static float[] outR = new float[9];
static float[] V = new float[3];
计算横摇度
倾斜度为0度时横摇度最准确
获取旋转矩阵
SensorManager.getRotationMatrix(inR, null,Accelerometer_Values,Magnetic_Values);
获取设备的方向
Window_Manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
display = Window_Manager.getDefaultDisplay();
if(SYSTEM.GetVersion() >= 8)
rotation = display.getRotation();
else
rotation = display.getOrientation();
与设备的方向配合修正方向,省略.
x_axis = SensorManager.AXIS_X;
y_axis = SensorManager.AXIS_Y;
校正后的方向
SensorManager.remapCoordinateSystem(inR, x_axis, y_axis, outR);
提取弧度
SensorManager.getOrientation(outR, V);
弧度转为角度,横摇度
Roll = (float) Math.toDegrees(V[2]);
获取倾斜度
获取旋转矩阵
SensorManager.getRotationMatrix(inR, null,Accelerometer_Values,Magnetic_Values);
获取设备的方向
Window_Manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
display = Window_Manager.getDefaultDisplay();
if(SYSTEM.GetVersion() >= 8)
rotation = display.getRotation();
else
rotation = display.getOrientation();
与设备的方向配合修正方向,省略.
x_axis = SensorManager.AXIS_X;
y_axis = SensorManager.AXIS_MINUS_Z;
校正后的方向
SensorManager.remapCoordinateSystem(inR, x_axis, y_axis, outR);
提取弧度
SensorManager.getOrientation(outR, V);
弧度转为角度
Pitch = (float) Math.toDegrees(V[1]);
获取偏航度
获取旋转矩阵
SensorManager.getRotationMatrix(inR, null,Accelerometer_Values,Magnetic_Values);
获取设备的方向
Window_Manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
display = Window_Manager.getDefaultDisplay();
if(SYSTEM.GetVersion() >= 8)
rotation = display.getRotation();
else
rotation = display.getOrientation();
与设备的方向配合修正方向,省略.
x_axis = SensorManager.AXIS_Y;
y_axis = SensorManager.AXIS_MINUS_X;
校正后的方向
SensorManager.remapCoordinateSystem(inR, x_axis, y_axis, outR);
提取弧度
SensorManager.getOrientation(outR, V);
弧度转为角度
Yaw = (float) Math.toDegrees(V[0]);
磁北极=正北极+偏磁角
正北极=磁北极-偏磁角
Yaw = Yaw – GPSService.Declination;
http://shouji.baidu.com/software/8452414.html
設計手機高度計!外出旅遊必備!
利用手機的氣壓傳感器,計算當前海拔高度!
安桌手機的通常帶有氣壓的監聽器
1.獲取感測器管理器
Sensor_Manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
2.判斷是否有氣壓計,這個判斷很種要,如過返回則代表沒有可用的感測器!
if(Sensor_Manager.getSensorList(Sensor.TYPE_PRESSURE).size() == 0)
return false;
3.獲取默認的氣壓計
Pressure_Sensor = Sensor_Manager.getDefaultSensor(Sensor.TYPE_PRESSURE);
或者獲取的首個氣壓計
Pressure_Sensor = Sensor_Manager.getSensorList(Sensor.TYPE_PRESSURE).get(0);
4.生成氣監聽器
Pressure_Listener = new PressureListener();
5.註冊感測器事件
Sensor_Manager.registerListener(Pressure_Listener, Pressure_Sensor, SensorManager.SENSOR_DELAY_UI);
6.創建氣壓的監聽器類,用於獲取氣壓!
static class PressureListener implements SensorEventListener{
7.氣壓盤改變
@Override
public void onSensorChanged(SensorEvent event)
{
Pressure = event.values[0]; //獲取氣壓
}
}
8.氣壓轉高度
每上升12米,氣壓計中的水銀柱下降1毫米,
hPa是百帕
在海平面的平均氣壓 約為1013.25百帕斯卡(760毫米水銀柱),這個值也被稱為標準大氣壓
1百帕=1毫巴=3/4毫米水銀柱
所以901HPA(氣壓)
901HPA=901*3/4=682.5MM水銀柱
760-682.5=77.5MM
77.5*12=930米
public static float PressureToAltitude(float Pressure)
{
float Altitude = 0;// 高度
float PRESSURE_STANDARD_ATMOSPHERE = 1013.25f;// 在海平面的平均氣壓(百帕斯卡)
// 轉換為水銀柱
Altitude = (float) (44330000f* (1f- Math.pow( Pressure/PRESSURE_STANDARD_ATMOSPHERE, 1.0f/5255.0f )));
return Altitude;
}
10.退出應用時釋放感測器監聽
Sensor_Manager.unregisterListener(Pressure_Listener);
//米轉英尺
static float m2ft(float m)
{
float ft=0;
ft = m * 3.2808398950131f;
return ft;
}
//米轉英尺
static float ft2m(float ft)
{
float m=0;
m = ft * 0.3048f;
return m;
}
沒有氣壓傳感器則通過GPS確定高度,後續.