第一篇:學(xué)習(xí)心得:學(xué)習(xí)Android開發(fā)技巧
學(xué)習(xí)心得:學(xué)習(xí)Android開發(fā)技巧
曾經(jīng)有在千鋒3G學(xué)院學(xué)習(xí)Android開發(fā)的我,現(xiàn)將自己的學(xué)習(xí)心得分享如下,希望能夠給更多有這方面學(xué)習(xí)的網(wǎng)友提供相關(guān)信息。
回想起這幾個(gè)月的學(xué)習(xí),使自己對(duì)Android開發(fā)系統(tǒng)有了更加系統(tǒng)、更加全面的認(rèn)識(shí),并且使自己的技術(shù)水平有了進(jìn)一步的提高,能在社會(huì)上成為更加有競(jìng)爭(zhēng)力的人。
在千鋒的四個(gè)月的學(xué)習(xí)讓我懂得了很多,開始的Java基礎(chǔ)講的很細(xì),講解的不是很快,這樣可以讓有基礎(chǔ)的更好的復(fù)習(xí),也可以讓沒有基礎(chǔ)的更容易接受;之后是Android基礎(chǔ),這個(gè)階段主要是讓自己了解Android的各種控件的使用,為以后的項(xiàng)目開發(fā)打下基礎(chǔ);第三個(gè)階段是項(xiàng)目開發(fā),這一個(gè)階段是最鍛煉人的,可以把學(xué)到的東西都聯(lián)系起來(lái),然后進(jìn)行更好的應(yīng)用。最后就是就業(yè)階段,就業(yè)部的老師都很認(rèn)真負(fù)責(zé),在我畢業(yè)前就讓我開始為后面的找工作做準(zhǔn)備,簡(jiǎn)歷制作好好后又經(jīng)過(guò)老師的改正,讓我的簡(jiǎn)歷更有機(jī)會(huì)被公司選中,還給我講了一些面試中遇到的問(wèn)題該怎么去回答。
經(jīng)過(guò)這四個(gè)階段,我學(xué)習(xí)到的不僅僅是專業(yè)的知識(shí),也讓我簡(jiǎn)單的了解到上班的狀態(tài),并深刻的體會(huì)到細(xì)節(jié)決定成功的真諦。
學(xué)習(xí)可以使我們的人生變得更加美滿充實(shí)。路是自己走出來(lái)的,能否走出屬于自己的一片天空,全在于自身的努力與堅(jiān)持,我相信成功總是會(huì)留給那些有準(zhǔn)備的人。做出你的選擇,嘗試走出第一步,成功將不會(huì)遙遠(yuǎn)。
同時(shí)還要感謝千鋒的老師們,他們?cè)谖易蠲糟臅r(shí)候給我一些正確的向?qū)В?/p>
第二篇:Android開發(fā)工程師學(xué)習(xí)路線
Android開發(fā)工程師學(xué)習(xí)路線:手機(jī)產(chǎn)品開發(fā)要從基礎(chǔ)開發(fā)知識(shí)做起
Android開發(fā)工程師學(xué)習(xí)路線圖:想要做好手機(jī)產(chǎn)品開發(fā)要先從基礎(chǔ)開發(fā)知識(shí)做起,要學(xué)好基礎(chǔ)語(yǔ)言開發(fā),即java語(yǔ)言開發(fā),然后逐步提升自身的產(chǎn)品路線,將制作產(chǎn)品的每一步都進(jìn)行完整的規(guī)劃,并且將每一步要實(shí)現(xiàn)的功能做好設(shè)計(jì)。掌握基礎(chǔ)開發(fā)知識(shí),能夠很好地掌握java語(yǔ)言的內(nèi)涵,然后通過(guò)這一語(yǔ)言來(lái)實(shí)現(xiàn)程序框架中每一步的功能,并且將程序框架中的每一步都進(jìn)行完善的規(guī)劃,避免出現(xiàn)這樣或那樣的問(wèn)題,在設(shè)計(jì)程序過(guò)程中也要掌握各種各樣的算法。
千鋒教育是Android培訓(xùn)行業(yè)領(lǐng)導(dǎo)者,千鋒教育的Android開發(fā)基礎(chǔ)班是從java開始指導(dǎo)學(xué)員學(xué)起,掌握了java語(yǔ)言,然后進(jìn)行整體的產(chǎn)品規(guī)劃。通過(guò)程序來(lái)實(shí)現(xiàn)產(chǎn)品設(shè)計(jì)中的每一步作用。很多Android開發(fā)人才都在后續(xù)工作上引入U(xiǎn)I設(shè)計(jì)思想,把UI理念融入到產(chǎn)品設(shè)計(jì)中去,并且提升自身的學(xué)習(xí)模式,通過(guò)程序整體實(shí)現(xiàn)產(chǎn)品的性能。決定一個(gè)好的產(chǎn)品,程序員的學(xué)習(xí)質(zhì)量非常重要,只有提升學(xué)習(xí)質(zhì)量,把在開發(fā)過(guò)程中遇到的問(wèn)題進(jìn)行解決才是最根本的。千鋒教育Android培訓(xùn)課程模塊化,指導(dǎo)學(xué)員學(xué)習(xí)完階段性課程,指導(dǎo)學(xué)員完成自己的產(chǎn)品,讓學(xué)員在開發(fā)過(guò)程中遇到的問(wèn)題進(jìn)行解決。
Android開發(fā)學(xué)習(xí)過(guò)程中要掌握好基礎(chǔ)知識(shí),特別是java語(yǔ)言的應(yīng)用,然后逐步提升學(xué)員在學(xué)習(xí)過(guò)程中遇到的一些細(xì)致化的問(wèn)題,把一些難點(diǎn)進(jìn)行解決,在開發(fā)過(guò)程中把容易出現(xiàn)的一些難點(diǎn)進(jìn)行合理化控制,避免在程序生成產(chǎn)品后出現(xiàn)問(wèn)題,從而導(dǎo)致崩潰,這是非常重要的一點(diǎn)。
第三篇:Android學(xué)習(xí)心得
Android入門心得
工具使用
1.打開已有工程:
方法1:Eclipse>file>new>Android Project>Next>Create Project existing source>選擇你的項(xiàng)目.該方法適合不在工作目錄workspace下的文件。
方法2:在屏幕上方的選單列上,選擇「File->Import」選項(xiàng),會(huì)跳出「Import」視窗。選擇「General->Existing Projects into WorkSpace」項(xiàng)目,然后按下「Next」按鈕帶到新一個(gè)畫面。在「Select Root Directory」欄位旁,按下右方的「Browse...」按鈕,選擇對(duì)應(yīng)的工程。選擇好后,按下「Finish」按鈕完成從現(xiàn)存在工作環(huán)境(WorkSpace)資料夾下的工程匯入到Eclipse 環(huán)境的動(dòng)作。
2.修復(fù)工程。如果發(fā)現(xiàn)開啟后的資料夾圖示上有個(gè)小小的黃色驚嘆號(hào),表示工程導(dǎo)入后還有些問(wèn)題,我們可以使用ADT 內(nèi)建的功能來(lái)試著修復(fù)。
在「Package Explorer」的「ApiDemos」工程檔桉夾圖示上點(diǎn)選右鍵,Android Tools->Fix Project Properties
3.新建模擬器
一種方法是在windows的運(yùn)行>cmd中。
在windows的“運(yùn)行”->cmd中啟動(dòng)Android emulator。
首先,設(shè)置環(huán)境變量。在Windows 2000,XP,2003 這些操作系統(tǒng)里,點(diǎn)選「我的電腦右鍵> 屬性> 高級(jí)> 環(huán)境變數(shù)」。在「系統(tǒng)變數(shù)(S)」欄中,選取「PATH」變數(shù)名稱后,再點(diǎn)選「編輯(I)」按鈕。加入你的android-sdk-windows的安裝路徑(因個(gè)人電腦而異):在彈出的視窗中將「;D:softwareeclipseAndorid開發(fā)套件android-sdk-windowstools」(注意要以分號(hào)隔開)這字串添在原本的字串之后,按下確定后重新啟動(dòng)操作系統(tǒng)。其次,開始>運(yùn)行>cmd:輸入如下命令
>android list targets 列出模擬器類型
>android create avd--target 1--name android2.2新建模擬器(「--target 1」參數(shù)的意思是這個(gè)模擬器使用id 為1的模擬器類型,「--name cupcake」參數(shù)的意思是將這個(gè)建立的模擬器命名為android2.2)
>android list avd 查看已有的模擬器。
另一種簡(jiǎn)單的方法是在eclipse集成開發(fā)平臺(tái)上。
Eclipse>windows>android SDK and AVD manager>new >??
4.換屏。在Windows 操作系統(tǒng)上按下「Ctrl」和「F12」可以切換模擬器屏幕,直屏&橫屏。
5.換外觀。還可以添加android手機(jī)的模擬器外觀,如G1的。實(shí)現(xiàn)方法:先下載G1外觀(http:///),解壓后放到即可,執(zhí)行android create avd--target 2--name devphone –skin G1
6.添加SD Card。
首先創(chuàng)建鏡像文件。用cmd中進(jìn)入到android的SDK的Tools目錄下,執(zhí)行mksdcard創(chuàng)建。
>mksdcard 1024M sdcard.img
(其中第一個(gè)參數(shù)為要?jiǎng)?chuàng)建的sdcard容量大?。ㄈ萘看笮∽约簺Q定),第二個(gè)參數(shù)為sdcard的名字)
然后,啟動(dòng)帶sdcard的Android模擬器
>emulator-sdcard sdcard.img
我使用的時(shí)候,發(fā)現(xiàn)用上述命令總是提示錯(cuò)誤。按照cmd的提示,改為emulator –data sdcard.img。不過(guò)貌似啟動(dòng)很慢,而且手機(jī)內(nèi)存和sd卡內(nèi)存(磁盤虛擬)也會(huì)調(diào)整,開始以為可以了,結(jié)果發(fā)現(xiàn)死機(jī)了。~~~~(>_<)~~~~
最后根據(jù)提示,命令中加入模擬器名,emulator –avd [你的模擬器的名
字]-sdcard sdcard.img,就啟動(dòng)了模擬器。(估計(jì)是我電腦有多個(gè)模擬器,所以命令就不知道怎么執(zhí)行了)
7.在模擬器上安裝android 程序。
Windows>navigation>next perspective>DDMS>選中file explorer 可以看到Android手機(jī)模擬的系統(tǒng)文件。有個(gè)SDcard的文件夾即為SD卡內(nèi)容。點(diǎn)選一個(gè)手機(jī)圖標(biāo)即可將android程序下載到“手機(jī)”(通過(guò)這種方法,還可以添加圖片,MP3等。也可從手機(jī)上傳到PC,用即可)然后像操作手機(jī)一樣安裝程序即可。你可以試試安裝“憤怒的小鳥”“植物大戰(zhàn)僵尸”等游戲。在PC上體驗(yàn)android。
說(shuō)明:如果你的手機(jī)模擬器上沒有裝文件瀏覽器。是看不到文件的。解決的辦法是:可以你先在在cmd中安裝瀏覽器,adb install ***.apk。安裝文件必須在cmd的當(dāng)前目錄下,不然cmd找不到的。
8.屏幕截圖。在Windows>navigation>next perspective>DDMS>Device窗口中有個(gè)Screen capture 圖標(biāo)。點(diǎn)選即可將手機(jī)模擬器的屏幕內(nèi)容截取下來(lái)。9.JAVA語(yǔ)法
10.Package:
當(dāng)一個(gè)大型程序交由數(shù)個(gè)不同的程序人員開發(fā)時(shí),用到相同的類名是很有可能的,那么如果發(fā)生了這樣的事件我們?cè)撛趺崔k那?,在我們java程序開發(fā)中為了避免上述事件,提供了一個(gè)包的概念(package),那么既然有了這樣一種方法能避免上述事件.11.Native。在JAVA中 native關(guān)鍵字表示一個(gè)方法只可以調(diào)用,但是不能編寫!
12.將C寫的動(dòng)態(tài)庫(kù)變成Java所用:
Native方法,native是一個(gè)本地接口。
1、在Java中聲明native()方法,然后編譯;
2、用javah產(chǎn)生一個(gè).h文件;
3、寫一個(gè).cpp文件實(shí)現(xiàn)native導(dǎo)出方法,其中需要包含第二步產(chǎn)生的.h文件(注意其中又包含了JDK帶的jni.h文件);
4、將第三步的.cpp文件編譯成動(dòng)態(tài)鏈接庫(kù)文件;
5、在Java中用System.loadLibrary()方法加載第四步產(chǎn)生的動(dòng)態(tài)鏈接庫(kù)文件,這個(gè)native()方法就可以在Java中被訪問(wèn)了。
13.Java關(guān)鍵字final
final有“這是無(wú)法改變的”或者“終態(tài)的”含義,它可以修飾非抽象類、非
抽象類成員方法和變量。你可能出于兩種理解而需要阻止改變:設(shè)計(jì)或效率。final類不能被繼承,沒有子類,final類中的方法默認(rèn)是final的。final方法不能被子類的方法覆蓋,但可以被繼承。final成員變量表示常量,只能被賦值一次,賦值后值不再改變。final不能用于修飾構(gòu)造方法只是用來(lái)標(biāo)識(shí)這個(gè)引用不能被修改。
14.R.java
R.java是ATD自行產(chǎn)生的,ID號(hào)都是唯一的,如果不熟悉,最好是不要?jiǎng)舆@個(gè)里面的東西,這個(gè)類里面通常定義的都是project的一些resource信息,attr、drawable、id、raw、layout、string以及xml等
15.在Java中,通過(guò)關(guān)鍵字extends繼承一個(gè)已有的類。New創(chuàng)建對(duì)象。
16.創(chuàng)建對(duì)象是可直接用button,EditText,TextView,Handler等關(guān)鍵字,17.修改程序圖標(biāo):把res文件夾的drawable文件夾中的icon.Png替換成自己的icon即可。
最后
Android也可以不用JAVA語(yǔ)言,而采用經(jīng)典的C&C++開發(fā)。基于的原理也就是第12點(diǎn)講到的,將程序的實(shí)現(xiàn)代碼用C(C++)寫好后,封裝成庫(kù),再使用native方法調(diào)用,即JNI,JAVA native interface。(開發(fā)環(huán)境為DNK Native Development Kit)。
麻煩!還不如新學(xué)JAVA,以后肯定用得到的。
Android應(yīng)用程序開發(fā)入門
1.界面
目前的ADT 版本提供了預(yù)覽界面的功能,但尚未提供方便地視覺化拖拉界面元件的開發(fā)工具。以后也許ADT 會(huì)加入完整的GUI 拖拉設(shè)計(jì)工具。所以當(dāng)前設(shè)計(jì)都是在res下的layout下的main.xml修改界面描述語(yǔ)言。
2.
第四篇:android 開發(fā)心得
即 使你的應(yīng)用程序是快速且響應(yīng)靈敏的,但一些設(shè)計(jì)仍然會(huì)給用戶造成問(wèn)題——與其它應(yīng)用程序或?qū)υ捒蛭词孪扔?jì)劃的交互,意外的數(shù)據(jù)丟失,意料之外的阻塞等等。避免這些問(wèn)題,有助于理解應(yīng)用程序運(yùn)行的上下文和系統(tǒng)的交互過(guò)程,而這些又正影響著你的應(yīng)用程序。簡(jiǎn)而言之,你應(yīng)該竭盡全力去開發(fā)一個(gè)與系統(tǒng)和其它應(yīng)用程 序流暢交互的應(yīng)用程序。
一 個(gè)常見的流暢問(wèn)題是,一個(gè)應(yīng)用程序的后臺(tái)處理——例如,一個(gè) Service或者
BroadcastReceiver——彈出一個(gè)對(duì)話框來(lái)響應(yīng)一些事件。這可能看起來(lái)沒啥大礙,尤其是你在模擬器上單獨(dú)地構(gòu)建和測(cè)試你 的應(yīng)用程序的時(shí)候。然而,當(dāng)你的應(yīng)用程序運(yùn)行在真機(jī)上時(shí),有可能你的應(yīng)用程序在沒有獲得用戶焦點(diǎn)時(shí)后臺(tái)處理顯示了一個(gè)對(duì)話框。因此,可能會(huì)出現(xiàn)在活躍的應(yīng) 用程序后方顯示了你的應(yīng)用程序的對(duì)話框,或者從當(dāng)前應(yīng)用程序奪取焦點(diǎn)顯示了一個(gè)對(duì)話框,而不管當(dāng)前用戶正在做什么(例如,正在打電話)。那種行為,對(duì)應(yīng)用 程序或用戶來(lái)說(shuō),就不應(yīng)該出現(xiàn)。
為了避免這些問(wèn)題,你的應(yīng)用程序應(yīng)該使用合適的系統(tǒng)資源來(lái)通知用戶——Notification類。使用Notification,你的應(yīng)用程序可以在狀態(tài)欄顯示一個(gè) icon來(lái)通知用戶已經(jīng)發(fā)生的事情,而不是奪取焦點(diǎn)和打斷用戶。
另 一個(gè)流暢問(wèn)題的例子是未能正確實(shí)現(xiàn)Activity的 onPause()和其它生命周期方法而造成意外丟失了狀態(tài)或用戶數(shù)據(jù)。又或者,如果你的應(yīng)用程序想暴露數(shù)據(jù)給其它應(yīng)用程序使用,你應(yīng)該通過(guò) ContentProvider來(lái)暴露,而不是(舉例)通過(guò)一個(gè)可讀的原始文件或數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。
這 些例子的共同點(diǎn)是它們都應(yīng)該與系統(tǒng)和其它應(yīng)用程序協(xié)作好。Android系統(tǒng)設(shè)計(jì)時(shí),就把應(yīng)用程序看作是一堆松散耦合的組件,而不是一堆黑盒代碼。作為開 發(fā)者來(lái)說(shuō),允許我們把整個(gè)系統(tǒng)看作是更大的組件集合。這有益于我們可以與其它應(yīng)用程序進(jìn)行清晰無(wú)縫的集成,因此,作為回報(bào),我們應(yīng)該更好的設(shè)計(jì)我們的代 碼。
下面將討論常見的流暢問(wèn)題以及如何避免它們:
一 定要記住Android是一個(gè)移動(dòng)平臺(tái)??梢燥@而易見地說(shuō),其它Activity(例如,“Incoming Phone Call”應(yīng)用程序)可能會(huì)在任何時(shí)候彈出來(lái)遮蓋你的Activity,記住這個(gè)事實(shí)很重要。因?yàn)檫@個(gè)過(guò)程將觸發(fā) onSaveInstanceState()和 onPause()方法,并可能導(dǎo)致你的應(yīng)用程序
被殺死。
如 果用戶在你的應(yīng)用程序中正在編輯數(shù)據(jù)時(shí),其它 Activity出現(xiàn)了,這時(shí),你的應(yīng)用程序被殺死時(shí)可能丟失那些數(shù)據(jù)。當(dāng)然了,除非你事先保存了正在進(jìn)行的工作?!癆ndroid方式”是這樣做的:能 接收和編輯用戶輸入的 Android應(yīng)用程序應(yīng)該重寫 onSaveInstanceState()方法,并以恰當(dāng)?shù)姆绞奖4嫠鼈兊臓顟B(tài)。當(dāng)用戶重新訪問(wèn)應(yīng)用程序時(shí),她能得到她的數(shù)據(jù)。進(jìn)行這種處理方式最經(jīng)典的例子是 mail應(yīng)用程序。如果用戶正在輸入 email,這時(shí)其它 Activity啟動(dòng)了,mail應(yīng)用程序應(yīng)該把正在編輯的email以草稿的方式保存起來(lái)。
如果你不想穿著內(nèi)衣在大街上溜達(dá)的話,你的數(shù)據(jù)也不應(yīng)該這樣。盡管可能存在暴露應(yīng)用程序的某種形式給其它應(yīng)用程序,但這通常不是最好的主意。暴露原始數(shù)據(jù),要求其它應(yīng)用程序能夠理解你的數(shù)據(jù)的格式;如果你變更了格式,那么,你將破壞那些沒有進(jìn)行同步更新的應(yīng)用程序。
“Android 方式”是創(chuàng)建一個(gè) ContentProvider,以一種清晰的、深思熟慮的和可維護(hù)的API方式暴露你的數(shù)據(jù)給其它應(yīng)用程序。使用 ContentProvider,就好像是插入Java接口來(lái)分離和組裝兩片高耦合的代碼。這意味著你可以修改數(shù)據(jù)的內(nèi)部格式,而不用修改由 ContentProvider暴露的接口,這樣,也不會(huì)影響其它應(yīng)用程序。
如果用戶正在運(yùn)行一個(gè)應(yīng)用程序(例如,Phone程序),斷定對(duì)用戶操作的目的才是安全的。這也就是為什么必須避免創(chuàng)建Activity,而是直接在當(dāng)前的 Activity中響應(yīng)用戶的輸入。那 就是說(shuō),不要在 BroadcastReceiver或在后臺(tái)運(yùn)行的 Service中調(diào)用 callActivity()。這么做會(huì)中斷當(dāng)前運(yùn)行的應(yīng)用程序,并導(dǎo)致用戶惱怒。也許更糟糕的是,你的 Activity可能成為“按鍵強(qiáng)盜”,竊取了用戶要提供給前一個(gè) Activity的輸入。視乎你的應(yīng)用程序所做的事情,這可能是個(gè)壞消息。
不 選擇在后臺(tái)直接創(chuàng)建 Activity UI,取而代之的是,應(yīng)該使用NotificationManager來(lái)設(shè)置 Notification。它們會(huì)出現(xiàn)在狀態(tài)欄,并且用戶可以在他空閑的時(shí)候點(diǎn)擊它們,來(lái)查看你的應(yīng)用程序向他顯示了什么。(注意,如果你的 Activity已經(jīng)在前臺(tái)了,以上將不適用:這時(shí),對(duì)于用戶的輸入,用戶期望的是看到下一個(gè) Activity來(lái)響應(yīng))
如果你的應(yīng)用程序需要執(zhí)行一些昂貴或耗時(shí)的計(jì)算的話,你應(yīng)該盡可能地將它挪到線程里。這將阻止向用戶顯示可怕的“Application Not Responding”對(duì)話框,如果不這樣做,最終的結(jié)果會(huì)導(dǎo)致你的應(yīng)用程序完全終止。
一 般情況下,Activity中的所有代碼,包括它的 View,都運(yùn)行在相同的線程里。在這個(gè)線程里,還需要處理UI事件。例如,當(dāng)用戶按下一個(gè)按鍵,一個(gè) key-down事件就會(huì)添加到 Activity的主線程隊(duì)列里。事件處理系統(tǒng)需要很快讓這個(gè)事件出列并得到處理;如果沒有,系統(tǒng)數(shù)秒后會(huì)認(rèn)為應(yīng)用程序已經(jīng)掛起并為用戶提供殺死應(yīng)用程序 的機(jī)會(huì)。
如果有耗時(shí)的代碼,內(nèi)聯(lián)在Activity上運(yùn)行也就是運(yùn)行在事件處理線程里,這在很大程度上阻塞了事件處理。這會(huì)延遲輸入處理,并導(dǎo)致ANR對(duì)話框。為了避免這個(gè),把你的計(jì)算移到線程里。
任 何值得使用的應(yīng)用程序都可能有幾個(gè)不同的屏幕。當(dāng)設(shè)計(jì)UI屏幕時(shí),請(qǐng)一定要使用多個(gè)Activity對(duì)象實(shí)例。依賴于你的開發(fā)背景,你可能理解 Activity類似于 Java Applet,它是你應(yīng)用程序的入口點(diǎn)。然而,那并不精確:Applet子類是一個(gè) Java Applet的單一入口點(diǎn),而一個(gè)Activity應(yīng)該看作是你的應(yīng)用程序多個(gè)潛在入口點(diǎn)之一。你的“main”Activity和其它之間的唯一不同點(diǎn) 是“main”Activity正巧是在AndroidManifest.xml文件中唯一對(duì)“android.intent.action.MAIN”動(dòng)作感興趣的Activity。因此,當(dāng)設(shè)計(jì)你的應(yīng)用程序的時(shí)候,把你的應(yīng)用程序看作是Activity對(duì)象的 集合。從長(zhǎng)遠(yuǎn)來(lái)看,這會(huì)使得你的代碼更加方便維護(hù)。
當(dāng) 談到 UI觀感時(shí),巧妙地交融非常重要。用戶在使用與自己期望相反的 UI的應(yīng)用程序時(shí),會(huì)產(chǎn)生不愉快的感覺。當(dāng)設(shè)計(jì)你的 UI時(shí),你應(yīng)該盡量避免太多自己的主題。相反的,使用同一個(gè)主題。你可以重寫或擴(kuò)展你需要的主題部分,但至少在與其它應(yīng)用程序相同的 UI基礎(chǔ)上開始。
不 同的 Android設(shè)備可能支持不同的屏幕分辨率。甚至一些可以自己變更分辨率,例如,切換到風(fēng)景模式。確保你的布局和圖片能足夠靈活地在不同的設(shè)備屏幕上正 常顯示。幸運(yùn)的是,這很容易做到。簡(jiǎn)而言之,你需要做的是為主要分辨率提供不同版本的作品,然后為不同的尺寸設(shè)計(jì)你的布局。(例如,避免使用硬編碼位置而 使用相對(duì)布局。)如果那樣做的話,系統(tǒng)會(huì)處理剩下的部分,而且你的應(yīng)用程序在任何設(shè)備上都看起來(lái)很棒。
Android設(shè)備會(huì)有多種網(wǎng)絡(luò)連接選項(xiàng)。所有的都提供數(shù)據(jù)訪問(wèn),但之間肯定有更快的。其中,速度最慢的是GPRS,GSM網(wǎng)絡(luò)的非 3G數(shù)據(jù)服務(wù)。即使具備 3G能力的設(shè)備在非3G的網(wǎng)絡(luò)上也會(huì)花費(fèi)很多的時(shí)間,所以,網(wǎng)絡(luò)很慢仍然是一個(gè)長(zhǎng)期存在的事實(shí)。
這 就是為什么你應(yīng)該按照最小化的網(wǎng)絡(luò)訪問(wèn)和帶寬來(lái)編寫你的代碼。你不能假設(shè)網(wǎng)絡(luò)是快速的,所以,你應(yīng)該總是計(jì)劃它是慢的。如果你的用戶碰巧在一個(gè)快速的網(wǎng)絡(luò) 上,那很好——他們的用戶體驗(yàn)會(huì)提升。你要避免相反的情形:在不同的地點(diǎn)和不同時(shí)間,應(yīng)用程序有時(shí)可用,有時(shí)慢得令人抓狂,這樣的程序可能不會(huì)受歡迎。
還 有一個(gè)潛在的地方是,如果你正在使用模擬器,那么你很容易受它迷糊,因?yàn)槟M器使用電腦的網(wǎng)絡(luò)連接。這比手機(jī)網(wǎng)絡(luò)快很多,所以,你需要修改模擬器設(shè)定來(lái)模 擬較低的網(wǎng)絡(luò)速度。你可以在 Eclipse中做到這點(diǎn),在啟動(dòng)選項(xiàng)的模擬器設(shè)置頁(yè)里設(shè)置或者在啟動(dòng)模擬器時(shí)通過(guò)命令行選項(xiàng)設(shè)置。
Android 可以支持多種外觀形狀。也就是說(shuō),一些Android設(shè)備擁有全“QWERTY”鍵盤,而其它可能會(huì)有40鍵、12鍵或其它鍵盤設(shè)置。同樣的,一些設(shè)備可 能有觸摸屏,但一些也會(huì)沒有。當(dāng)創(chuàng)建你的應(yīng)用程序的時(shí)候,記住這一點(diǎn)。不要假定特定的鍵盤布局——除非你真的想限定你的應(yīng)用程序只運(yùn)行在某些設(shè)備上。
如 果移動(dòng)設(shè)備經(jīng)常插在墻上,那么,它也就不是很“移動(dòng)”。移動(dòng)設(shè)備是電池供電的,如果我們能讓每次充電的電池使用得更持久一些,那么每個(gè)人都會(huì)更加開心—— 尤其是用戶。
其中兩大耗電硬件是處理器和無(wú)線;這也就是我們?yōu)槭裁匆獙懕M可能少做工作、盡可能少去使用網(wǎng)絡(luò)的應(yīng)用程序的重要原因。
如 何讓你的應(yīng)用程序最小化的占用處理器,歸根結(jié)底還是要寫高效代碼。為了減少無(wú)線的電量消耗,確保對(duì)錯(cuò)誤條件進(jìn)行正確的處理,并只獲取你要的東西。例如,如 果某一個(gè)網(wǎng)絡(luò)操作失敗了,不要不斷地進(jìn)行重試。如果失敗了一次,有可能是用戶不受歡迎,因此,如果你再以正確的方式操作,有可能還會(huì)失??;所有你做的都是 在浪費(fèi)電池。
用戶是相當(dāng)聰明的:如果你的程序高耗電,他們是一定會(huì)發(fā)現(xiàn)的。到那個(gè)時(shí)點(diǎn),你唯一可以確定的是,你的程序?qū)⒑芸毂恍遁d掉。
第五篇:Android編程開發(fā)入門學(xué)習(xí)經(jīng)驗(yàn)
Android編程開發(fā)入門學(xué)習(xí)經(jīng)驗(yàn)
首先說(shuō)一下,之所以選擇android培訓(xùn),主要有下面幾個(gè)原因:因?yàn)槲也皇怯?jì)算機(jī)專業(yè),一些計(jì)算機(jī)語(yǔ)言高級(jí)的計(jì)算機(jī)語(yǔ)言也沒學(xué)過(guò),只學(xué)過(guò)c語(yǔ)言,本身想自學(xué),但自學(xué)覺得效率太低,自己沒有系統(tǒng)的學(xué)習(xí)方法,考慮到報(bào)班學(xué)習(xí),有個(gè)老師帶著,這樣效果會(huì)好很多,因此決定上個(gè)編程培訓(xùn)班學(xué)習(xí)。
在看了好多家Android編程開發(fā)培訓(xùn)機(jī)構(gòu)的官方介紹后,也在論壇上搜索了一些評(píng)價(jià),之后和咨詢老師進(jìn)行了一些溝通,同時(shí)我還打聽到了一些之前畢業(yè)學(xué)員的一些就業(yè)情況。相比同行業(yè)的其他培訓(xùn)機(jī)構(gòu),各方面的反饋都還不錯(cuò),所以我選擇了千鋒android培訓(xùn)。四個(gè)月android學(xué)習(xí)過(guò)去了,老師給我的印象是非常負(fù)責(zé),在課堂上,他們會(huì)一一為同學(xué)答疑解惑,甚至當(dāng)看到你帶有疑惑的眼神,他們也會(huì)問(wèn)下你有沒有不懂的地方, 這一點(diǎn)我很感動(dòng)。這里的課程安排的很合理,從基礎(chǔ)的java,以及培養(yǎng)面向?qū)ο蟮囊恍┘?xì)節(jié),白天老師講課,晚上自習(xí)有老師輔導(dǎo),一直到Android編程開發(fā)最后的大項(xiàng)目,課程都安排的很有層次,深入淺出。
在學(xué)習(xí)android編程的這段時(shí)間里,我學(xué)到很多之前沒有接觸到的知識(shí),過(guò)得挺充實(shí)的。這里的授課老師講課方式各有特色,但是課后對(duì)于我們來(lái)說(shuō)都很親切。劉老師講話風(fēng)趣幽默,讓我們?cè)谳p松環(huán)境中掌握java語(yǔ)言基礎(chǔ),課程中,老師更加注重我們對(duì)于代碼的積累,并強(qiáng)調(diào)實(shí)用性,讓我們自己在項(xiàng)目中理解,很多老師都知識(shí)面很廣,親和力又強(qiáng),讓我們能夠在輕松地氛圍中更好地融會(huì)貫通所學(xué)android編程知識(shí)。
最后,我想對(duì)已經(jīng)或即將在培訓(xùn)中學(xué)習(xí)android編程的學(xué)弟學(xué)妹們說(shuō)幾句,選擇一家好的android編程培訓(xùn)機(jī)構(gòu)固然很重要,但是最終還是得靠自己的努力,如果自己不努力,誰(shuí)都幫不了你,如果,你選擇了像我選擇的這種一流的機(jī)構(gòu),那剩下的就好好努力吧。如果當(dāng)你堅(jiān)持不下去的時(shí)候,那就想想你的夢(mèng)想,你的家人,你今天的努力,不僅僅是為了你自己。相信自己,你一定能成功。