成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android+J2ee系統(tǒng)集成開發(fā)的心得

移動開發(fā) Android
很早以前,就聽人說過android以后會火起來,作為一個前瞻性,對它有所了解會是一個轉(zhuǎn)型的好機(jī)會。javaweb太成熟飽和了,現(xiàn)在市面上各種 android手機(jī)層出不窮,網(wǎng)上各種android視頻連續(xù)劇一樣跟進(jìn),安卓一下子成為了熱門話題,剛開始也是出于個人興趣學(xué)的很hi感覺挺容易上手的 樣子,后來工作中才發(fā)現(xiàn)問題很多也很棘手,慢慢的在糾結(jié)和痛苦中琢磨出了一些經(jīng)驗(yàn)和規(guī)律!

1.android作為view層,要實(shí)現(xiàn)和服務(wù)層低耦合,必須使用webservice接口。目前還沒有十分完善的插件,曾經(jīng)試過axis的android 包(也是一個興趣者自己做的),用了之后感覺非常麻煩,特別是復(fù)雜數(shù)據(jù)類型的傳遞,而且bug也很多,還要改別人源碼,無疑增加團(tuán)隊(duì)的學(xué)習(xí)成本和開發(fā)難度,無奈之下自己做了。android端使用Apache的httpclient發(fā)送交互請求,定義好xml接口傳輸數(shù)據(jù),接收也是用dom4j解析,經(jīng) 測試在2.2中dom4j支持性很好,2.1少些解析用法不支持,但大部分能用,說到這大家也許懂了。沒錯,后端用的是servlet機(jī)制,再利用java反射根據(jù)xml文件描述動態(tài)調(diào)用指定的spring服務(wù)和方法,這些已經(jīng)足夠,而且可以完全按自己的方式做更多靈活的擴(kuò)展

2.httpclient確實(shí)是個好東西,但作為無狀態(tài)訪問協(xié)議,http無法保存用戶會話信息。于是翻開了axis的源碼發(fā)現(xiàn)它原來是把用戶的首次訪問信息 保存至特定文件,而后根據(jù)心跳機(jī)制,定時做校驗(yàn),茅塞頓開,于是我把用戶首次訪問信息保存在數(shù)據(jù)庫會話表中,并且寫了一個存儲過程,定時把會話中登錄時間 距離當(dāng)前時間超過30分鐘的記錄做刪除操作,用戶每次登錄都與會話表進(jìn)行匹配,沒有記錄即刻超時強(qiáng)退。這么一來,方便簡單多了,那么用戶每次訪問系統(tǒng)都得 在xml文件里帶著系統(tǒng)給它的串號,也就是sessionid,才叫一次完整的會話

3.android系統(tǒng)畫圖是個麻煩的活,初期我們小組找遍了所有畫圖的插件,都是憂喜過半,沒有辦法找到特別滿意的,要么是使用太麻煩,要么是找不到我們要 的效果,研究的很累也沒頭緒。問了一些原先做過j2me老程序員,他們建議如果不是專業(yè)做游戲的話,統(tǒng)計圖表這些還是借助服務(wù)端來做更合適一點(diǎn),于是我們 拋棄了所有的android端畫圖插件,采用jfreechart在服務(wù)端畫好,圖片http流到手機(jī)端顯示,當(dāng)然因?yàn)?.1系統(tǒng)不支持flash,也就 沒考慮在做得更漂亮,圖表很直觀很清晰。

4.UI是個難點(diǎn),而且為了適應(yīng)不同分辨率,之前用px單位很有問題,后來改了dip定位,好了許多,之后大面積使用選項(xiàng)卡樣式,統(tǒng)一風(fēng)格,難點(diǎn)很多,比如給 tabhost加樣式動態(tài)改變效果,按鈕透明,listview去橫線加箭標(biāo)加動態(tài)發(fā)亮加下拉翻頁,還有手勢滑動,各種各樣的widget特效和動畫切 屏。為了省去彎路,我們反編譯了QQ,飛信,58,趕集,飛機(jī)票,墨跡天氣等所有主流的android布局和美化的用法,吸取不少有用的經(jīng)驗(yàn),但是依然感 覺布局很難做,美工無法直接介入而且模擬器測試很不給力,沒辦法只能用真機(jī)測ui,速度能快上許多。

5.android的客戶端更新功能,相信只有做過的才知道其中的辛酸,一要做好斷點(diǎn)續(xù)傳,二要做好數(shù)據(jù)庫的初始化工作,三要做好簽名,四要做好版本校驗(yàn)的算 法并且能顯示動態(tài)進(jìn)度條和百分比。斷點(diǎn)續(xù)傳好做,但是數(shù)據(jù)庫初始化麻煩點(diǎn),我們的做法是把sqlite庫文件直接從raw下拷貝至sd卡中,并設(shè)置了 sqlite的讀取庫路徑指向它,感覺這樣好一點(diǎn)。簽名一開始不知道,每次覆蓋都提示安裝未完成,后來才明白為了保證應(yīng)用的唯一性,它就像是身份證一樣, 其他沒什么作用,和塞班的簽名不是一回事,封裝apk必須保證在同一簽名文件下才可相互覆蓋安裝!

6.webview中可以調(diào)用后端的java代碼,類似dwr功能,不過這個功能一直用的很少,很不穩(wěn)定,兼容性要考量,android既然提供了那么多的ui控件,就說明webview是無法替代它的,畢竟還需要調(diào)用底層服務(wù),webview還是慎用的好。

7.android也應(yīng)該遵循mvc的編程規(guī)范,activity只負(fù)責(zé)處理跳轉(zhuǎn),UI,和簡單數(shù)據(jù)校驗(yàn)工作,業(yè)務(wù)邏輯放置在service類 中,sqlite操作稍加封裝下,做個類似jdbcUtil的那種模板類,提供增刪改查,分頁等方法,這樣dao操作就完善許多。我想作為java程序員 轉(zhuǎn)做Android開發(fā),最大的障礙不在框架也不在谷歌sdk中的那些api,而是java基礎(chǔ)。通過寫程序發(fā)現(xiàn),做手機(jī)開發(fā)的程序員,基本素質(zhì)要過硬, 尤其在集合,線程,異常,io,http這些要非常透徹,不然一個看似很簡單的功能,可能就會寫的bug百出,甚至效率很低,可讀性差,基本上自己回過頭 都看不懂自己寫的是什么,對接口和抽象類,包括匿名內(nèi)部類的寫法也要爐火純青。

熟悉類包的基本結(jié)構(gòu),及時對自己完成的功能做代碼上的優(yōu)化和重構(gòu),讓自己和別人讀起來像讀詩歌一樣,清晰優(yōu)美,它不像web框架那么成熟,大家 都用ssh,都很有規(guī)范可循,照著畫一般也看不出個人功底來!我想說的是想做android開發(fā)的程序員,要特別留意java基礎(chǔ)!

8.另外地圖導(dǎo)航也是一個亮點(diǎn),現(xiàn)在不管做什么功能都會用到地圖導(dǎo)航,吃喝玩樂,用戶都想知道在什么地方,目前百度谷歌都推出了android的地圖接口,我 們用的是arcgis,好在api不多應(yīng)用也很簡單,官方都有現(xiàn)成例子,讓我這個arcgis是兩把刷子的人都能糊上交差。

9.寫android代碼最大的糾結(jié)是測試找bug,模擬器很慢,不管修改什么地方,都要重編譯部署,ADT插件經(jīng)常發(fā)生debug失效的情況,想加速開發(fā), 首先要將eclipse自動編譯關(guān)掉,把模擬器中沒用的進(jìn)程殺掉,再把一些沒用的手機(jī)特效關(guān)掉,模塊化開發(fā),這樣便于將整個方法體切出來放進(jìn)junit里測試。有一款叫Youwave_Android模擬器,使用速度非常快,如果實(shí)在沒有真機(jī)的情況下可以用它來過渡下,沒事還可以多下載些android軟 件,學(xué)習(xí)下別人的系統(tǒng)是怎么做的,至少能提高下UI審美。有人提議在linux平臺上開發(fā),如果從未使用過最好先別給自己加難度,實(shí)在想試推薦使用 ubuntu10中文桌面版,雖然速度上是沒感覺到快多少,但是確是個逐步鍛煉提升自己的好機(jī)會,技多不壓身!

10.有些小技巧是挺實(shí)用的,一些adb命令肯定要比用adt插件要快,新版的sdk升級包把它放在了platform-tools目錄下;模擬器橫豎切屏有快 捷鍵ctrl+F11或者小鍵盤home;如果你debug失靈了嘗試在DDMS里把進(jìn)程殺掉部署重試,如果還不行就只有重啟模擬器了;如果突然發(fā)現(xiàn) gen目錄下怎么也不生成R.java文件了,那就show problems看看工程是不是有error,一般不是包路徑有問題就是程序內(nèi)部布局文件有錯誤,如果仍然無效,關(guān)閉eclipse重新打開就好了,有時候adt就會出現(xiàn)這樣的bug

adt插件和sdk升級包是有版本依賴的,如果使用的是8.0以上的adt插件,記住的sdk升級包一定用最新的,否則會報找不到adb命令的錯誤。不要茫然就升級插件,最新10的插件只能在3.5以上的eclipse上運(yùn)行,而且它并沒有帶來多大驚喜,只是支持更高sdk版本罷 了;android程序本身也有缺陷,千萬不要鉆太深和它較勁,走不過去的地方就想其他路繞,只要簡約樸實(shí)不俗套,程序功能健壯就可以;另外多加幾個android開發(fā)者論壇社區(qū)下源碼發(fā)帖求助,技術(shù)這東西,無他,唯手熟爾最后這里附上真機(jī)配置安裝說明,我用的是魅9,其他品牌手機(jī)也應(yīng)該都有,好處不多說,自己看!

安卓雖然目前很熱,但聽說linux社區(qū)管理員將谷歌android源碼刪除,并說它并非完全真開源,有欺騙利用開源社區(qū)的嫌疑,如果真的是這樣,那么安卓將失去了很多開發(fā)者的信任和支持,總之不是很好的結(jié)果,真心希望下次谷歌百度的時候看到的不是一大堆copy粘貼來的hello world例子,而是實(shí)實(shí)在在的開發(fā)者之間共享和傳遞的經(jīng)驗(yàn),所以開源才是硬道理!

責(zé)任編輯:張葉青 來源: eoe Android開發(fā)者社區(qū)
相關(guān)推薦

2009-06-18 16:13:14

J2EE開發(fā)

2009-06-22 17:09:00

J2EE項(xiàng)目開發(fā)流程

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護(hù)

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-16 11:14:00

Hibernate+SJ2EE應(yīng)用開發(fā)

2011-07-21 14:23:03

J2EE

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計模式

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-22 17:10:51

J2EE中文問題Solaris

2009-06-10 16:25:43

J2EE架構(gòu)架構(gòu)

2010-09-29 10:15:35

JDKJ2EEJ2SE

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-22 17:05:41

Java EEJava企業(yè)應(yīng)用

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2009-06-22 11:50:00

J2EE Web應(yīng)用快速開發(fā)

2009-06-11 17:11:07

J2EE設(shè)計模式工廠模式

2009-06-10 13:30:32

J2EE四層模型客戶層Web層

2009-06-23 08:10:47

J2EE開發(fā)開源項(xiàng)目

2009-06-19 10:09:00

J2EE開發(fā)框架

2019-01-08 16:26:43

Java EEJ2EEJakarta EE
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产区在线观看 | 欧美日韩国产高清视频 | 国内自拍视频在线观看 | 精品一区二区免费视频 | 国产一区在线免费 | 久久天堂网 | 五月婷婷丁香婷婷 | 亚洲一区二区三区免费在线 | 中文字幕国产 | 成人在线中文字幕 | 九九热在线免费观看 | 免费色网址 | 亚洲一区 | 亚洲精品乱码久久久久久黑人 | 欧美国产91 | 国产精品一区二区视频 | 欧美午夜激情在线 | 国产一级在线视频 | 欧美日韩精品免费观看 | 一区二区三区高清 | 欧美区日韩区 | 999国产视频 | 色香婷婷 | 在线a视频网站 | 精品国产99| 一级毛片视频在线 | 一区二区三区亚洲 | 亚洲国产精品久久久 | 亚洲欧美一区二区三区国产精品 | 伊人久久国产 | 91久久精品一区二区二区 | 中文字幕久久精品 | 五月婷婷激情网 | 99视频在线免费观看 | 免费国产视频 | 91小视频在线 | 精产国产伦理一二三区 | 精品丝袜在线 | 一级毛片大全免费播放 | 青青草av在线播放 | 久久久久www |