版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、引言Android學(xué)習(xí)已經(jīng)有一年半有余,先后做過(guò)兩款游戲、三款應(yīng)用和搭建一臺(tái)服務(wù)端,也理解過(guò)某些Android有關(guān)的源碼(JDK、SDK和NDK),學(xué)習(xí)Android不僅是對(duì)前沿開發(fā)技術(shù)的理解,也是對(duì)編程知識(shí)的一次提高。鞏固和學(xué)習(xí)了更多的Android的控件、布局、Activity、Service等一系列基礎(chǔ)知識(shí),對(duì)整個(gè)Android的開發(fā)有了大體的理解。android入門后,只會(huì)照著他人的葫蘆來(lái)畫瓢,即沒有設(shè)計(jì)思想,也沒有自主原創(chuàng)的代碼,不好不好于是乎,進(jìn)了企業(yè)跟著項(xiàng)目走,用項(xiàng)目來(lái)驅(qū)動(dòng)自己去學(xué)習(xí)和提高企業(yè)是1+1開發(fā)模式,即1個(gè)美工+1個(gè)工程師,負(fù)責(zé)完畢一種項(xiàng)目(重要是游戲開發(fā)),就完全需要自己設(shè)計(jì)游戲的布局、邏輯,以及多種動(dòng)畫,來(lái)增強(qiáng)顧客體驗(yàn)的效果當(dāng)時(shí)重要是看Android官方的SDKAPI文檔、中文API文檔、JDK源碼,對(duì)有些感念不清晰,就上論壇去找答案,如CSDN、ITEye、IBM、知乎,或者去啃g(shù)oogle官方的文檔。新掌握的Java基礎(chǔ)學(xué)習(xí)2.1、ActivityView、Surfaceview的理解掌握了常用控件、view、surfaceview使用方式,懂得怎樣去適配不一樣屏幕后,每天就是反復(fù)的工作,堆砌代碼,難以深入去提高自己于是就自己給自個(gè)找點(diǎn)事干,自定義控件,如對(duì)話框背景等,或去googlecode找些開源的代碼下來(lái)研究,學(xué)習(xí)人家的設(shè)計(jì)思想、模塊功能的劃分、代碼組織構(gòu)造等知識(shí)這個(gè)過(guò)程中,波及到的知識(shí)比較多,如版本管理工具SVN、Git、Mercurial,如設(shè)計(jì)模式的思想,如怎樣構(gòu)建通用的開源應(yīng)用框架(考慮sdk1.5等版本),怎樣合用在不一樣屏幕辨別率的手機(jī)上等等學(xué)習(xí)中會(huì)不停碰到一種又一種新的問(wèn)題,因此需要不停去查資料、再學(xué)習(xí)多種工具,逐漸積累,潛移默化中自己掌握的知識(shí)和工具就多了,眼界也開闊了。2.2、android-pulltorefresh
一種強(qiáng)大的拉動(dòng)刷新開源項(xiàng)目,支持多種控件下拉刷新,ListView、ViewPager、WevView、ExpandableListView、GridView、ScrollView、HorizontalScrollView、Fragment上下左右拉動(dòng)刷新,比下面johannilsson那個(gè)只支持ListView的強(qiáng)大的多。并且它實(shí)現(xiàn)的下拉刷新ListView在item局限性一屏狀況下也不會(huì)顯示刷新提醒,體驗(yàn)更好。成果:ListView能滿足一種Android項(xiàng)目的列表:(1)下拉刷新ListView(2)下拉刷新及滑動(dòng)究竟部加載更多ListView(3)拖動(dòng)排序的ListView,同步支持ListView滑動(dòng)item刪除,各個(gè)Item高度不一、單項(xiàng)選擇、復(fù)選、CursorAdapter做為適配器、拖動(dòng)背景變化等。2.3、MenuMenuDrawer滑出式菜單,通過(guò)拖動(dòng)屏幕邊緣滑出菜單,支持屏幕上下左右劃出,支持目前View處在上下層,支持Windows邊緣、ListView邊緣、ViewPager變化劃出菜單等。SlidingMenu滑出式菜單,通過(guò)拖動(dòng)屏幕邊緣滑出菜單,支持屏幕左右劃出,支持菜單zoom、scale、slideup三種動(dòng)畫樣式出現(xiàn)。ArcMenu支持類似Path的左下角動(dòng)畫旋轉(zhuǎn)菜單及橫向劃出菜單、圓心彈出菜單android-satellite-menu類似Path的左下角動(dòng)畫旋轉(zhuǎn)菜單radial-menu-widget圓形菜單,支持二級(jí)菜單2.4、異常處理登錄提交時(shí),顧客名、密碼不能為空,否則不與提交。數(shù)據(jù)庫(kù)返回登錄信息,處理登錄成功與否的異常。注冊(cè)提交時(shí),檢查注冊(cè)顧客名,密碼不能為空,密碼與確認(rèn)密碼要相似,否則不與提交注冊(cè)。三、AndroidXutils框架的使用
在開發(fā)中還學(xué)習(xí)了一套強(qiáng)大的迅速開發(fā)框架,AndroidXutils框架。3.1、xUtils使用xUtils包括了諸多實(shí)用的android工具。xUtils源于Afinal框架,對(duì)Afinal進(jìn)行了大量重構(gòu),使得xUtils支持大文獻(xiàn)上傳,更全面的http祈求協(xié)議支持,擁有愈加靈活的ORM,更多的事件注解支持且不受混淆影響...xUitls最低兼容android2.2(apilevel8)3.2、DbUtils數(shù)據(jù)庫(kù)android中的orm框架,一行代碼就可以進(jìn)行增刪改查;支持事務(wù),默認(rèn)關(guān)閉;可通過(guò)注解自定義表名,列名,外鍵,唯一性約束,NOTNULL約束,CHECK約束等(需要混淆的時(shí)候請(qǐng)注解表名和列名);支持綁定外鍵,保留實(shí)體時(shí)外鍵關(guān)聯(lián)實(shí)體自動(dòng)保留或更新;自動(dòng)加載外鍵關(guān)聯(lián)實(shí)體,支持延時(shí)加載;支持鏈?zhǔn)襟w現(xiàn)查詢,更直觀的查詢語(yǔ)義,參照下面的簡(jiǎn)介或sample中的例子。3.3、ViewUtils視圖android中的ioc框架,完全注解方式就可以進(jìn)行UI綁定和事件綁定;新的事件綁定方式,使用混淆工具混淆后仍可正常工作;目前支持常用的11種事件綁定,參見ViewCommonEventListener類和包c(diǎn)om.lidroid.xutils.view.annotation.event。3.4、HttpUtils網(wǎng)絡(luò)祈求支持同步,異步方式的祈求;支持大文獻(xiàn)上傳,上傳大文獻(xiàn)不會(huì)oom;支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD祈求;下載支持301/302重定向,支持設(shè)置與否根據(jù)Content-Disposition重命名下載的文獻(xiàn);返回文本內(nèi)容的GET祈求支持緩存,可設(shè)置默認(rèn)過(guò)期時(shí)間和針對(duì)目前祈求的過(guò)期時(shí)間。3.5、BitmapUtils圖片異步加載加載bitmap的時(shí)候無(wú)需考慮bitmap加載過(guò)程中出現(xiàn)的oom和android容器迅速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象;支持加載網(wǎng)絡(luò)圖片和當(dāng)?shù)貓D片;內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;可配置線程加載線程數(shù)量,緩存大小,緩存途徑,加載顯示動(dòng)畫等。四:發(fā)現(xiàn)式學(xué)習(xí)工作狀況及碰到的問(wèn)題等:4.1、Bitmap的生成Bitmap實(shí)目前android.graphics包中。不過(guò)Bitmap類的構(gòu)造函數(shù)是私有的,外面并不能實(shí)例化,只能是通過(guò)JNI實(shí)例化。這必然是某個(gè)輔助類提供了創(chuàng)立Bitmap的接口,而這個(gè)類的實(shí)現(xiàn)通過(guò)JNI接口來(lái)實(shí)例化Bitmap的,這個(gè)類就是BitmapFactory。4.2、必要知識(shí)認(rèn)知1、在使用措施decodeFile()/decodeResource()時(shí),都可以指定一種BitmapFacotry.Options。運(yùn)用Options的下列屬性,可以指定decode的選項(xiàng):inPreferredConfig指定decode到內(nèi)存中,手機(jī)中所采用的編碼,可選值定義在Bitmap.Config中。缺省值是ARGB_8888。inJustDecodeBounds假如設(shè)置為true,并不會(huì)把圖像的數(shù)據(jù)完全解碼,亦即decodeXyz()返回值為null,不過(guò)Options的outAbc中解出了圖像的基本信息。inSampleSize設(shè)置decode時(shí)的縮放比例。談通過(guò)HttpGet和HttpPost向服務(wù)器提交祈求,并從服務(wù)器返回成果信息。通過(guò)如下3步訪問(wèn)Http資源。(1)創(chuàng)立HttpGet或者HttpPost對(duì)象,將要祈求的URL通過(guò)構(gòu)造措施傳入HttpGet或HttpPost對(duì)象。(2)使用DefaultHttpClient.execute措施發(fā)送HttpGet或HttpPost祈求,并返回HttpResponse對(duì)象。(3)通過(guò)HttpResponse.getEntity措施返回響應(yīng)信息,并進(jìn)行對(duì)應(yīng)的處理。假如使用HttpPost措施提交HttpPost祈求,還需要使用HttpPost.setEntity措施設(shè)置祈求參數(shù)。實(shí)習(xí)任務(wù)概述:1.面向?qū)ο缶幊蹋ǚ庋b,繼承,多態(tài))。2.this關(guān)鍵字使用,JavaBean定義規(guī)范以及作用3.措施的重載(overLoading),構(gòu)造措施的作用4.package(創(chuàng)立包)import(導(dǎo)包)的使用以及作用5.super關(guān)鍵字使用6.措施的重寫(override)7.訪問(wèn)修飾符(public,protected,默認(rèn),private)的使用8.static修飾符的作用及使用方法9.final修飾符的作用及使用方法10.抽象類(abstract)的定義和特點(diǎn)以及使用11.接口(interface)的定義12.接口的實(shí)現(xiàn)(implements)13.接口和抽象類的區(qū)別14.對(duì)象包裝器,裝箱和拆箱的使用15.數(shù)組的使用。16.String類,StringBuffer類,StringBuilder類的使用以及三者之間的區(qū)別17.JavaSEAPI的使用。18.日期類Date,SimpleDateFormat的使用,數(shù)學(xué)類Math和Random類的使用19.異常的處理(try,catch,finally,throw,throws)20.Java中的集合類(List,Map,Set接口的使用以及Properties屬性文獻(xiàn)的操作)21.編寫音樂(lè)播放器應(yīng)用22.編寫電話及短信應(yīng)用23.編寫SD卡存取應(yīng)用實(shí)習(xí)所用軟件簡(jiǎn)介:EclipseEclipse是一種開放源代碼的、基于java的可擴(kuò)展開發(fā)平臺(tái)。就其自身而言,它只是一種框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一種原則的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個(gè)組件重要針對(duì)但愿擴(kuò)展Eclipse的軟件開發(fā)人員,由于它容許他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給顧客提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。JDKJDK(JavaDevelopmentKit,Java開發(fā)包,Java開發(fā)工具)是一種寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一種處在操作系統(tǒng)層之上的運(yùn)行環(huán)境尚有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語(yǔ)言寫的applet和應(yīng)用程序所需的工具構(gòu)成。JDK(JavaDevelopmentKit)是SunMicrosystems針對(duì)Java開發(fā)員的產(chǎn)品。自從Java推出以來(lái),JDK已經(jīng)成為使用最廣泛的JavaSDK(Softwaredevelopmentkit)。JDK包括的基本組件包括:javac–編譯器,將源程序轉(zhuǎn)成字節(jié)碼jar–打包工具,將有關(guān)的類文獻(xiàn)打包成一種文獻(xiàn)javadoc–文檔生成器,從源碼注釋中提取文檔jdb–debugger,查錯(cuò)工具JDK中還包括完整的JRE(JavaRuntimeEnvironment,Java運(yùn)行環(huán)境),也被稱為privateruntime。包括了用于產(chǎn)品環(huán)境的多種庫(kù)類,以及給開發(fā)員使用的補(bǔ)充庫(kù),如國(guó)際化的庫(kù)、IDL庫(kù)。AndroidSDK指的既是Android專屬的軟件開發(fā)工具包。PopupWindow是應(yīng)用開發(fā)中常常用到的組建,使用它可以在目前屏幕的上層顯示一種彈窗,同步也可以指定彈窗的位置以及背景色等特性,大大提高顧客體驗(yàn),那么這里我就如下幾點(diǎn)簡(jiǎn)介它的使用:1從指定的位置彈出這個(gè)窗口(淡入淡出動(dòng)畫)2從屏幕底部彈出這個(gè)窗口(帶有透明度背景,自定義觸摸其他位置自動(dòng)關(guān)閉彈窗)4.3、碰到的問(wèn)題及處理方案
在Android編程過(guò)程中鞏固熟悉了Java的編程。由于Android應(yīng)用程序的開發(fā)離不開Java的支持,因此基礎(chǔ)的Java知識(shí)是必須的。Android系統(tǒng)是基于Linux的手機(jī)操作系統(tǒng)平臺(tái),要深入系統(tǒng)的學(xué)習(xí)Android,不僅僅是有Java和Android應(yīng)用開發(fā),必須要具有Linux,CC++高級(jí)編程才能深入的波及AndroidFramework和Android內(nèi)核開發(fā)。成為Android開發(fā)的高素質(zhì)人才。因此,在后續(xù)對(duì)Android的學(xué)習(xí)中也許會(huì)看某些較底層的書籍。android低版本工程(如1.5)放到高版本環(huán)境中(如2.2)也許會(huì)上述錯(cuò)誤,處理措施如下:1。假如不修改androidsdk版本,則使用projectclean命令作用于某工程即可。(該處理方式只是在高版本中兼容了低版本工程,未真正意義上的升級(jí))2。假如修改androidsdk版本,則需要如下幾種環(huán)節(jié):1)修改SDK:選擇工程,buildpath-->configurebuildpath>library刪除引用的低版本SDK,然后addExternalJARs,選擇高版本SDK,OK,保留。2)修改classpath文獻(xiàn):該文獻(xiàn)也許存在該項(xiàng):<classpathentrykind="lib"path="所指定的高版本的地址"把她修改成<classpathentrykind="con"path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>。3)修改AndroidManifest.xml在AndroidManifest.xml文獻(xiàn)中,application標(biāo)簽后添加<uses-sdkandroid:minSdkVersion="3"></uses-sdk>。4)修改perties(很重要):該文獻(xiàn)最終一行(前面沒用#的)target=android-3該成target=android-8,保留。再看看工程和新建的android2.2的工程構(gòu)造就同樣了。五、實(shí)習(xí)心得Android四大組件、Android資源訪問(wèn)、圖形/圖像處理、事件處理機(jī)制、Android輸入/輸出處理、音頻/視頻多媒體應(yīng)用開發(fā)、OpenGL與3D應(yīng)用開發(fā)、網(wǎng)絡(luò)通信編程、Android平臺(tái)的WebService、傳感器應(yīng)用開發(fā)、GPS應(yīng)用開發(fā)、GoogleMap服務(wù)等都是非常重要的知識(shí)點(diǎn)以及學(xué)習(xí)領(lǐng)域。1.IDE這六個(gè)月來(lái),從Eclipse到AndroidStudio,經(jīng)歷了兩個(gè)IDE,在這里做一下簡(jiǎn)樸的評(píng)價(jià)。假如真要說(shuō),AndroidStudio是基本上大勝Eclipse的,至少AndroidStudio不會(huì)像Eclipse那樣卡,企業(yè)配的電腦是渣了點(diǎn),64位,win7,只有4G內(nèi)存,跑Eclipse跑久了簡(jiǎn)直就是惡夢(mèng)。AndroidStudio的智能提醒比Eclipse強(qiáng)多了,快捷鍵也很強(qiáng)大。至于工程的組織構(gòu)造,AndroidStudio和Eclipse的差距還是很大的,但習(xí)慣了也不覺得有啥,哪種都行。AndroidStudio有個(gè)不好的地方就是無(wú)法在同一種窗口顯示多種工程,因此只能多開一種。。。AndroidStudio采用Gradle構(gòu)建,一開始的構(gòu)建簡(jiǎn)直是喪心病狂。。。假如沒有VPN,想都不敢想。。。構(gòu)建上,Eclipse是比AndroidStudio快,但AndroidStudio導(dǎo)第三方庫(kù)很以便,寫一種Gradle腳本就行,并且配置上愈加靈活??梢赃@樣說(shuō):Eclipse是幫我們搭好了房子,我們只要熟悉它就行,而AndroidStudio是讓我們用工具去搭建自己喜歡的房子。愈加重要的是,aar包只能由AndroidStudio構(gòu)建,而google目前推崇的方式就是aar包,因此后來(lái)開源的項(xiàng)目很有也許都是打成aar包,并且基本上,大部分的開源項(xiàng)目已經(jīng)是采用Gradle構(gòu)建。。。AndroidStudio一種不好的地方就是升級(jí)太快,在六個(gè)月的時(shí)間內(nèi),我從0.8.1升級(jí)到1.0。。。可惡的是,每次升級(jí),Gradle也升級(jí),并且還斷代。。。雖然么官方目前是版本穩(wěn)定了,由于IDEA已經(jīng)出了新版本了,但我試過(guò)1.0出事了,直接撤回0.9.4。。??傮w而言,未來(lái)Android開發(fā)一定是用AndroidStudio或者IDEA,Eclipse已經(jīng)被官方拋棄了。。。2.版本控制工具我使用SVN比較少,剛工作的時(shí)候,剛好就是把SVN換成Git,但對(duì)于Git的使用方式也經(jīng)歷了一番變化。一開始使用Git,就像SVN同樣,一種master分支,大家都往上面推,一旦出事了,大家都卡住了。。。后來(lái)使用SourceTree做管理,分支切換,提交和處理沖突好多了。目前的開發(fā)模式是這樣的:master分支是正式分支,在沒保證穩(wěn)定之前是不會(huì)推東西上去的,dev分支是開發(fā)分支,而每個(gè)人當(dāng)?shù)匾灿幸环Ndev分支,大家可以根據(jù)自己的需求在當(dāng)?shù)亻_多幾種分支,這樣就不會(huì)出現(xiàn)master分支無(wú)法公布的現(xiàn)象,由于master分支永遠(yuǎn)是對(duì)的的。遺憾的是,由于使用的是工具,對(duì)命令行還是不熟悉。。。3.數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)一開始采用的是原生,編寫了一大堆Helper,并且光是存表,就已經(jīng)寫了諸多代碼,一種一種set進(jìn)去。。。后來(lái)?yè)Q成對(duì)象數(shù)據(jù)庫(kù)LitePal,好多了,但LitePa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度中醫(yī)養(yǎng)生產(chǎn)品海外市場(chǎng)推廣合同4篇
- 2025年度商業(yè)綜合體承包轉(zhuǎn)讓合同范本4篇
- 2025年度養(yǎng)老機(jī)構(gòu)場(chǎng)地租賃與養(yǎng)老服務(wù)分成管理合同3篇
- 2025年cfg樁基施工項(xiàng)目環(huán)境保護(hù)與生態(tài)修復(fù)合同3篇
- 2025年度智能家電維修個(gè)人勞務(wù)協(xié)議書4篇
- 2025年中國(guó)酚氨咖敏顆粒行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報(bào)告
- 2025年度汽車租賃與二手車交易服務(wù)合同3篇
- 2025年溫州家和物業(yè)管理有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年溫州個(gè)人房屋買賣合同(含交易資金監(jiān)管)3篇
- 二零二五版離婚協(xié)議書模板:離婚后子女撫養(yǎng)及財(cái)產(chǎn)分割專案協(xié)議2篇
- 氧氣霧化吸入法
- 6月大學(xué)英語(yǔ)四級(jí)真題(CET4)及答案解析
- 氣排球競(jìng)賽規(guī)則
- 電梯維修保養(yǎng)報(bào)價(jià)書模板
- 危險(xiǎn)化學(xué)品目錄2023
- FZ/T 81024-2022機(jī)織披風(fēng)
- GB/T 33141-2016鎂鋰合金鑄錠
- 2023譯林版新教材高中英語(yǔ)必修二全冊(cè)重點(diǎn)短語(yǔ)歸納小結(jié)
- JJF 1069-2012 法定計(jì)量檢定機(jī)構(gòu)考核規(guī)范(培訓(xùn)講稿)
- 綜合管廊工程施工技術(shù)概述課件
- 公積金提取單身聲明
評(píng)論
0/150
提交評(píng)論