第一篇:Android操作系統應用開發報告
Android操作系統應用開發報告
項目名稱: 作
者: 學
號: 完成時間:1.開發目的
本次應用開發的預期目的及相關功能介紹。
2.程序系統
對所開發程序系統的介紹,包括總體結構,程序系統中各個程序或函數的名稱及其介紹,他們之間的層次關系。
3.主要功能
說明所開發程序系統具有的實際功能。
4.基本流程
用圖給出所開發程序系統的實際處理流程。
5.出錯原因分析
給出開發過程中出現錯誤的原因分析。
6.開發心得
列出本次課程開發工作中所得到的經驗與教訓,以及心得體會。
第二篇:《Android應用開發》個人總結報告
《Android應用開發》個人總結報告
剛開始接觸Android感覺到它很有意思,在界面開發上和web也可以形成了相通的架構,更加方便,視覺上也是非常的酷,在前期我通過的大量的Android SDK開發范例大全中的例子以及Android提供的APIDEMOS進行學習,盡管例子之間的連接比較零散,不過通過這些例子的學習我可以學習到了很多和以前java上相通的思想,因為Android在現在也是全新的技術和框架,在其中我也學到了如何用單例模式、工廠模式等常用的設計模式進行學習,通過API進行開發客戶端,對Request發送,Response處理中通過比較方便的JSON對象傳輸,以及對XML、JSON、圖片、業務等下載處理,對API接口調用等問題處理。
首先在界面上,我們同樣可以通過不同布局進行設計非常酷的界面,這些界面可以通過include進行引入,和jsp、html也有相通的地方,同樣在android上可以用到自定義的樣式這和css也有比較相通的地方,我們可以通過一些公用的方法寫個BaseActivity這個基類,通過繼承方式比較不錯的實現了Activity的界面,因為這樣你可以Header(頭部)和Footer(尾部)進行處理一些觸發事件或者特效等。布局模式以相對模式為主,線線布局模式可以在比較簡單的include進行完成,最重要的一點就是:我們可以自己通過重寫方法或者通過實現View或者Layout等類進行擴充項目需
要的布局(或者控件),在學習界面中,我發現Android為我們提供了很好的類似反射機制,通過Layout文件夾下的配置文件,可以快速的形成界面,在配置文件可以設置屬性或者樣式都是很快捷方便。對比較特殊的界面也可以通過處理嵌入到指定的界面,同樣你可以通過java代碼直接創建View進行添加,不過這種方式比較復雜。對一些點擊、選中、按鍵等處理的事件,界面之間的 跳轉Intent管理,通過Bundle對數據在界面之間進行傳輸。
Android的界面顯示同樣也是基于控件的。通常是用View(包括ViewGroup)控件配上XML的樣式來做的。具體細節不想說了,可以參考 Samples里的ApiDemos/View,和View的Doc,以及Implementing a UI這篇Doc。其他還有很多,感覺算是SDK講述的最多的內容。從控件的使用上,和網頁的設計類似,盡量用parent_width之類的抽象長度,用Theme來做風格,抽取所有的字串等信息做本地化設計。相關內容參看Implementing a UI就好。
一類比較重要的是數據綁定控件。如果做過ASP.Net會從中看到很多類似的地方。一個支持數據綁定的控件,比如ListView。可以通過一個 ListAdapter綁定到一個數據源上。ListAdapter是一個抽象類,主要的實現類包括SimpleAdapter和 SimpleCursorAdapter。前者是綁定一個靜態的Array,后者是綁定一個動態的Cursor。Cursor前面說過,是一個指向數據源的隨機迭代器,將View綁定到Cursor通常要設置這樣幾個參數。一個是每一行的樣式,稱作Row Layout,其實就是一個普通的Layout的XML文件。還有就是一個列和現實控件的對應關系。那個控件顯示哪個列的值,這是需要配置的。為了定制一個良好的數據顯示控件,最簡單你可以定制很PP的Row Layout,復雜一點就是可以重載綁定控件View,或者是適配器ListAdapter。如果是一個數據顯示密集的應用,且你對UI有些追求,這個工作估計是必不可少的。
一個主要用于顯示數據內容的Activity,可以選擇派生自ListActivity。它提供了一個具有
ListView 的Layout,還有
simple_list_item_1, simple_list_item_2, two_line_list_item等默認的Row Layout,還有一些比較不錯的API,和可供響應選擇Item的事件。可以滿足你比較基礎的需求。如果你覺得只有一個ListView的界面太突兀,你可以為這個ListActivity指定一個Layout,需要注意的是,你需要提供一個id為@android:id/list的ListView控件,避免Activity在內部偷偷尋找該控件的時候失敗。
除了這些要求,做好UI還有注意易用性和效率。快捷鍵是一個比較不錯的選擇,在 Activity中調用setDefaultkeyMode(SHORTCUT_DEFAULT_KEYS),可以開啟快捷鍵模式,然后你可以將菜單綁定到指定快捷鍵上就OK了。個人覺得Tip也是一個比較重要的東西,但目前觀察看來,這個東西只能夠自己提供了。界面的動態性有時候是不可避免的,比如說菜單就是一個需要經常根據光標位置提供不同的選項。這個東西Android很人道的考慮到了,你可以參看NodeList這個Sample。它采取的應該是一個靜態模擬動態的方式,這樣有助于提高速度。你也可以利用ViewInflate,動態從一個XML創建一個控件。成本據Doc說很大,不到萬不得已不要使
第三篇:android開發實習報告總結
Android開發實習總結
有一名話叫做:不經過風雨,怎么見彩虹?我想改一下:不真正進入社會,怎能了解社會呢?
在這次實習中,給我收獲最大的是我覺得很多工作需要我去摸索和探討,要不怕吃苦,勇于激流勇進,有的工作雖然單挑又重復,但這是磨練意志最有效的方法,我告誡自己要認真完成,對每項工作都要他看成是公司對自己的一次考核,做到每一件事的過程中遇到困難,一定要爭取不拋棄,不放棄,堅持“戰斗”,只要希望還在,勝利一定屬于我們。
在此次專業實習的過程中,我進入了廣州外語通科技有限公司當任Android開發實習生,并參加了兩次大項目的研發,從實際到理論,加深了我們對軟件技術專業的理解,和對于與社會接軌的深刻感受。
作為學生,我們更多的是課本的知識的理解,理論的優勢是我們的特色,但是怎樣將理論結合實際卻是擺在我們面前的難題。而參觀廣州外語通科技有限公司正視給了我們直觀的解讀。廣州外語通科技有限公司建立了一整套符合國際標準的質量、成本和交付體系,軟件開發質量控制和過程改善能力已達到了國際先進水平,秉承“用開拓的意識、創造新的價值”的企業理念,不斷跟蹤國際先進技術與管理思想,研發和提供優質軟件產品和技術服務,為客戶不斷創造和提升價值。正是因為秉持這樣的理念其完整的價值鏈和細致的軟件服務,給了我們以軟件技術專業的具體實際的體驗。與此同時,廣州外語通科技有限公司企業的參觀使我們對中國物流企業的現狀有了大概的了解,參觀過程中不同倉庫的設施和地面的設置的挑選更是讓我們多了超出理論的認識。通過指導人員的講解我們對中國物流企業的信息化有了大致的了解:中國物流企業信息化整體水平不高是其信息化建設的核心問題。這包括:標準不統一,資源浪費嚴重;大型應用軟件系統應用不普遍,應用層次低;現有各軟件系統之間相互孤立,形成“信息孤島”;信息化建設發展不平衡,造成“信息鴻溝”;硬件設備的利用率不高,資源浪費嚴重;綜合信息系統是物流業信息化建設的必然趨勢。
如果說前兩次的參觀實習是給的我們直觀的視覺沖突和心理震撼,那么后來的信息化講座就揭開了信息化和軟件技術專業的神秘面紗。通過經驗豐富的演講者的ppt演示我們了解了多個行業的信息化實施過程和具體的商務轉變成軟件技術專業活動的流程。現實中簡單的商務活動一旦設計成成功的xx專業流程將涉及多個業務流程,整體的實施過程是復雜而艱難的。鑒于中國Android專業已經很成熟,各方面的支持還不夠很完備,這使得中國Android專業的發展有很大的擴展性。
作為應屆畢業生,在畢業前的這次專業實習,無疑是給了我們對Android專業的清晰認識,這也是最為軟件技術專業專業的學生的最大感悟。當然實習中還有著更多的感觸,包括學習,生活,工作各個方面。
就學習而言,專業實習它更偏重于應用,更加細致,要求也更加嚴格。作為應屆畢業生的我們要想適合自己的工作,在實際中實現自己的理想,必需不斷的增加自己的能力,做事情更加專注。
就生活而言,專業學習展示給我們看各個不同的行業的人們的生活,不同行業的人們將自己的行業融入自己的生活,這樣大的人群的生活展示給我們未來的生活遠景,選擇什么樣的生活也是我們現在的最重要的抉擇。一旦下定決心,也就要開始為自己的生活做準備,勝利是屬于有準備的人的。現在的我就要為自己的生活做準備,不斷的充實自己。
就工作而言,無疑的本次的xx專業專業實習,展示給我們了多種職業,而作為應屆畢業生,擇業的選擇是大多數人所面對的問題。就我們xx專業而言,面試時常遇見的問題就是“Android專業是干什么的?”或許大多數的學生跟我一樣對android專業并沒有清晰的概念,所以也并不能很好的回答這樣的問題。不管怎樣,勤勞的人是讓人欽敬的,但所接觸的朋友說“多年的工作讓我清楚這個社會的運轉不是控制在辛勤勞動的人手上,而是那一班根深帝固的政治家、資本家手中...工作中的認真負責不是為了討好表現,而是為了要冶練自己的品性,是在為自己,不是為老板”。
上面的認識都是正面的,也是自己受益的主要部分,但就個人而言,本次的xx專業實習更多的是讓自己認識到自己的不足。作為一個即將畢業的應屆生,通過此次的實習,更多的是對大學四年的回顧和反省。進入了社會,和學校的感覺是完全不一樣的。只有在剛進入公司的一個月里,大家還把你當作新人,時間久了公司的領導就把你與其它同事相比較;當你開始跑客戶時,客戶把你與做了很多年的銷售相比較,沒人把再把你當新人看待,而你把你當作一個正式的有能力的人使用。
看著那些員工忙忙碌碌的來來去去,堅定的態度是那么一點一滴在鑄就起來,一個被人認可的人首先一定是一個認真負責的人,一個認真負責的人無論到哪里都可以站得正。相對于經驗和技術而言,這些都是可以積累的,可以日久能熟的,但是否能有正確的態度卻是因人而異的,有的人永遠讓人感覺畏鎖。我從來沒有把現在的工作當作實習,我就是認定我是在工作,而不是來學習東西的。我是為工作而學習,學習是為了把工作做得更好。
總的來說,我們這一次實習是比較成功的,大家都能學習到了很多在校園、在課堂上、課本上學不到的東西,也了解很多和懂得了做人的道理,特別是體會到生活中的艱辛和找工作的不容易。
感謝這次實習,感謝這次實習的教師,感謝為我們爭取了這實習機會的領導。這次實習,一定會令我的人生走向新一頁!
XXX
2016-01-08
第四篇:android 開發心得
即 使你的應用程序是快速且響應靈敏的,但一些設計仍然會給用戶造成問題——與其它應用程序或對話框未事先計劃的交互,意外的數據丟失,意料之外的阻塞等等。避免這些問題,有助于理解應用程序運行的上下文和系統的交互過程,而這些又正影響著你的應用程序。簡而言之,你應該竭盡全力去開發一個與系統和其它應用程 序流暢交互的應用程序。
一 個常見的流暢問題是,一個應用程序的后臺處理——例如,一個 Service或者
BroadcastReceiver——彈出一個對話框來響應一些事件。這可能看起來沒啥大礙,尤其是你在模擬器上單獨地構建和測試你 的應用程序的時候。然而,當你的應用程序運行在真機上時,有可能你的應用程序在沒有獲得用戶焦點時后臺處理顯示了一個對話框。因此,可能會出現在活躍的應 用程序后方顯示了你的應用程序的對話框,或者從當前應用程序奪取焦點顯示了一個對話框,而不管當前用戶正在做什么(例如,正在打電話)。那種行為,對應用 程序或用戶來說,就不應該出現。
為了避免這些問題,你的應用程序應該使用合適的系統資源來通知用戶——Notification類。使用Notification,你的應用程序可以在狀態欄顯示一個 icon來通知用戶已經發生的事情,而不是奪取焦點和打斷用戶。
另 一個流暢問題的例子是未能正確實現Activity的 onPause()和其它生命周期方法而造成意外丟失了狀態或用戶數據。又或者,如果你的應用程序想暴露數據給其它應用程序使用,你應該通過 ContentProvider來暴露,而不是(舉例)通過一個可讀的原始文件或數據庫來實現。
這 些例子的共同點是它們都應該與系統和其它應用程序協作好。Android系統設計時,就把應用程序看作是一堆松散耦合的組件,而不是一堆黑盒代碼。作為開 發者來說,允許我們把整個系統看作是更大的組件集合。這有益于我們可以與其它應用程序進行清晰無縫的集成,因此,作為回報,我們應該更好的設計我們的代 碼。
下面將討論常見的流暢問題以及如何避免它們:
一 定要記住Android是一個移動平臺。可以顯而易見地說,其它Activity(例如,“Incoming Phone Call”應用程序)可能會在任何時候彈出來遮蓋你的Activity,記住這個事實很重要。因為這個過程將觸發 onSaveInstanceState()和 onPause()方法,并可能導致你的應用程序
被殺死。
如 果用戶在你的應用程序中正在編輯數據時,其它 Activity出現了,這時,你的應用程序被殺死時可能丟失那些數據。當然了,除非你事先保存了正在進行的工作。“Android方式”是這樣做的:能 接收和編輯用戶輸入的 Android應用程序應該重寫 onSaveInstanceState()方法,并以恰當的方式保存它們的狀態。當用戶重新訪問應用程序時,她能得到她的數據。進行這種處理方式最經典的例子是 mail應用程序。如果用戶正在輸入 email,這時其它 Activity啟動了,mail應用程序應該把正在編輯的email以草稿的方式保存起來。
如果你不想穿著內衣在大街上溜達的話,你的數據也不應該這樣。盡管可能存在暴露應用程序的某種形式給其它應用程序,但這通常不是最好的主意。暴露原始數據,要求其它應用程序能夠理解你的數據的格式;如果你變更了格式,那么,你將破壞那些沒有進行同步更新的應用程序。
“Android 方式”是創建一個 ContentProvider,以一種清晰的、深思熟慮的和可維護的API方式暴露你的數據給其它應用程序。使用 ContentProvider,就好像是插入Java接口來分離和組裝兩片高耦合的代碼。這意味著你可以修改數據的內部格式,而不用修改由 ContentProvider暴露的接口,這樣,也不會影響其它應用程序。
如果用戶正在運行一個應用程序(例如,Phone程序),斷定對用戶操作的目的才是安全的。這也就是為什么必須避免創建Activity,而是直接在當前的 Activity中響應用戶的輸入。那 就是說,不要在 BroadcastReceiver或在后臺運行的 Service中調用 callActivity()。這么做會中斷當前運行的應用程序,并導致用戶惱怒。也許更糟糕的是,你的 Activity可能成為“按鍵強盜”,竊取了用戶要提供給前一個 Activity的輸入。視乎你的應用程序所做的事情,這可能是個壞消息。
不 選擇在后臺直接創建 Activity UI,取而代之的是,應該使用NotificationManager來設置 Notification。它們會出現在狀態欄,并且用戶可以在他空閑的時候點擊它們,來查看你的應用程序向他顯示了什么。(注意,如果你的 Activity已經在前臺了,以上將不適用:這時,對于用戶的輸入,用戶期望的是看到下一個 Activity來響應)
如果你的應用程序需要執行一些昂貴或耗時的計算的話,你應該盡可能地將它挪到線程里。這將阻止向用戶顯示可怕的“Application Not Responding”對話框,如果不這樣做,最終的結果會導致你的應用程序完全終止。
一 般情況下,Activity中的所有代碼,包括它的 View,都運行在相同的線程里。在這個線程里,還需要處理UI事件。例如,當用戶按下一個按鍵,一個 key-down事件就會添加到 Activity的主線程隊列里。事件處理系統需要很快讓這個事件出列并得到處理;如果沒有,系統數秒后會認為應用程序已經掛起并為用戶提供殺死應用程序 的機會。
如果有耗時的代碼,內聯在Activity上運行也就是運行在事件處理線程里,這在很大程度上阻塞了事件處理。這會延遲輸入處理,并導致ANR對話框。為了避免這個,把你的計算移到線程里。
任 何值得使用的應用程序都可能有幾個不同的屏幕。當設計UI屏幕時,請一定要使用多個Activity對象實例。依賴于你的開發背景,你可能理解 Activity類似于 Java Applet,它是你應用程序的入口點。然而,那并不精確:Applet子類是一個 Java Applet的單一入口點,而一個Activity應該看作是你的應用程序多個潛在入口點之一。你的“main”Activity和其它之間的唯一不同點 是“main”Activity正巧是在AndroidManifest.xml文件中唯一對“android.intent.action.MAIN”動作感興趣的Activity。因此,當設計你的應用程序的時候,把你的應用程序看作是Activity對象的 集合。從長遠來看,這會使得你的代碼更加方便維護。
當 談到 UI觀感時,巧妙地交融非常重要。用戶在使用與自己期望相反的 UI的應用程序時,會產生不愉快的感覺。當設計你的 UI時,你應該盡量避免太多自己的主題。相反的,使用同一個主題。你可以重寫或擴展你需要的主題部分,但至少在與其它應用程序相同的 UI基礎上開始。
不 同的 Android設備可能支持不同的屏幕分辨率。甚至一些可以自己變更分辨率,例如,切換到風景模式。確保你的布局和圖片能足夠靈活地在不同的設備屏幕上正 常顯示。幸運的是,這很容易做到。簡而言之,你需要做的是為主要分辨率提供不同版本的作品,然后為不同的尺寸設計你的布局。(例如,避免使用硬編碼位置而 使用相對布局。)如果那樣做的話,系統會處理剩下的部分,而且你的應用程序在任何設備上都看起來很棒。
Android設備會有多種網絡連接選項。所有的都提供數據訪問,但之間肯定有更快的。其中,速度最慢的是GPRS,GSM網絡的非 3G數據服務。即使具備 3G能力的設備在非3G的網絡上也會花費很多的時間,所以,網絡很慢仍然是一個長期存在的事實。
這 就是為什么你應該按照最小化的網絡訪問和帶寬來編寫你的代碼。你不能假設網絡是快速的,所以,你應該總是計劃它是慢的。如果你的用戶碰巧在一個快速的網絡 上,那很好——他們的用戶體驗會提升。你要避免相反的情形:在不同的地點和不同時間,應用程序有時可用,有時慢得令人抓狂,這樣的程序可能不會受歡迎。
還 有一個潛在的地方是,如果你正在使用模擬器,那么你很容易受它迷糊,因為模擬器使用電腦的網絡連接。這比手機網絡快很多,所以,你需要修改模擬器設定來模 擬較低的網絡速度。你可以在 Eclipse中做到這點,在啟動選項的模擬器設置頁里設置或者在啟動模擬器時通過命令行選項設置。
Android 可以支持多種外觀形狀。也就是說,一些Android設備擁有全“QWERTY”鍵盤,而其它可能會有40鍵、12鍵或其它鍵盤設置。同樣的,一些設備可 能有觸摸屏,但一些也會沒有。當創建你的應用程序的時候,記住這一點。不要假定特定的鍵盤布局——除非你真的想限定你的應用程序只運行在某些設備上。
如 果移動設備經常插在墻上,那么,它也就不是很“移動”。移動設備是電池供電的,如果我們能讓每次充電的電池使用得更持久一些,那么每個人都會更加開心—— 尤其是用戶。
其中兩大耗電硬件是處理器和無線;這也就是我們為什么要寫盡可能少做工作、盡可能少去使用網絡的應用程序的重要原因。
如 何讓你的應用程序最小化的占用處理器,歸根結底還是要寫高效代碼。為了減少無線的電量消耗,確保對錯誤條件進行正確的處理,并只獲取你要的東西。例如,如 果某一個網絡操作失敗了,不要不斷地進行重試。如果失敗了一次,有可能是用戶不受歡迎,因此,如果你再以正確的方式操作,有可能還會失敗;所有你做的都是 在浪費電池。
用戶是相當聰明的:如果你的程序高耗電,他們是一定會發現的。到那個時點,你唯一可以確定的是,你的程序將很快被卸載掉。
第五篇:零距離揭秘Android應用開發培訓行業
零距離解密Android應用開發培訓行業
2014年從大學里走出來的應屆畢業生有過之600萬之上,加上往屆畢業學生的求職競爭,大學生的求職壓力非同以往。而且國內經濟增速放緩,不少公司正在處于休眠期,工作崗位屈指可數,而且單位選拔人才亦是千挑萬選。Android培訓機構成為不少企業選拔人才的重中之選。
隨著手機行業的迅猛發展,企業對于基于Android平臺的開發人員的需求量在急劇提升。在這個時機,掌握Android核心技術,進入3G開發行業,不但意味著高薪,更重要的是將獲得良好的個人發展契機,成為引領3G行業發展潮流的先行軍!由于Android技術問世時間短,發展速度快,因此很難找到包含完整真實案例的相關書籍與資料,給很多想轉型從事Android應用開發的人帶來了很多困難。千鋒android培訓推出的android應用開發實戰課程三個系列,將使用案例驅動課程,讓學員在動手實踐的過程中,真正掌握Android技術,快速成為android應用開發大咖。從長期來看,隨著各種移動應用和手機游戲等內容需求日益增加,也將激勵大中小型手機應用開發商加大對Android應用的開發力度,因此Android人才的就業前景也非常廣泛。手機開發行業人才緊缺導致薪酬水漲船高,基于手機網絡的嵌入式軟件開發人員也將格外搶手。
幫助廣大欲從事Android系統開發的畢業生與技術人員,掌握Android系統開發的全面技術能力,達到企業開發人員所具備的能力要求,深入理解系統的核心組成,激發興趣并且引導進入更深層次的學習就業:Android開發工程師、Android系統架構工程師、Android系統移植工程師。
千鋒Android培訓秉承著“良心”教育,“品質”教學,“責任”就業的理念與宗旨,經過一年時間的調研準備,以及校區選址尋求院校企業合作伙伴等前期工作,于2014年正式成立深圳千鋒教育Android班。
深圳千鋒擁有著千鋒教育的優秀師資后盾,讓深圳分校擁有強大的教學支持。數名優秀的深圳android教師調往深圳教授學生,讓上海學生享受與北京總校一樣的教學質量。千鋒的嚴格教學管理制度,也讓深圳分校的學員學習質量有了更穩固的保障。