Android 板


LINE

因為我之前的標題是英文標題,所以可能大家都懶的看,我改成中文的標題大家應該會比 較有興趣,這邊再分享一次給大家看吧 XDDDDD blog文:http://kewang.pixnet.net/blog/post/26566454 簡報版:http://0rz.tw/f7Evh 這幾天一直在研究要怎麼將Android與外部的資料庫存取,因為書中都只有講到如何與 Android本身的SQLite做存取,可是對於外部資料庫存取的部分卻是少的可憐,拜了一下 Google大神也是沒有什麼結論,於是我就自己想了一套還蠻蠢的方法,不過有顧慮到與資 料庫存取的安全性啦。 一般我們在網頁存取資料庫的時候,當然都是連到DMZ裡面的web server,然後web server再用各種方式(ADO.NET, ODBC, JDBC......等)與防火牆內的資料庫做存取,可是 這僅限於Web應用程式可以如此存取,如果你寫的是手機程式(iPhone APP、Android APP) 的話,那這種方法理論是可行,可是實際上是不可行的。 如果想要讓手機程式(這邊以Android為例)讀取外部資料庫時,最簡單的方法就是用JDBC 去連外部資料庫,可是這會發生一個安全上的問題。也就是資料庫必須要從防火牆內拉出 來放到DMZ,要不然JDBC是永遠都沒辦法存取外部資料庫的,所以就有一堆人想到了,對 web server用web service來做存取資料庫的動作,這就解決了安全性的問題,可是在開 發時卻還是極為不便。 如果大家有用過Rails開發程式的話,應該對於它那個強大的RESTful機制和ORM愛不釋手 吧,用ORM來解決了許多操作資料庫的問題,也從最根本的方式用RESTful來存取資料庫。 所以我就架了一台可以跑Rails的web server在DMZ,而且因為我只要用到RESTful和ORM而 已,所以我將web server從apache改為lighttpd,其實還有其他更輕量的web server,只 不過我只會這兩套而已 XD。 再來就是設定Rails的RESTful以及建立DB migration,這些都完成了之後,最後把 RESTful的那四個method以及七個action實作出來,這樣子我只要在Android上面寫HTTP method,並且對這一台web server做存取,我就可以完成對外部資料庫的存取了,而且也 不用擔心安全性的問題,真是太強大了啦!!! 只不過在寫Android的HTTP method時,發現了一些以前從沒遇到的問題,那就是HTTP status code居然出現了417,這個問題真的是困擾了我很久,後來找到了這篇文章「 Remove Expect header in Android’s org.apache.http」,總算是解決了這個鳥問題。 我覺得這個問題真的是還蠻難找出來的,動用了Wireshark, Google Chrome的Developer Tools, tcpdump,還有一堆Rails的log才知道怎麼解決,所以想說寫這篇文章跟大家分享 一下實作的架構以及甘苦談 XDDDD,總之大家看了簡報應該就知道怎麼解決囉。 參考資料: SQLite Home Page DMZ (computing) - Wikipedia, the free encyclopedia REST - 維基百科,自由的百科全書 物件關聯對映 - 維基百科,自由的百科全書 lighttpd fly light List of HTTP status codes - Wikipedia, the free encyclopedia Wireshark · Go deep. TCPDUMP/LIBPCAP public repository kewang 說 用rails的ORM跟RESTful來做為DB存取的web service,然後再用Android來存 取這個web service (dance) - #5lpx8m kewang 說 HTTP Status Code 417讓我找了兩天解決的方法,原來是HTTP header的問題 ,要移除Expect: 100-continue呀!!! http://overhrd.com/?p= - #5mtbr3 -- 雜七雜八的kewang部落格 http://kewang.tw --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.120.2.20
1F:推 jc1989824:推 07/15 18:31
2F:推 WLR:專業好文! 07/15 19:31
3F:推 etoanik:非常感謝好文 07/15 19:48
4F:→ ChiuTW: http://goo.gl/AGu0du 照著設定,重新載入套件,開啟後下 01/25 23:50
5F:→ ChiuTW: 載的漫畫就會在你指定的資料夾裡 01/25 23:50







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP