第一篇:安卓android課程設(shè)計報告
湘潭大學(xué)課程設(shè)計報告
課
程 課
題指
導(dǎo)
名
稱______手機(jī)安卓開發(fā)_______ 名
稱______天氣預(yù)報APP_______老
師______周唯___________
姓
名____黃柳________
學(xué)
號___2012600719_________ 班
級____12計2班________
小
組______棒棒糖_______ 時
間____2015年1月26 日_____
一、需求分析(一)引言
1.編寫目的
1.1 為用戶提供一個顯示天氣預(yù)報的軟件,可以根據(jù)百度地圖顯示用戶需求的城市位置,以及用圖標(biāo)表示各城市對應(yīng)的氣象信息,可以簡潔的表示出“晴、雨、雪”和“氣溫”氣象信息。
2.項目風(fēng)險
2.1(項目風(fēng)險識別是指找出影響項目目標(biāo)順利實(shí)現(xiàn)的主要風(fēng)險因素,并識別出這些風(fēng)險究竟有哪些基本特征、可能會影響到項目的那些方面。)2.2 聯(lián)網(wǎng)收費(fèi)視用戶電話運(yùn)營商的收費(fèi)標(biāo)準(zhǔn)決定
2.3 手機(jī)或者無線信號不好時,可能無法連接或更新天氣情況 3.預(yù)期讀者和閱讀建議
3.1 預(yù)期讀者:會使用已經(jīng)安裝安卓系統(tǒng)的手機(jī)或者平板電腦及其他移動設(shè)備的用戶
3.2 閱讀建議:讀者應(yīng)通過該文檔可以了解相關(guān)項目的需求分析、使用注意事項以及可能存在的風(fēng)險
4.產(chǎn)品范圍
2.2 手機(jī),平板電腦,MP4,導(dǎo)航儀,上網(wǎng)本,電紙書等使用安卓系統(tǒng)的數(shù)碼領(lǐng)域(二)綜合描述
1.產(chǎn)品的狀況
1.1 Android是一種以Linux為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。目前未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),最初主要支持手機(jī)。2005年由Google收購注資,并組建開放手機(jī)聯(lián)盟開發(fā)改良,逐漸擴(kuò)展到平板電腦及其他數(shù)碼領(lǐng)域上。我們開發(fā)的相關(guān)項目正是一個在安卓平臺上開發(fā)的軟件,可以用這個軟件來實(shí)現(xiàn)用戶在一些簡單的手持設(shè)備如手機(jī)或者平板電腦等上面及時的了解到用戶所在城市的天氣預(yù)報。
2.產(chǎn)品的功能
2.1 天氣信息獲取 2.2 天氣信息顯示 3.系統(tǒng)配置功能
3.1 用戶類和特性
安卓平臺用戶:安卓新用戶可以使用軟件來了解用戶所在城市的天氣預(yù)報。熟悉安卓平臺用戶還可以選擇對相關(guān)軟件的系統(tǒng)按自己的喜好進(jìn)行配置并保留自己的個性化系統(tǒng)配置。
安卓軟件開發(fā)者:安卓軟件開發(fā)者(喜好者)可以通過相關(guān)的開源代碼來了解軟件運(yùn)行的原理。
3.2 運(yùn)行環(huán)境
軟件需要在支持安卓系統(tǒng)的可移動設(shè)備中正確安裝才能正常運(yùn)行。安卓版本需在2.2及以上,同時建議用戶如果是在手機(jī)移動設(shè)備使用的話,需確保手機(jī)支持聯(lián)網(wǎng)服務(wù)。
3.3 設(shè)計和實(shí)現(xiàn)上的限制
Eclipse是開發(fā)相關(guān)應(yīng)用軟件的首選集成開發(fā)環(huán)境,安卓開發(fā)環(huán)境首先需要安裝支持java應(yīng)用軟件運(yùn)行的java開發(fā)軟件包(即JDK),然后安裝集成開發(fā)環(huán)境Eclipse,最后安裝Android SDK的Eclipse的ADT插件。
Android SDK和Eclipse的ADT插件是必須使用的。
軟件支持高效、快速的數(shù)據(jù)存儲方式,包括快速數(shù)據(jù)存儲方式SharedPreferences、文件存儲和輕量級關(guān)系數(shù)據(jù)塊SQLite,可軟件可以使用適合的方法對數(shù)據(jù)進(jìn)行進(jìn)程保存和訪問。
3.4 假設(shè)和約束(依賴)
軟件必須在安卓系統(tǒng)下才可以正常運(yùn)行,若需要獲取天氣更新或者是短信服務(wù),需確保用戶的數(shù)碼設(shè)備支持聯(lián)網(wǎng)及短信服務(wù)。(三)外部接口需求 1 2 用戶的手機(jī)設(shè)備可以支持聯(lián)網(wǎng)。用戶界面 軟件接口
軟件提供輕量級的進(jìn)程間通信機(jī)制Intent,實(shí)現(xiàn)跨進(jìn)程組件通信。4 訪問硬件的API庫函數(shù)通訊接口
4.1 HTTP 協(xié)議:有多種接口可以調(diào)用你可以用Java類庫封裝的HttpConnection 或者用Apach的開源項目的 HttpGet 或者HttpPost,服務(wù)器端 需要 編寫 Serlvet來響應(yīng)客戶端的請求。
4.2 Sokcet : 就是 服務(wù)器端 不斷監(jiān)聽 雙方約定好的端口號,客戶端通過服務(wù)器IP去請求連接,連接成功后,得到Socket 的輸入輸出流,直接操作即可。(四)系統(tǒng)功能需求
天氣信息顯示和獲取
功能描述:需有一個顯示天氣情況的用戶界面,要求百度地圖顯示各城市位置(如:北京、長沙、廣州等3-5個城市),以及用圖標(biāo)表示各城市對應(yīng)的氣象信息,表示出“晴、雨、雪”和“氣溫”簡潔氣象信息。輸入輸出信息:
輸入:當(dāng)觸摸某一城市對應(yīng)的氣象圖標(biāo)時,顯示該城市當(dāng)天的溫度、濕度、風(fēng)向和雨雪詳細(xì)天氣信息,并預(yù)報該城市后面幾天的氣象信息。
輸出:氣象信息的獲取,從百度上獲取天氣預(yù)報信息,這些天氣數(shù)據(jù)是通過后臺服務(wù)獲取的,這個后臺服務(wù)可以按照一定時間間隔,并將各城市的天氣信息保存到SQLite數(shù)據(jù)庫中。
二、概要設(shè)計
三、Ui界面
我們的ui界面秉承著清新的風(fēng)格開發(fā)出來的。
整個軟件界面使用一個線性布局,讓所有的元素從屏幕上方向下填充,并給整個線性布局進(jìn)行權(quán)重劃分。
線性布局的最上方是一個TextView,顯示當(dāng)前城市的名字,接著往下是一個相對布局,相對布局的左側(cè)是天氣的圖片,右側(cè)是三個天氣相關(guān)的參數(shù)。
接著是一個線性布局,布局的左上方是三個TextView,分別顯示“預(yù)報”,“趨勢”,“指數(shù)”功能,通過點(diǎn)擊相應(yīng)的TextView,下方的一個線性布局展現(xiàn)不同的功能。功能面板文字的下方是一個大的線性布局,用來顯示未來三天的天氣情況。在這個大的線性布局中,又含有三個小的線性布局,這三個小線性布局中包含了日期,天氣圖片和風(fēng)力狀況等(這些控件從上到下垂直居中顯示)。
通過給整個XML文件中LinearLayout布局的的子級布局添加權(quán)重,讓各個部分從上到下有序的顯示,讓當(dāng)前城市名稱在屏幕的上方顯示,功能面板位于屏幕下方顯示,以匹配不同尺寸屏幕,讓軟件的顯示效果更好。軟件的整體布局風(fēng)格是清新,優(yōu)美,大方。
四、功能設(shè)計
功能上實(shí)現(xiàn)實(shí)時的獲取天氣信息,獲取百度api返回數(shù)據(jù),解析百度api返回的json數(shù)據(jù),根據(jù)解析到的數(shù)據(jù)繪制氣溫趨勢圖,并將數(shù)據(jù)反饋到app上的相應(yīng)的區(qū)域。通過使用ViewPager類,來實(shí)現(xiàn)天氣預(yù)報軟件中多個城市間的無縫頁面切換。由于組員都缺少JAVA開發(fā)經(jīng)驗(yàn),對安卓開發(fā)也不熟悉,所以我們決定采用調(diào)用API的方法來實(shí)時獲取不同城市的天氣預(yù)報數(shù)據(jù),在這次項目中我們將采用百度的車載API。通過HttpClient類和AsyncTask異步類來獲取網(wǎng)絡(luò)數(shù)據(jù)。最后通過Gson類來解析獲取的網(wǎng)絡(luò)數(shù)據(jù),并給頁面中的所有的布局空間設(shè)置id,在AsyncTask得到網(wǎng)絡(luò)數(shù)據(jù)之后將這些數(shù)據(jù)同步到軟件界面上,呈現(xiàn)給用戶。
三、功能模塊
我主要負(fù)責(zé)監(jiān)聽程序的設(shè)計,監(jiān)聽用戶按鍵,并進(jìn)行相應(yīng)的動作。
只要用戶滑動面板,就切換到下一個城市,并獲得下一個城市的天氣數(shù)據(jù),顯示在面板上。每隔15分鐘自動更新天氣數(shù)據(jù)。主要代碼如下:
下面的代碼處理網(wǎng)絡(luò)連接部分,用GSON解析網(wǎng)絡(luò)上獲得的Json網(wǎng)頁:
下面代碼訪問網(wǎng)絡(luò):
四、心得體會
通過這個軟件的實(shí)現(xiàn),我對Android編程有了更加濃厚的興趣,對Android中的常用類和接口有了進(jìn)一步的認(rèn)識。對編程有了一種新的看法,編程在我的學(xué)習(xí)中不再是那樣的枯燥無味,而是時時刻刻充滿驚喜。雖然這是一個挺小的項目但它對我在編程方面起到了一種激勵的作用。我會在此基礎(chǔ)上更加努力做出更好的程序。
第二篇:安卓課程設(shè)計報告
安 卓 課 程 設(shè) 計
班 級 09級計算機(jī)二班
學(xué) 號 20097923 姓 名 郭丹
目錄
第1章
安卓應(yīng)用程序開發(fā)背景..........................................................3 §1.1開發(fā)背景...................................................................................3 §1.2開發(fā)環(huán)境...................................................................................4 第2章 第3章 §3.1 §3.2 §3.3 第4章
安卓應(yīng)用程序開發(fā)理論與方法..............................................4 “計算器”應(yīng)用程序的設(shè)計與實(shí)現(xiàn).......................................6 擬解決的問題及目標(biāo).............................................................6 總體設(shè)計................................................................................7 詳細(xì)設(shè)計與編碼實(shí)現(xiàn).............................................................7 總結(jié).......................................................................................17 2
第1章
安卓應(yīng)用程序開發(fā)背景
§1.1開發(fā)背景
1.智能手機(jī)的市場
(1)功能多樣化的智能手機(jī)挑戰(zhàn)全球PC出貨量
移動互聯(lián)網(wǎng)時代的來臨,直接促進(jìn)了搭載智能操作系統(tǒng)、具有強(qiáng)大擴(kuò)展性的智能手機(jī)、平板電腦等移動終端產(chǎn)業(yè)的蓬勃發(fā)展。來自美國最大的風(fēng)險投資機(jī)構(gòu)KPCB的數(shù)據(jù)顯示,全球智能手機(jī)出貨量正在以遠(yuǎn)高于臺式電腦、筆記本電腦出貨量的速度快速增長,該機(jī)構(gòu)預(yù)計2011年全球智能手機(jī)出貨量將達(dá)到4.13億,超過臺式電腦與筆記本電腦出貨量的總和。
(2)智能手機(jī)的用戶使用數(shù)量正在高速增長。據(jù)市場調(diào)研機(jī)構(gòu)Gartner信息,2011年全球智能手機(jī)的總出貨量將會達(dá)到4.68億部,相比2010年實(shí)現(xiàn)了57.7%的增長,而谷歌Android操作系統(tǒng)將會在今年之內(nèi)成為全球最大的智能手機(jī)操作系統(tǒng)。另外,全球市場調(diào)研機(jī)構(gòu)IDC預(yù)計未來5年中國手機(jī)市場上,智能手機(jī)替代傳統(tǒng)功能手機(jī)的趨勢將日益明顯,未來5年中國智能手機(jī)市場復(fù)合增長率將達(dá)到34.1%,人們對IT設(shè)備智能化的向往是這一增長率能夠?qū)崿F(xiàn)的主要因素,并且與其他國家相比,中國智能手機(jī)市場的發(fā)展空間更加廣闊。(3)操作系統(tǒng)格局預(yù)測:Android有望成為智能手機(jī)市場主導(dǎo)力量
搭載Android操作系統(tǒng)的智能手機(jī)目前已經(jīng)成為市場上最炙手可熱的智能產(chǎn)品。來自美國市場研究機(jī)構(gòu)Gartner的數(shù)據(jù)顯示,Android操作系統(tǒng)所占的市場份額從2008年的0.5%急劇增長到2011年的15.94%。開放的源代碼和零成本已經(jīng)讓Android在全世界范圍內(nèi)受到青睞并迅速獲得了主要手機(jī)廠商和數(shù)百萬軟件開發(fā)者的支持,Gartner預(yù)計,未來Android系統(tǒng)的市場份額有望超過其他操作系統(tǒng),從而成為全球第一大智能手機(jī)操作系統(tǒng)。2.安卓手機(jī)介紹
安卓手機(jī)指的是用Android操作系統(tǒng)的手機(jī)。安卓(Android)是基于Linux內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。
同樣都是手機(jī)上面用的智能系統(tǒng),安卓的系統(tǒng)是新生系統(tǒng),界面更為華麗,開源性更強(qiáng),當(dāng)然因?yàn)槭切律到y(tǒng),所以在第三方軟件方面暫時還不太多。因此,安卓應(yīng)用程序的需求還是很迫切的。3.軟件人才需求
據(jù)業(yè)內(nèi)統(tǒng)計,目前國內(nèi)的Android研發(fā)人才缺口至少30萬。由于目前Android技術(shù)較新,無論是相關(guān)書籍、培訓(xùn)還是大學(xué)教育,都處于初級階段,因此Android人才短期將供不應(yīng)求。從長期來看,隨著各種移動應(yīng)用和手機(jī)游戲等內(nèi)容需求日益增加,也將激勵大中小型手機(jī)應(yīng)用開發(fā)商加大對Android應(yīng)用的開發(fā)力度,因此Android人才的就業(yè)前景也非常廣泛。
綜上所述,在這樣的背景下,安卓有很強(qiáng)的生命力。同時,作為一個新生的系統(tǒng),其應(yīng)用程序目前并不多,安卓應(yīng)用程序的需求還是很迫切的,安卓研發(fā)人才的缺口還很大。這些都促進(jìn)了我們學(xué)習(xí)開發(fā)安卓應(yīng)用程序。
§1.2開發(fā)環(huán)境
安卓應(yīng)用程序開發(fā)環(huán)境如下:
①JDK 5 or JDK 6(JRE alone is not sufficient)②Eclipse 3.3(Europa), 3.4(Ganymede)③Android SDK ④ADT 0.8.0 ⑤Eclipse安裝ADT 插件
第2章
安卓應(yīng)用程序開發(fā)理論與方法
1、Activity的相關(guān)知識
簡單理解Activity 代表一個用戶所能看到的屏幕,Activity 主要是處理一個應(yīng)用的整體性工作。Activity是最基本的Android 應(yīng)用程序組件,應(yīng)用程序中,一個活動通常就是一個單獨(dú)的屏幕。每一個活動都被實(shí)現(xiàn)為一個獨(dú)立的類,并且從活動基類中繼承而來,活動類將會顯示由視圖控件組成的用戶接口,并對事件做出響應(yīng)。大多數(shù)的應(yīng)用是由多個屏幕顯示組成,因而要用到多個Activity。(1)Activity的相關(guān)方法及相關(guān)函數(shù): A、void onCreate(Bundle)首次啟動時調(diào)用,接受參數(shù):Null or savedInstanceState(保存的以前某些狀態(tài)信息)B、void onStart()說明了將要顯示給用戶的活動
C、void onRestart()將處于停止?fàn)顟B(tài)的活動重新顯示給用戶 D、void onResume()用戶可以開始與活動進(jìn)行交互時調(diào)用。如動畫播放和音樂播放。E、void onPause()活動將要進(jìn)入后臺運(yùn)行時調(diào)用。(此時前臺啟動了另一個活動)F、void onStop()不需要某個活動了,就調(diào)用 G、void onDestroy()銷毀活動
(2)多個Activity之間的跳轉(zhuǎn):
通過Intent類實(shí)現(xiàn)屏幕之間的跳轉(zhuǎn)(包括沒有參數(shù)關(guān)系和需要傳遞參數(shù)兩種情況)。
(3)兩個Activity之間進(jìn)行數(shù)據(jù)交換: startActivity()只有Intent一個參數(shù)。
public void startSubActivity(Intent intent, int requestCode)(requestCode:用來標(biāo)識某一個調(diào)用,一般定義一個常量。)
傳過去:函數(shù)原型為: public Intent setData(ContentURI data)然后,參數(shù)帶到新的Activity后,同樣用Activity.getIntent()函數(shù)可得到當(dāng)前過來的Intent對象,然后用getData()就取到參數(shù)了。傳回來:函數(shù)原型為: public final void setResult(int resultCode, String data)
2、Intent的相關(guān)知識 Intent 是描述應(yīng)用想要做什么。Android 使用了Intent 這個特殊類,實(shí)現(xiàn)在屏幕與屏幕之間移動。Intent 數(shù)據(jù)結(jié)構(gòu)兩個最重要的部分是動作和動作對應(yīng)的數(shù)據(jù)。Intent類綁定一次操作,它負(fù)責(zé)攜帶這次操作所需要的數(shù)據(jù)以及操作的類型等。
3、Layout 用于用戶界面設(shè)計。包含AbsoluteLayout,F(xiàn)rameLayout,GridView,LinearLayout,ListLayout,RadioGroup,TableLayout等等。
在本程序中用到的有:(1)線性布局LinearLayout 垂直:android:orientation=“vertical“ 水平:android:orientation=”horizontal“(2)相對布局RelativeLayout 讓子元素指定它們相對于其他元素的位置(通過ID 來指定)或相對于父布局對象。在RelativeLayout布局里的控件包含豐富的排列屬性: Layout above:控件在指定控件的上方
Layout below:控件在指定控件的下方 Layout to left of??
第3章
“計算器”應(yīng)用程序的設(shè)計與實(shí)現(xiàn)
§3.1 擬解決的問題及目標(biāo)
本計算器程序要解決日常生活中常見的基本數(shù)據(jù)計算問題,程序要實(shí)現(xiàn)的目標(biāo)有如下幾個:
(1)要實(shí)現(xiàn)基本的加、減、乘、除四則運(yùn)算。
(2)可以實(shí)現(xiàn)在前一步計算結(jié)果上繼續(xù)作加、減、乘、除,即連加、減、乘、除。
(3)有清空功能,即清除所有數(shù)據(jù),重新開始計算。
(4)可實(shí)現(xiàn)基本的三角函數(shù)的計算,如:正弦,余弦,正切,余切。(5)可實(shí)現(xiàn)一些特殊運(yùn)算,如:平方,立方,開方,求對數(shù)等。
§3.2 總體設(shè)計
1、系統(tǒng)的軟件結(jié)構(gòu)圖
計算器基本加減乘除運(yùn)算三角函數(shù)運(yùn)算其他運(yùn)算加減乘法法法除法正弦余弦正余切切平方立方開方對數(shù) 圖3-1
2、功能的操作流程
首先用戶根據(jù)自己的實(shí)際需要選擇計算的類型,然后進(jìn)入不同的計算類型,再進(jìn)行要執(zhí)行的運(yùn)算,輸入數(shù)據(jù),選擇運(yùn)算符號,即可得到結(jié)果。
§3.3 詳細(xì)設(shè)計與編碼實(shí)現(xiàn)
1、功能選擇界面
圖3-2為系統(tǒng)主界面。用戶可以根據(jù)需要點(diǎn)擊不同按鈕進(jìn)入不同功能的子界面。亦可以點(diǎn)擊退出按鈕退出本程序。
圖3-2
本界面用LinearLayout來布局,主要用到的控件是Button。頁面的跳轉(zhuǎn)是通過intent來是實(shí)現(xiàn)的。跳轉(zhuǎn)的主要代碼如下: public void onClick(View v)
{
Button btn=(Button)v;switch(btn.getId()){ case R.id.button1: Intent intent=new Intent();intent.setClass(mycalActivity.this, secondactivity.class);startActivity(intent);break;
case R.id.button2: Intent intent=new Intent();intent.setClass(mycalActivity.this, thirdactivity.class);
startActivity(intent);break;
case R.id.button3: Intent intent=new Intent();intent.setClass(mycalActivity.this, forthactivity.class);startActivity(intent);break;
case R.id.button4: finish();
}
2、基本加減乘除界面
圖3-3為加基本減乘除界面。用戶在文本框中輸入?yún)⒓舆\(yùn)算的數(shù)據(jù),并點(diǎn)擊要進(jìn)行的運(yùn)算符號,然后點(diǎn)擊等號之后,將在等號下方顯示結(jié)果處顯示出計算結(jié)果。點(diǎn)擊clear按鈕,可以將兩個文本框中的內(nèi)容以及顯示的結(jié)果一起清空,用戶可以輸入新的數(shù)據(jù)計算。
在文本框中輸入時可以用圖右側(cè)的硬鍵盤,或者是手機(jī)自帶的軟鍵盤。
圖3-3
示例如下:
(1)用戶要計算1.23+2.16.在文本框1中輸入1.23,點(diǎn)擊“+”,再在文本框2中輸入2.16,點(diǎn)擊“=”,就可以顯示出計算結(jié)果3.39.如下:
圖3-4
(2)計算1-0.32,如圖3-5 圖3-5
(3)計算3.24*0.25,如圖3-6所示。
圖3-6
4)計算55/4,結(jié)果為13.75.如下圖所示:(圖3-7
(5)計算1/6.如下圖所示。由圖3-8可以看出,當(dāng)除不盡時本計算器保留到8位小數(shù),并且最后一位采用了四舍五入的方法,比較科學(xué)、準(zhǔn)確。
圖3-8(6)點(diǎn)擊clear之后全部清空:
圖3-9
具體的實(shí)現(xiàn):主要的思路是,用戶先輸?shù)谝粋€數(shù),然后點(diǎn)擊運(yùn)算符號,在程序中監(jiān)聽按鈕的點(diǎn)擊,如果點(diǎn)擊了+、--、*、/中某一按鈕,這時,就取editText1中的值,通過myeditText1= editText1.getText().toString()實(shí)現(xiàn),為了參與運(yùn)算,需要把字符串類型轉(zhuǎn)換為浮點(diǎn)型,并將其值賦給變量a,代碼為a=Float.parseFloat(myeditText1);用flag的不同值記錄用戶點(diǎn)擊的不同的運(yùn)算按鈕。當(dāng)用戶點(diǎn)擊“=”時,就將editText2中的內(nèi)容取出,也同樣轉(zhuǎn)化為數(shù)值,并用b記錄,然后判斷flag的值即可知道對應(yīng)應(yīng)采取哪種計算,進(jìn)而算出最終結(jié)果,并用textView1顯示出計算結(jié)果。“清空”的實(shí)現(xiàn)是使對應(yīng)控件的內(nèi)容取空即可。核心代碼如下:
private OnClickListener listener=new OnClickListener(){
String myeditText1;String myeditText2;float a=0;int flag=0;
float b=0;float result;public void onClick(View v){
Button btn=(Button)v;switch(btn.getId()){ case R.id.button1: myeditText1= editText1.getText().toString();
flag=1;
break;case R.id.button2:
myeditText1= editText1.getText().toString();
a=Float.parseFloat(myeditText1);
flag=2;break;case R.id.button3:
myeditText1= editText1.getText().toString();
a=Float.parseFloat(myeditText1);
flag=3;break;case R.id.button4:
myeditText1= editText1.getText().toString();
a=Float.parseFloat(myeditText1);
flag=4;break;case R.id.button5:
myeditText2= editText2.getText().toString();b=Float.parseFloat(myeditText2);
a=Float.parseFloat(myeditText1);
};
}
if(flag==1)result = a+b;
else if(flag==2)result = a-b;else if(flag==3)result = a*b;
else
result=a/b;
String s = ”顯示結(jié)果: “;s += result;
textView1.setText(s);break;case R.id.button6:
} editText1.setText(”“);editText2.setText(”“);textView1.setText(”顯示結(jié)果:");break;
3、三角函數(shù)運(yùn)算界面
圖3-10為三角函數(shù)運(yùn)算界面。用戶在文本框中輸入?yún)⑴c計算的數(shù)據(jù),然后選擇點(diǎn)擊要進(jìn)行的運(yùn)算類型,這時在顯示結(jié)果處就會顯示計算結(jié)果。例如,要計算sin30度,先在文本框中輸入30,然后點(diǎn)擊sin按鈕,這時就會顯示結(jié)果為0.5.同理,可進(jìn)行其他計算。
圖3-10
4、其他運(yùn)算界面
圖3-11為其他運(yùn)算界面,目前可實(shí)現(xiàn)平方、立方、開方、求以10為底的對數(shù)四種運(yùn)算,由于時間有限,這個界面目前功能并不完善,暫時實(shí)現(xiàn)四種運(yùn)算,不過,基于本計算器程序的設(shè)計理念,本界面主要實(shí)現(xiàn)一些其他運(yùn)算,包括一些特殊運(yùn)算。在今后,這個界面可以修改和擴(kuò)充,以至擁有更加完善豐富的計算功能。在現(xiàn)有的界面上的操作流程如下:用戶在文本框中輸入要進(jìn)行運(yùn)算的數(shù)據(jù),然后選擇點(diǎn)擊運(yùn)算按鈕,即可顯示運(yùn)算結(jié)果。如輸入0.5,點(diǎn)擊平方,即顯示結(jié)果0.25,操作方便。
圖3-11
第4章
總結(jié)
在本次安卓應(yīng)用程序開發(fā)之中,我收獲很多,現(xiàn)總結(jié)如下:
安卓設(shè)計開發(fā)過程初期,我打算設(shè)計制作一個計算器。但是,剛開始并不能預(yù)測難度,不知道在短期內(nèi)能否很好的完成,于是我的想法是,先實(shí)現(xiàn)基本的加、減、乘、除四則運(yùn)算,然后在此基礎(chǔ)上進(jìn)一步完善豐富其運(yùn)算功能。首先遇到的問題便是要不要做一個數(shù)字鍵盤。剛開始也試著做了一個鍵盤,是用button做的,需要很好的布局,但是每當(dāng)擴(kuò)充一種功能時,為了使界面整體美觀,甚至都要重新設(shè)計,很麻煩。后來候突然想到手機(jī)有硬鍵盤,也有自帶的軟鍵盤,何不運(yùn)算的時候直接調(diào)出已有的軟鍵盤?這樣,根本沒有什么必要自己做鍵盤了,而只需做出運(yùn)算的按鈕即可了。由于當(dāng)時的目標(biāo)只是實(shí)現(xiàn)加減乘除,因此設(shè)計的界面是用兩個文本框輸入兩個數(shù)據(jù),然后有+、-、*、/四個按鈕供選擇,又加一個“=”按鈕用于觸發(fā)顯示結(jié)果。界面很簡單,使用很方便。然后就是才用合適的算法來實(shí)現(xiàn)功能。經(jīng)過思考和多次修改,最后確定了一種比較簡明的算法實(shí)現(xiàn)。
基本加減乘除功能已經(jīng)實(shí)現(xiàn),但是計算器的功能過于簡單了,接下來便是擴(kuò)充功能。我首先想到的是需要能實(shí)現(xiàn)三角函數(shù)運(yùn)算,常見的平方、開方等運(yùn)算。但是我遇到了困難。由于剛開始設(shè)計的加減乘除運(yùn)算都是二元運(yùn)算,因此界面設(shè)計的是在兩個文本框中輸入兩個數(shù),但是三角函數(shù)計算,平方開方計算都是一元運(yùn)算,參加運(yùn)算的數(shù)據(jù)都只有一個,因而,在原界面上直接擴(kuò)充并不合適,兩個文本框成了擴(kuò)充的限制。后來經(jīng)過思考,決定將這些擴(kuò)充的功能做到別的界面上,與已有的界面相獨(dú)立,重新設(shè)計,這樣只需將運(yùn)算分類,再做一個功能選擇的界面,點(diǎn)擊不同的運(yùn)算類別進(jìn)入不同的運(yùn)算界面即可,這樣這個問題便得到了很好的解決。但是這次設(shè)計卻給了我很大的教訓(xùn),開發(fā)應(yīng)用軟件的初期設(shè)計很重要,不僅要實(shí)現(xiàn)現(xiàn)在的目標(biāo),還要考慮以后能否進(jìn)行功能擴(kuò)充,設(shè)計要便于以后的功能擴(kuò)充,否則,到后來需要擴(kuò)充時遇到困難,甚至要推翻已有的設(shè)計,花費(fèi)很大的代價。另外,由于時間緊迫,三角函數(shù)界面和其他運(yùn)算界面的功能并不十分完善,只是一些基本的運(yùn)算,初步體現(xiàn)出了設(shè)計的思想,今后還可以進(jìn)行進(jìn)一步的擴(kuò)充,以完善其功能。
在本次開發(fā)過程中,我對開發(fā)環(huán)境進(jìn)一步的熟悉,基本上可以熟練運(yùn)用這個 環(huán)境,也基本掌握了安卓的開發(fā)方法及基本流程。在本次開發(fā)過程中,主要用到的知識有Activity的使用,在程序中用到了多個窗口,因而需創(chuàng)建多個Activity。還用到了Intent,主要是用于多個Activity之間的跳轉(zhuǎn),對Intent的作用和用法有了更進(jìn)一步的熟悉。在本次程序設(shè)計中,我也對用戶界面設(shè)計有了更進(jìn)一步的掌握,熟練運(yùn)用Layout,本次用到的主要是LinearLayout和RelativeLayout。
開發(fā)期間,我學(xué)會了有目的的去學(xué)習(xí)一些將要用到的東西,仔細(xì)地考慮工作流程的規(guī)律和步驟,充分利用手中的開發(fā)工具,利用其所具備的功能,盡量使自己的開發(fā)在代碼上實(shí)現(xiàn)少而精確、讓用戶能夠盡量簡單地進(jìn)行操作。但是在檢測過程中,還是出現(xiàn)了很多的不足之處,這些都是要在今后的工作中需要努力改進(jìn)和完善的。
在這次程序開發(fā)設(shè)計中,我也難免會遇到不少困難,這主要是由于我對所用的開發(fā)環(huán)境并不是很熟悉,開發(fā)軟件的經(jīng)驗(yàn)不足。安卓開發(fā)用的語言是java,但是我對java的學(xué)習(xí)并不多,這次開發(fā)對我來說可以算是一個全新的嘗試,整個開發(fā)過程并不是很順利,卻使我從中充分體會到學(xué)習(xí)的快樂,開發(fā)的程序也在一步步得到完善。這次程序開發(fā)由于個人水平及時間有限等原因,只能完成一些基本的功能,好多設(shè)想并未完全實(shí)現(xiàn),這不能不說是個遺憾,后期仍需努力。
第三篇:Android 課程設(shè)計報告
課 程 設(shè) 計
課程名稱: 嵌入式技術(shù)課程設(shè)計 設(shè)計題目: 基于Android系統(tǒng)的小查詢工具 學(xué) 院: 信息工程與自動化學(xué)院 專 業(yè): 計算機(jī)科學(xué)與技術(shù) 年 級: 2010級 學(xué)生姓名: 指導(dǎo)教師: 日 期: 2013/7/8
教 務(wù) 處 制
課 程 設(shè) 計 任 務(wù) 書
信息工程與自動化 學(xué)院 計算機(jī)科學(xué)與技術(shù) 專業(yè) 2010 年級 學(xué)生姓名:
課程設(shè)計題目: 基于Android系統(tǒng)的小查詢工具 課程設(shè)計主要內(nèi)容:
通過本課程設(shè)計,使學(xué)生鞏固軟件工程的基本概念、原理,熟悉安卓應(yīng)用開發(fā)環(huán)境和技術(shù),學(xué)會完成一個移動終端應(yīng)用軟件的分析、設(shè)計、編碼測試和安裝,將理論與實(shí)際相結(jié)合,強(qiáng)化學(xué)生的項目開發(fā)和團(tuán)隊意識,提高學(xué)生分析能力和創(chuàng)新能力
基本理論
1、Android系統(tǒng)的開發(fā)方法及基本原理
2、JavaEE應(yīng)用程序設(shè)計開發(fā)技術(shù) 實(shí)驗(yàn)方法與基本要求
要求學(xué)生掌握Windows環(huán)境下Android系統(tǒng)開發(fā)的一般方法,AndroidSdk 集成開發(fā)環(huán)境的構(gòu)建及JavaEE應(yīng)用程序的開發(fā)。整個設(shè)計過程必須由學(xué)生自己獨(dú)立完成,課程設(shè)計按二人一組,分組進(jìn)行全過程的設(shè)計。
設(shè)計內(nèi)容
1、Windows環(huán)境下構(gòu)建Android系統(tǒng)的開發(fā)環(huán)境
2、基于Android模擬手機(jī),設(shè)計手機(jī)應(yīng)用程序
3、將程序下載的Android手機(jī)上應(yīng)用
設(shè) 計 指 導(dǎo) 教 師(簽字): 教學(xué)基層組織負(fù)責(zé)人(簽字):
年 月 日
目錄
一、課程設(shè)計的目的及要求...................................3 1.1 課程設(shè)計的目的.......................................3 1.2 課程設(shè)計要求………………………………………………………………………3
二、Android應(yīng)用程序開發(fā)背景....................................................................3 2.1開發(fā)背景...............................................3 2.2開發(fā)環(huán)境...............................................4
三、Android應(yīng)用程序開發(fā)環(huán)境搭建............................5 3.1所需軟件的下載…………………………………………………………………… 5 3.2相應(yīng)軟件的安裝.........................................5
四、“小查詢工具”的設(shè)計與實(shí)現(xiàn)???????????????10 1.總體設(shè)計??????????????????????? 10 1)界面設(shè)計?????????????????????10 2)功能設(shè)計?????????????????????12 2.詳細(xì)設(shè)計??????????????????????? 12 1)模塊設(shè)計?????????????????????12 2)編碼實(shí)現(xiàn)?????????????????????12 3.手機(jī)上運(yùn)行截圖???????????????????? 14
五、總結(jié)與體會???????????????????????16
基于Android系統(tǒng)的小查詢工具設(shè)計
一、課程設(shè)計的目的及要求 1.1 課程設(shè)計的目的
1)復(fù)習(xí)、鞏固Java語言的基礎(chǔ)知識,進(jìn)一步加深對Java語言的理解和掌握;搭建一個完整的安卓開發(fā)環(huán)境。
2)課程設(shè)計為學(xué)生提供了一個既動手又動腦,獨(dú)立實(shí)踐的機(jī)會,將課本上的理論知識和實(shí)際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題的能力,提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力;
3)培養(yǎng)學(xué)生在項目開發(fā)中團(tuán)隊合作精神,創(chuàng)新意識及能力。
1.2 課程設(shè)計要求
1)通過Eclipse搭建一個完整的安卓開發(fā)環(huán)境。
2)在安卓開發(fā)環(huán)境上編寫一個簡單的安卓軟件,并且能夠在手機(jī)上運(yùn)行。
二、Android應(yīng)用程序開發(fā)背景 2.1開發(fā)背景
1.智能手機(jī)的市場
(1)功能多樣化的智能手機(jī)挑戰(zhàn)全球PC出貨量
移動互聯(lián)網(wǎng)時代的來臨,直接促進(jìn)了搭載智能操作系統(tǒng)、具有強(qiáng)大擴(kuò)展性的智能手機(jī)、平板電腦等移動終端產(chǎn)業(yè)的蓬勃發(fā)展。來自美國最大的風(fēng)險投資機(jī)構(gòu)KPCB的數(shù)據(jù)顯示,全球智能手機(jī)出貨量正在以遠(yuǎn)高于臺式電腦、筆記本電腦出貨量的速度快速增長,該機(jī)構(gòu)預(yù)計2013年全球智能手機(jī)出貨量將達(dá)到4.13億,超過臺式電腦與筆記本電腦出貨量的總和。
(2)智能手機(jī)的用戶使用數(shù)量正在高速增長。據(jù)市場調(diào)研機(jī)構(gòu)Gartner信息,2011年全球智能手機(jī)的總出貨量將會達(dá)到4.68億部,相比2010年實(shí)現(xiàn)了57.7%的增長,而谷歌Android操作系統(tǒng)將會在今年之內(nèi)成為全球最大的智能手機(jī)操作系統(tǒng)。另外,全球市場調(diào)研機(jī)構(gòu)IDC預(yù)計未來5年中國手機(jī)市場上,智能手機(jī)替代傳統(tǒng)功能手機(jī)的趨勢將日益明顯,未來5年中國智能手機(jī)市場復(fù)合增長率將達(dá)到34.1%,人們對IT設(shè)備智能化的向往是這一增長率能夠?qū)崿F(xiàn)的主要因素,并且與其他國家相比,中國智
在path變量(已存在不用新建)添加變量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin(注意變量值之間用“;”隔開)
檢驗(yàn)環(huán)境變量是否配置成功:“開始”-->“運(yùn)行”-->輸入“javac”-->“Enter”,如果能正常打印用法說明配置成功!
選擇目標(biāo)工具所在的文件夾跳出安裝工具的目錄
勾選目錄點(diǎn)擊Next,即可開始安裝;安裝的詳細(xì)目錄:
安裝完成后,可以在Preference處查找到:
4.安裝SDK(SDK解壓即可使用)
安裝好以后,通過SDK下載開發(fā)所需的源文件包:
這個操作只有在聯(lián)網(wǎng)的時候才能進(jìn)行下載。
四、“小查詢工具”的設(shè)計與實(shí)現(xiàn)
1.總體設(shè)計
1)界面設(shè)計
主界面:
02)功能設(shè)計
對于這次課程設(shè)計編寫的小查詢工具,我們需要它能夠幫助我們完成的功能為:手機(jī)歸屬地查詢、身份證信息查詢、區(qū)號郵編城市查詢。對于小查詢工具的每個查詢功能,當(dāng)用戶點(diǎn)擊相應(yīng)的功能時,它能夠幫助用戶查詢用戶所需要的信息。
2.詳細(xì)設(shè)計
1)模塊設(shè)計
I、主界面模塊(選題模塊)
該模塊是查詢軟件的主界面,在該模塊界面有三個功能:手機(jī)歸屬地查詢、身份證信息查詢、區(qū)號郵編城市查詢。用戶根據(jù)自己所要查詢的信息,選擇相應(yīng)的功能就可以查詢用戶想知道的信息。II、手機(jī)歸屬地查詢模塊
在該模塊中,當(dāng)用戶在輸入框中輸入一個正確的號碼時,點(diǎn)擊“開始查詢”按鈕,就可以查詢到該手機(jī)號碼的歸屬地。III、身份證信息查詢模塊
在該模塊中,當(dāng)用戶在輸入框中輸入一個正確的身份證號碼時,再點(diǎn)擊“開始查詢”按鈕,就可以查詢到該身份證號碼所代表的人的生日、性別以及出生地址。IV、區(qū)號郵編城市查詢模塊
在該模塊中,當(dāng)用戶在輸入框中輸入一個正確的區(qū)號或者郵編或者城市名稱時,點(diǎn)擊“開始查詢”按鈕,就可以查詢到其對應(yīng)的省份、城市、區(qū)號、郵編以及歸屬地。
2)編碼實(shí)現(xiàn):
各包內(nèi)的JAVA源文件:
界面切換等活動的基本代碼:
3.手機(jī)上運(yùn)行截圖
手機(jī)截圖:
516-
第四篇:江西理工大學(xué)安卓Android期末考試2018
1.在 android 中使用 RadioButton 時,要想實(shí)現(xiàn)互斥的選擇需要用的組件是 ? A、ButtonGroup C、CheckBox
B、RadioButtons D、RadioGroup 2.關(guān)于 Handler 的說法正確的是()A、它實(shí)現(xiàn)不同線程間通信的一種機(jī)制 B、它避免了新線程操作 UI 組件 C、它采用棧的方式來組織任務(wù)的 D、它可以屬于一個新的線程
3.下列哪個可做EditText編輯框的提示信息? A、android:inputType C、android:digits
B、android:text D、android:hint 4.退出Activity對一些資源及狀態(tài)的操作保存,可在生命周期的哪個函數(shù)中進(jìn)行。()A、onPause()B、onCreate()C、onResume()D、onStart()5.Android項目工程下面的assets目錄的作用是什么?()
A、放置應(yīng)用到的圖片資源Res/drawable。
B、主要放置一些文件資源,這些文件會被原封不動打包到apk里面
C、放置字符串,顏色,數(shù)組等常量數(shù)據(jù) res/values
D、放置一些與 UI 相應(yīng)的布局文件,都是 xml 文件 res/layout
6.Intent的作用是()
A、intent是連接四大組件的紐帶,可以實(shí)現(xiàn)界面間切換,可以包含動作和動作數(shù)據(jù)。
B、是一段長的生命周期,沒有用戶界面的程序,可以保持應(yīng)用在后臺運(yùn)行,而不會因 為切換頁面而消失。
C、實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。D、處理一個應(yīng)用程序整體性的工作。
7.下列哪個是AbsoluteLayout中特有的屬性?()A、android:layout_height B、android:layout_x
C、android:layout_above D、android:layout_toRightOf 8.在手機(jī)開發(fā)中常用的數(shù)據(jù)庫是()
A、sqlLite
B、Oracle
C、Sql Server
D、Db23
9.關(guān)于BroadcastReceiver的說法不正確的是()A、是用來接收廣播Intent的。
B、一個廣播Intent只能被一個訂閱了此廣播的BroadcastReceiver所接收。C、對有序廣播,系統(tǒng)會根據(jù)接收者聲明的優(yōu)先級別按順序逐個執(zhí)行接收者。D、接收者聲明的優(yōu)先級別在
B 明顯錯誤,廣播可以被訂閱了該廣播的所有接受者接收。10.使用MediaPlayer播放保存在sdcard上的mp3文件時()A、需要使用MediaPlayer.create方法創(chuàng)建MediaPlayer。B、直接newMediaPlayer即可。
C、需要調(diào)用setDataSource方法設(shè)置文件源。D、直接調(diào)用start方法,無需設(shè)置文件源。
11.在android中使用RadioButton時,要想實(shí)現(xiàn)互斥的選擇需要用的組件是()A、ButtonGroup B、RadioButtons C、CheckBox D、RadioGroup 12.在多個應(yīng)用中讀取共享存儲數(shù)據(jù)時,需要用到的query方法,是哪個對象的方法?()A、ContentResolver
C、Cursor
個方法。
2、使用ContentResolver是用來操作數(shù)據(jù)的。貼一張李剛的《瘋狂Android講義》第9章9.2開頭對這部分ContentResolver的原話.B、ContentProvider D、SQLiteHelper
1、無論是ContentProvider還是ContentResolver都有各自的insert(),delte(),uapdte(),query(),四
注意紅色框起來的部分,調(diào)用的是ContentResolver的的的
3、再不行上一小段代碼證明吧:我們在avtivity的onCreate()里邊寫一句代碼就可以。把鼠標(biāo)放在query()函數(shù)上,可以看到解釋的是ContentResolver的query(),不是ContentProvider的
13.內(nèi)存監(jiān)測工具DDMS中Log信息分為幾個級別?()
A、3
B、4
C、5
D、6 14.關(guān)于自定義Adapter的優(yōu)化方法,我們通常采用三種方式,則以下能采用的是()A、復(fù)用布局視圖對象 B、圖片異步加載 C、組件重用 D、創(chuàng)建一個內(nèi)部類 應(yīng)該是不能采用的是什么:B、圖片異步加載 15.在多個應(yīng)用中讀取共享存儲數(shù)據(jù)時,需要用到的query方法,是哪個對象的方法?()
A、ContentResolver C、Cursor
B、ContentProvider D、SQLiteHelper 16.在android中使用RadioButton時,要想實(shí)現(xiàn)互斥的選擇需要用的組件是()
A、ButtonGroup
C、CheckBox
B、RadioButtons
D、RadioGroup 17.能夠自動完成輸入內(nèi)容的組件是()
A、TextView
B、EditText
D、AutoCompleteTextView C、ImageView
18.表示下拉列表的組件是()
A、Gallery
B、Spinner
C、GridView
D、ListView 19.在Activity中需要找到一個id是bookName的的TextView組件,下面哪種語句寫法是 正確的?()
A、TextView tv = this.findViewById(R.id.bookName);B、TextView tv =(TextView)this.findViewById(R.id.code);C、TextView tv =(TextView)this.findViewById(R.id.bookName);D、TextView tv =(TextView)this.findViewById(R.string.bookName);20.Android SDK中提供了一個什么處理圖片的工具解決不同屏幕分辨率適配的問題。()
A、Draw7-patch B、Draw8-patch C、Draw9-patch D、Draw10-patch
21.下列說法錯誤的是()A、Button是普通按鈕組件,除此外還有其他的按鈕組件。B、TextView是顯示文本的組件,TextView是EditText的父類。C、EditText是編輯文本的組件,可以使用EditText輸入特定的字符。D、ImageView是顯示圖片的組件,可以通過設(shè)置顯示局部圖片。一般來說android不能設(shè)置顯示圖片中的局部
22.Android API將什么以Content Provider的方式提供給開發(fā)者,使其可以對通訊錄進(jìn) 行一系列操作?()
A、文件瀏覽器 B、數(shù)據(jù)庫文件 C、系統(tǒng)通訊錄 D、數(shù)據(jù)表 23.關(guān)于BroadcastReceiver的說法不正確的是()
A、是用來接收廣播Intent的。
B、一個廣播Intent只能被一個訂閱了此廣播的BroadcastReceiver所接收。C、對有序廣播,系統(tǒng)會根據(jù)接收者聲明的優(yōu)先級別按順序逐個執(zhí)行接收者。D、接收者聲明的優(yōu)先級別在
24.Android API 提供了一系列的類來實(shí)現(xiàn)或操作Content Provider相關(guān)功能,以下未涉及到的一類是()
A、Content Provider B、Content Resolver C、ContentValues D、Content Changer 25.ArrayAdapter通常用什么構(gòu)造方法進(jìn)行構(gòu)建?()
A.ArrayAdapter
26.表示下拉列表的組件是()
A、Gallery
B、Spinner
C、GridView
D、ListView 27.下列說法錯誤的是()A、Button是普通按鈕組件,除此外還有其他的按鈕組件。B、TextView是顯示文本的組件,TextView是EditText的父類。C、EditText是編輯文本的組件,可以使用EditText輸入特定的字符。D、ImageView是顯示圖片的組件,可以通過設(shè)置顯示局部圖片。28.能夠自動完成輸入內(nèi)容的組件是()
A、TextView B、EditText C、ImageView D、AutoCompleteTextView
29、處理菜單項單擊事件的方法不包含()
A、使用onOptionsItemSelected(MenuItem item)響應(yīng)。
B、使用onMenuItemSelected(int featureId,MenuItem item)響應(yīng)。C、使用onMenuItemClick(MenuItem item)響應(yīng)。D、使用onCreateOptionsMenu(Menu menu)響應(yīng)。1.列舉Android系統(tǒng)中的五個進(jìn)程優(yōu)先級,并作出詳細(xì)介紹。答:前臺進(jìn)程>可見進(jìn)程>服務(wù)進(jìn)程>后臺進(jìn)程>空進(jìn)程。(1)前臺進(jìn)程,表明用戶正在與該進(jìn)程進(jìn)行交互操作。
(2)可見進(jìn)程,指部分程序界面能夠被用戶看見,卻不在前臺與用戶進(jìn)行交互,不響應(yīng)界面事件的進(jìn)程。
(3)服務(wù)進(jìn)程,指包含已啟動服務(wù)的進(jìn)程,特點(diǎn)是沒有用戶界面,在后臺長期運(yùn)行。(4)后臺進(jìn)程,指不包含任何已經(jīng)啟動的服務(wù),而且沒有用戶可見的Activity進(jìn)程。(5)空進(jìn)程,不持有任何活動組件的進(jìn)程。
2.介紹Android系統(tǒng)有四個重要的組件。
答:Android系統(tǒng)的四種基本組件Activity、Service、Broadcase Receiver和Content Provider。(1)Activity是Android程序的呈現(xiàn)層,顯示可視化的用戶界面,并接收與用戶交互所產(chǎn)生的界面事件,用于提示用戶程序已經(jīng)正常啟動。
(2)Service一般用于沒有用戶界面,但需要長時間在后臺運(yùn)行的應(yīng)用。(3)Broadcase Receiver是用來接受并響應(yīng)廣播消息的組件。
(4)Content Provider是Android系統(tǒng)提供的一種共享數(shù)據(jù)的機(jī)制,應(yīng)用程序可以通過ContentProvider訪問其他應(yīng)用程序的私有數(shù)據(jù)。
3. 在Android生命周期過程中,Activity一般表現(xiàn)為哪4種狀態(tài)? 答:(1)活動狀態(tài),完全能被用戶看到,與用戶進(jìn)行交互的狀態(tài)。
(2)暫停狀態(tài),Activity不處于用戶界面的最上層,已經(jīng)失去了焦點(diǎn),不能與用戶進(jìn)行交互。
(3)停止?fàn)顟B(tài),Activity在界面上完全不能被用戶看到,保存了當(dāng)前數(shù)據(jù)和UI狀態(tài)。(4)死亡狀態(tài),Activity被系統(tǒng)銷毀。
4.Android系統(tǒng)中Intent的定義和用途?Intent啟動Activity方式有哪兩種? 定義:為其他組件提供交互能力,將一個組件的數(shù)據(jù)和動作傳遞給另一個組件。用途:1)啟動Activity和Service 2)發(fā)布廣播消息
啟動方式:顯式調(diào)用,指明調(diào)用Activity的Class類;隱式調(diào)用,無需指明具體啟動哪一個Activity,選擇權(quán)由Android系統(tǒng)和最終用戶類似決定。
5.使用Service的方式有哪兩種?描述Service的生命周期。Context.startService()方式啟動 Context.bindService()方式啟動
6.SQLite數(shù)據(jù)庫體系結(jié)構(gòu)中最核心的部分是什么?
答:虛擬機(jī)/虛擬數(shù)據(jù)庫引擎。完成與數(shù)據(jù)操作相關(guān)的全部操作并且是客戶與儲存之間信息進(jìn)行交換的中間單元。
7.ContentProvider是應(yīng)用程序之間一種什么樣的接口機(jī)制?通過繼承ContentProvider類可以創(chuàng)建一個新的數(shù)據(jù)提供者,請簡述該過程。
答:ContentProvider為不同的軟件之間數(shù)據(jù)共享,提供統(tǒng)一的接口。
1)定義URI,即統(tǒng)一資源標(biāo)識符,作用是唯一標(biāo)識 Content Provider 及其中的數(shù)據(jù)。2)設(shè)置MIME數(shù)據(jù)類型,作用是指定某個擴(kuò)展名的文件用某種應(yīng)用程序來打開。3)實(shí)現(xiàn)初始化、查詢、插入、更新、刪除、返回這幾個方法。onCreate():初始化 provider insert():插入數(shù)據(jù)到 provider
query():查詢數(shù)據(jù)
update():更新 provider 的數(shù)據(jù)
delete():刪除 provider 中的數(shù)據(jù) getType():返回 provider 中的數(shù)據(jù)的 MIME 類型 8.系統(tǒng)和用戶之間進(jìn)行信息交換的媒介是什么?實(shí)現(xiàn)什么信息的轉(zhuǎn)換? 答:用戶界面。實(shí)現(xiàn)信息的內(nèi)部形式與人類可以接受形式之間的轉(zhuǎn)換。
9.Android中使用什么接口定義遠(yuǎn)程服務(wù)的窗口?服務(wù)接口文件的擴(kuò)展名是什么? 答: AIDL
10.簡述Android系統(tǒng)三種菜單的特點(diǎn)及使用方式。
(1)選項菜單:可分為圖標(biāo)菜單和擴(kuò)展菜單,圖標(biāo)菜單的子項最多是六個,支持顯示圖標(biāo),不支持單選框和復(fù)選框;而當(dāng)子項多于六個時,采用擴(kuò)展菜單,擴(kuò)展菜單的子項是垂直排列,支持單選框和復(fù)選框,不支持顯示圖標(biāo)。第一次啟動選項菜單時,只需要調(diào)用一次onCreateMenu函數(shù)。
(2)子菜單:能夠展示更加詳細(xì)的信息,通過addSubMenu函數(shù)增加子菜單,但不支持嵌套。
(3)快捷菜單;點(diǎn)擊界面元素超過2秒后,則啟動該界面元素的快捷菜單。每次啟動時都要調(diào)用一次onCreateMenu函數(shù)。
11.編寫一個Android程序,使用AsyncTask實(shí)現(xiàn)獲取網(wǎng)頁html代碼,并且使用TextView 顯示。
public class MainActivity extends Activity {
// 定義組件
private EditText edtURL;private TextView edtHTTP;private Button btnRequest;
private String strURL;// 用于存儲網(wǎng)站地址
private MyTask myTask;@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
// 初始化組件
edtURL =(EditText)findViewById(R.id.edturl);edtHTTP =(EditText)findViewById(R.id.edthttp);.aidl btnRequest =(Button)findViewById(R.id.requesthtml);
// 監(jiān)聽獲取html代碼的按鈕
btnRequest.setOnClickListener(new View.OnClickListener(){
@Override public void onClick(View v){ if(!(strURL = edtURL.getText().toString()).equals(“")){ //實(shí)例myTask對象
myTask = new MyTask(edtHTTP);myTask.execute(strURL);}
} });} }
public class MyTask extends AsyncTask
private TextView edtHTTP;// 用于顯示HTML代碼 private StringBuffer sbHTML;// 用于儲存HTML代碼
public MyTask(TextView edtHTTP){
this.edtHTTP = edtHTTP;sbHTML = new StringBuffer();}
/** * doInBackground方法內(nèi)部執(zhí)行后臺任務(wù),不可在此方法內(nèi)修改UI */ @Override protected StringBuffer doInBackground(String...params){ // 初始化HTTP的客戶端
HttpClient hc = new DefaultHttpClient();// 實(shí)例化HttpGet對象
HttpGet hg = new HttpGet(params[0]);
try { // 讓HTTP客戶端已Get的方式請求數(shù)據(jù),并把所得的數(shù)據(jù)賦值給HttpResponse的對象
HttpResponse hr = hc.execute(hg);// 使用緩存的方式讀取所返回的數(shù)據(jù)
BufferedReader br = new BufferedReader(new InputStreamReader(hr.getEntity().getContent()));
// 讀取網(wǎng)頁所返回的HTML代碼 String line = ”“;sbHTML = new StringBuffer();while((line = br.readLine())!= null){ sbHTML.append(line);}
return sbHTML;} catch(IOException e){
edtHTTP.setText(”獲取網(wǎng)頁HTML代碼出錯!!“);} return null;}
/** * onPostExecute方法用于在執(zhí)行完后臺任務(wù)后更新UI,顯示結(jié)果 */ @Override protected void onPostExecute(StringBuffer result){ // 判斷是否為null,若不為null,則在頁面顯示HTML代碼 if(result!= null){ edtHTTP.setText(result);} super.onPostExecute(result);} } 12.編寫一個程序,輸入兩個整數(shù)值,點(diǎn)擊求和按鈕后顯示兩個數(shù)的和。MainActivity.java public class MainActivity extends AppCompatActivity {
EditText one,two;Button add;TextView show;
@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);one = findViewById(R.id.one);two = findViewById(R.id.two);add = findViewById(R.id.add);show = findViewById(R.id.show);
add.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ String first = one.getText().toString();String second = two.getText().toString();try { int add = Integer.parseInt(first)Integer.parseInt(second);show.setText(”兩數(shù)之和:“+ add);} catch(Exception e){ show.setText(”請輸入數(shù)字!“);} } });} }
+
13.編程實(shí)現(xiàn)具有“登錄按鈕”的主界面,點(diǎn)擊“登錄”按鈕后打開第二個Activity,第二個Activity上面顯示主界面輸入的用戶名和密碼,并定義返回鍵將用戶名和密碼 傳遞回主頁面的Acivity中。MainActivity.java public class MainActivity extends AppCompatActivity {
EditText name,password;Button register;TextView show;
@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
name = findViewById(R.id.name);password = findViewById(R.id.password);register = findViewById(R.id.register);show = findViewById(R.id.show);
register.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ String message = name.getText().toString()+ ”n“ + password.getText().toString();
Intent intent = new Intent(MainActivity.this, Second_Activity.class);intent.putExtra(”message“, message);startActivityForResult(intent,1);} });}
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ if(requestCode==1 && resultCode==2){ String result=data.getStringExtra(”data“);show.setText(result);} super.onActivityResult(requestCode, resultCode, data);} }
Second_Activity.java public class Second_Activity extends Activity{ Button back;TextView message;String send;
@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.second_view);
back = findViewById(R.id.back);message = findViewById(R.id.message);
Intent intent = getIntent();String result = intent.getStringExtra(”message“);send = result;message.setText(result);
back.setOnClickListener(new View.OnClickListener(){
@Override public void onClick(View view){ Intent data = new Intent();data.putExtra(”data“, send);setResult(2,data);
finish();} });
} }
第五篇:安卓實(shí)習(xí)報告
通信與電子信息專業(yè)實(shí)訓(xùn)報告
項目名稱:基于android的游戲開發(fā)
班 級 10通信1班
姓 名
學(xué) 號
指導(dǎo)教師
成 績
實(shí)訓(xùn)時間:年月日—
目錄
一、實(shí)訓(xùn)目的及其意義............................................3 1.1、目的及意義..............................................3 1.2、研究現(xiàn)狀................................................3
二、實(shí)訓(xùn)主要任務(wù)、重點(diǎn)及難點(diǎn)....................................4 2.1、任務(wù)....................................................4 2.2、重點(diǎn)內(nèi)容及實(shí)現(xiàn)途徑......................................4
三、實(shí)訓(xùn)具體內(nèi)容及完成的主要工作................................5 3.1、認(rèn)識基礎(chǔ)開發(fā)............................................6 3.2、了解數(shù)據(jù)存儲............................................6 3.3、總體實(shí)訓(xùn)過程............................................7
四、實(shí)際遇到的困難,解決問題的方法和措施........................8
(一)、所遇問題.................................................8
(二)、解決方法與措施...........................................9
五、心得體會....................................................9
一、實(shí)訓(xùn)目的及其意義 1.1、目的及意義 了解現(xiàn)階段互聯(lián)網(wǎng)發(fā)展主流,了解移動互聯(lián)網(wǎng),認(rèn)識移動互聯(lián)網(wǎng)的發(fā)展與展望,認(rèn)識android,了解基于android的應(yīng)用軟件開發(fā)方法及其商業(yè)流程。把理論與實(shí)際結(jié)合,通過對理論知識的理解,領(lǐng)悟從而運(yùn)用到生活實(shí)際鞏固所學(xué)的知識,提高對實(shí)際生活的認(rèn)識,積累經(jīng)驗(yàn)。使學(xué)生在此期間能夠初次體會到實(shí)際生產(chǎn)中的種種技能與經(jīng)驗(yàn),完成一項項目鍛煉獨(dú)立思考及團(tuán)隊合作能力。使學(xué)生們進(jìn)一步加深對所學(xué)知識的理解,理論聯(lián)系實(shí)際,鞏固所學(xué)有關(guān)計算機(jī)基礎(chǔ)理論知識和基本技能,學(xué)習(xí)有關(guān)計算機(jī)最新技術(shù)方面的應(yīng)用,增強(qiáng)學(xué)生對計算機(jī)在社會生活,社會生產(chǎn)中應(yīng)用的感性認(rèn)識,深入了解計算機(jī)在各個領(lǐng)域中的應(yīng)用狀況。生產(chǎn)實(shí)習(xí)是學(xué)校教學(xué)的重要補(bǔ)充部分,是區(qū)別于普通學(xué)校教育的一個顯著特征,是教育教學(xué)體系中的一個不可缺少的重要組成部分和不可替代的重要環(huán)節(jié)。它是與今后的職業(yè)生活最直接聯(lián)系的,學(xué)生在生產(chǎn)實(shí)習(xí)過程中將完成學(xué)習(xí)到就業(yè)的過渡,因此生產(chǎn)實(shí)習(xí)是培養(yǎng)技能型人才,實(shí)現(xiàn)培養(yǎng)目標(biāo)的主要途徑。它不僅是校內(nèi)教學(xué)的延續(xù),而且是校內(nèi)教學(xué)的總結(jié)。生產(chǎn)實(shí)習(xí)一方面鞏固了書本上學(xué)到的理論知識,另一方面,可獲得在書本上不易了解和不易學(xué)到的生產(chǎn)現(xiàn)場的實(shí)際知識,使我們在實(shí)踐中得到提高實(shí)訓(xùn)環(huán)節(jié)對于提高學(xué)生的綜合能力和全面素質(zhì)具有重要意義。1.2、研究現(xiàn)狀 android 是google開發(fā)的基于linux平臺的開源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序 —— 移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。google與開放手機(jī)聯(lián)盟合作開發(fā)了 android,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達(dá)電和 t-mobile 在內(nèi)的 30 多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。google通過與運(yùn)營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。android主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。android操作系統(tǒng)最初由andy rubin開發(fā),主要支持手機(jī)。2005年8月由google收購注資。2007年11月,google與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良android系統(tǒng)。隨后google以apache開源許可證的授權(quán)方式,發(fā)布了android的源代碼。第一部android智能手機(jī)發(fā)布于2008年10月。android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2012年11月數(shù)據(jù)顯示,android占據(jù)全球智能手機(jī)操作系統(tǒng)市場76%的份額,中國市場占有率為90%。目前基于android的移動終端上的軟件應(yīng)用開發(fā)很火熱,android平臺的開發(fā)已越來越強(qiáng)大。android是一種以linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要使用于便攜設(shè)備。android操作系統(tǒng)最初由andy rubin創(chuàng)辦,最初只支持手機(jī)。2005年由google收購注資,并拉攏多家制造商組成開放手機(jī)聯(lián)盟(open handset alliance)開發(fā)改良,逐漸擴(kuò)展到到平板電腦及其他領(lǐng)域上。
二、實(shí)訓(xùn)主要任務(wù)、重點(diǎn)及難點(diǎn) 2.1、任務(wù)
認(rèn)識移動互聯(lián)網(wǎng),了解移動互聯(lián)網(wǎng)的開發(fā),認(rèn)識及了解android,在給定時間內(nèi)完成基于android平臺的游戲項目的開發(fā),實(shí)現(xiàn)預(yù)想游戲效果,熟悉項目開發(fā)的商業(yè)流程,給出游戲全套文檔及代碼。
2.2、重點(diǎn)內(nèi)容及實(shí)現(xiàn)途徑 2.2.1、重點(diǎn)內(nèi)容:熟悉游戲開發(fā)代碼,了解項目流程,對android游戲開發(fā)有基本了解。2.2.2、實(shí)現(xiàn)途徑:
所需運(yùn)行硬件環(huán)境:
安卓系統(tǒng)2.2以上 3.5寸以上移動設(shè)備
軟件開發(fā)環(huán)境的配置:
(1)配置java程序開發(fā)環(huán)境
(2)安裝并漢化eclipse(jdk)(3)android sdk的安裝
(4)adt的安裝及配置
(5)android模擬器的配置
(6)office2003以上版本的軟件(繪圖visio)然后運(yùn)用eclipse完成項目代碼的編寫,運(yùn)行與調(diào)試; 最終在實(shí)體終端上進(jìn)行測試,最終完成項目
三、實(shí)訓(xùn)具體內(nèi)容及完成的主要工作
實(shí)訓(xùn)前期,有老師給我們講解了現(xiàn)階段移動互聯(lián)網(wǎng)的發(fā)展,了解移動互聯(lián)網(wǎng)的發(fā)展主流,說明了現(xiàn)階段移動互聯(lián)的發(fā)展重要性。老師著重給我們講解了android的發(fā)展,以及現(xiàn)階段移動互聯(lián)中android所扮演的角色。接下來我們將針對基于android的游戲開發(fā)進(jìn)行學(xué)習(xí),由于時間的原因,我們主要了解了一下游戲開發(fā)的基本項目流程,具體的操作將在實(shí)訓(xùn)過程中一一講解驗(yàn)證。
接下來老師為我們講解了實(shí)訓(xùn)的具體內(nèi)容,對于一個游戲開發(fā)項目,首先我們需要進(jìn)行游戲開發(fā)的前期準(zhǔn)備,主要是游戲開發(fā)環(huán)境的配置,以及團(tuán)隊開發(fā)過程中的任務(wù)分配,之后緊張的游戲項目開發(fā)拉開了帷幕。在第一天我們主要學(xué)習(xí)了eclipse軟件的使用,包括游戲工程的創(chuàng)建等等。并且針對eclipse中的 android項目結(jié)構(gòu)進(jìn)行了講解:android項目結(jié)構(gòu):src/ java原代碼存放目錄 gen/ 自動生成目錄 gen 目錄中存放所有由android開發(fā)工具自動生成的文件。目錄中最重要的就是r.java文件。這個文件由android開發(fā)工具自動產(chǎn)生的。res/ 資源(resource)目錄 在這個目錄中我們可以存放應(yīng)用使用到的各種資源,如xml界面文件,圖片或數(shù)據(jù)。assets資源目錄android除了提供/res目錄存放資源文件外,在/assets目錄也可以存放資源文件。androidmanifest.xml 項目清單文件。篇二:android實(shí)習(xí)報告
實(shí)習(xí)報告
實(shí)習(xí)目的:
生產(chǎn)實(shí)習(xí)是計算機(jī)科學(xué)與技術(shù)專業(yè)重要的實(shí)踐性教學(xué)活動,其目的是使學(xué)生們進(jìn)一步加深對所學(xué)知識的理解,理論聯(lián)系實(shí)際,鞏固所學(xué)有關(guān)計算機(jī)基礎(chǔ)理論知識和基本技能,學(xué)習(xí)有關(guān)計算機(jī)最新技術(shù)方面的應(yīng)用,增強(qiáng)學(xué)生對計算機(jī)在社會生活,社會生產(chǎn)中應(yīng)用的感性認(rèn)識,深入了解計算機(jī)在各個領(lǐng)域中的應(yīng)用狀況,學(xué)生在實(shí)習(xí)的同時,進(jìn)行一定的社會實(shí)踐與調(diào)查活動,對于提高學(xué)生的綜合能力和全面素質(zhì)具有重要意義。
實(shí)習(xí)內(nèi)容: android主要有四大組件,分別為:activity 活動、service 服務(wù)、broadcast receivers 廣播接受者、content provider 內(nèi)容提供者。還有上激活組件intent。1.activity activity就是一個用戶可以直接接觸并看到的窗口,當(dāng)新建一個android project后可以
看到在工程文件下的src中有一個已建好的java類firstactivity,系統(tǒng)也會自動為他配備一個布局文件main.xml,并在androidmanifest中對此activity進(jìn)行注冊。
用戶想要自己創(chuàng)建一個activity,首先創(chuàng)建一個java類繼承自activity,可以為他配備一個布局文件用來顯示activity創(chuàng)建后的布局。最后在主配置文件manifest.xml中對創(chuàng)建的activity進(jìn)行注冊,這一步是必不可少的,沒有注冊activity無法運(yùn)行。在manifest.xml中會有許多的activity,但系統(tǒng)一次只能運(yùn)行一個activity,因此必須修選定一個最先運(yùn)行的activity。在注冊activity是加入
/files目錄,如: /data/data/cn.itcast.action/files/itcast.txt,通過點(diǎn)擊eclipse菜單“window”-“show view”-“other”,在對話窗口中展開android文件夾,選擇下面的file explorer視圖,然后在file explorer視圖中展開/data/data/
/files目錄就可以看到該文件。openfileoutput()方法的第二參數(shù)用于指定操作模式,有四種模式android有一套自己的安全模型,當(dāng)應(yīng)用程序(.apk)在安裝時系統(tǒng)就會分配給他一個userid,當(dāng)該應(yīng)用要去訪問其他資源比如文件的時候,就需要userid匹配。默認(rèn)情況下,任何應(yīng)用創(chuàng)建的文件,sharedpreferences,數(shù)據(jù)庫都應(yīng)該是私有的(位于/data/data/
/files),其他程序無法訪問。除非在創(chuàng)建時指定了context.mode_world_readable或者context.mode_world_writeable,只有這樣其他程序才能正確訪問。
實(shí)習(xí)流程: 2月18——2月27日,老師對于android開發(fā)進(jìn)行了詳細(xì)的講解,其內(nèi)容包括:android 的背景介紹,發(fā)展過程,自身的優(yōu)勢與不足.android的控件、布局、activity、service等一系列基礎(chǔ)知識,對整個android的開發(fā)有了大致的了解 2月28日——3月2日: 學(xué)生自己開發(fā)android 3gabs項目,老師答疑及驗(yàn)收
實(shí)習(xí)心得:
時間過的飛快,半個月的實(shí)習(xí)就要結(jié)束了,在這次實(shí)習(xí)中我們不僅學(xué)習(xí)了相關(guān)的專業(yè)知識而且讓我對android系統(tǒng)又有了一個更加深入的了解,它也是我們計算機(jī)專業(yè)的一個新的方向并且發(fā)展很迅速,為了今后的發(fā)展我們還需不斷努力學(xué)習(xí)!我國的信息產(chǎn)業(yè)還很落后,隨著社會的發(fā)展和國家的支持,手機(jī)上網(wǎng)是社會發(fā)展的趨勢,到時候手機(jī)上網(wǎng)將無處不在!之前我對android系統(tǒng)的了解之停留在應(yīng)用的層次上,對于更深層次的了解是很少的,通過這次實(shí)習(xí),讓我對android系統(tǒng)有了一個更深層次的了解,同時它頁使我意識到無論朝哪個方向發(fā)展,主要還是要扎實(shí)深刻地學(xué)習(xí),同時也得不斷努力探索!it業(yè)發(fā)展速度一直都是相當(dāng)驚人的,不想被社會淘汰,我們就得必須不斷地學(xué)習(xí),現(xiàn)在的社會不再是一勞永逸,其他行業(yè)也是如此,我們必須不斷地拿知識來武裝自己,不然被淘汰那是肯定的!現(xiàn)在就業(yè)難原因其實(shí)在于競爭的家具,為了在競爭中得到成功,我們必須時時刻刻學(xué)習(xí),還學(xué)到了很多做人做事的道理,不僅懂得了要想在計算機(jī)這一行立足必須具備扎實(shí)的技術(shù)理論知識,還必須學(xué)會與人溝通,合作的能力,同時更懂得了嘗試的重要性,很多事情不是聽說是困難的它就是困難的,只有親自去做親自去體會才知道,其實(shí)它并沒有那么困難,這就是實(shí)踐的重要性!無論做什么事情都必須要堅持,只有堅持下去,才會成功!事在人為,就怕不做!我們不能怕失敗,關(guān)鍵是要從失敗中總結(jié)經(jīng)驗(yàn),帶著勇氣,帶著自信,堅持不懈,踏踏實(shí)實(shí)。這一次的實(shí)習(xí)是短暫的,但我收獲良多。回顧以前所走過的路,太多的無奈和迷茫,這次實(shí)習(xí)就像是我人生道路上的航標(biāo),為我指明了前景的方向,是我對自己的前途充滿了信心,我不僅知道了在人生的岔道口更適合朝哪個方向前進(jìn)!更知道了在今后的道路上怎么去武裝自己!
實(shí)習(xí)結(jié)果:篇三:android生產(chǎn)實(shí)習(xí)報告
生產(chǎn)實(shí)習(xí)報告
一 實(shí)習(xí)目地
生產(chǎn)實(shí)習(xí)是把理論與實(shí)際結(jié)合,通過對理論知識的理解,領(lǐng)悟從而運(yùn)用到生活實(shí)際,鞏固所學(xué)的知識,提高對實(shí)際生活的認(rèn)識,積累經(jīng)驗(yàn)。同時生產(chǎn)實(shí)習(xí)也是大學(xué)生以學(xué)生身份到工作者身份的一個重要過度階段。在此期間,學(xué)生能夠初次體會到實(shí)際生產(chǎn)中的種種技能與經(jīng)驗(yàn)。完成一項項項目,能體現(xiàn)出獨(dú)立思考能力。android生產(chǎn)實(shí)習(xí)對目前應(yīng)用現(xiàn)狀進(jìn)行了分析與比較,進(jìn)而研究分析了android平臺的系統(tǒng)架構(gòu)和組件模型,在此基礎(chǔ)上,基于android平臺設(shè)計和開發(fā),實(shí)現(xiàn)對android編程的理解與應(yīng)用,特別是在對于控件的應(yīng)用產(chǎn)生很深的理解。android平臺是目前最普遍的手機(jī)應(yīng)用平臺,android實(shí)習(xí)可以讓我們與時代最新最廣泛的軟件開發(fā)聯(lián)系起來,鍛煉我們的學(xué)習(xí)能力,并且讓我們可以更加人性化,清晰的為用戶考慮。
二 實(shí)習(xí)內(nèi)容
此次實(shí)習(xí)是對android的簡單的應(yīng)用與開發(fā),也是對android各個控件的學(xué)習(xí)與實(shí)踐。在java的環(huán)境中對界面,應(yīng)用進(jìn)行編程。本次實(shí)習(xí)重點(diǎn)完成了安卓開發(fā)計算器、安卓開發(fā)學(xué)生注冊界面、安卓開發(fā)音樂播放器和安卓開發(fā)游戲連連看這四個項目。
做學(xué)生注冊界面的時候?qū)W習(xí)了linearlayout,tablelayout, absolutelayout, relativelayout四種布局,分別為線型布局,表格布局,絕對布局和相對布局,并知道了如何通過這四種布局的相互嵌套來使程序的界面更加的友好,更加的讓用戶接受。并簡單的了解了安卓目錄下src,gen,res等文件夾中的文件在項目中的作用,學(xué)習(xí)了切換界面的類intent。
然后學(xué)習(xí)了button,textview,seekbar等android開發(fā)的控件,并且將這些控件都運(yùn)用到了所作的學(xué)生注冊界面中。
做音樂播放器時學(xué)習(xí)了關(guān)于音樂文件的調(diào)用,也學(xué)習(xí)了在主文件main.java中先創(chuàng)建多媒體對象后,然后通過sd卡的文件路徑來創(chuàng)建一個播放資源,然后在創(chuàng)建按鈕對象,同時添加6個按鈕對象創(chuàng)造各自的偵聽方法,我們用listactivity來布局播放界面,用imagebutton來實(shí)現(xiàn)播放器的開始,暫停的操作。最后在開發(fā)連連看游戲時,將前面所學(xué)的知識進(jìn)行綜合與加深,也學(xué)習(xí)到了新的函數(shù)與控件,該游戲主要包括classgameview(游戲視類,處理游戲中出現(xiàn)的情況,包括界面生成,算法等)classgameactivity(處理游戲中的消息提示),classstartactivity(游戲菜單設(shè)計),classsetactivity(菜單中游戲難度設(shè)定)這些類。比如用random函數(shù)來對連連看進(jìn)行重排列,還有用menu對游戲里的功能進(jìn)行操作,還有用之前學(xué)到關(guān)于多媒體對象的調(diào)用將連連看游戲進(jìn)行配樂。并且選用了網(wǎng)格對游戲界面進(jìn)行了規(guī)劃,以及對于相同圖片的的消去,必須滿足情況:1,圖片相同;2,兩個圖片之間必須沒有障礙物,可以用若干個垂直的直線連接起來;3,連接兩個圖片的直線線段的轉(zhuǎn)折點(diǎn)不超過兩個(連接線由x軸和y軸 的平行線組成,即無拐點(diǎn),一個拐點(diǎn),兩個拐點(diǎn))。
三 實(shí)習(xí)流程
此次對android應(yīng)用與開發(fā)的實(shí)習(xí)分為以下幾個階段。
首先,由老師帶領(lǐng)我們對android以及開發(fā)軟件eclimpse進(jìn)行了一個大概的了解與操作,并且對開發(fā)語言基礎(chǔ)java的基礎(chǔ)知識和編程思想進(jìn)行了一次簡單的復(fù)習(xí)與加深。
然后老師開始帶領(lǐng)我們學(xué)習(xí)android界面的開發(fā),并且告訴我們?nèi)绾慰梢詫⒔缑姹M量做得美觀與方便,告訴我們作為程序的開發(fā)人員要為用戶考慮,在這一階段,我們開始試著學(xué)習(xí)和操作android的簡單控件,包括textview,button等。
接著我們開始自己開發(fā)計算器,第一次將自己學(xué)到的控件進(jìn)行組合搭配,并且開始學(xué)會怎么去監(jiān)聽按鈕,通過對安卓常用類的學(xué)習(xí),我們完成了計算器的常用功能。然而,對于計算機(jī)功能的實(shí)現(xiàn),我感覺自己還沒有辦法做到自己想到的所有功能這讓我對android更加滿興趣的學(xué)習(xí)下去。
當(dāng)初步接觸到了控件的開發(fā)與搭配后,我們開始開發(fā)學(xué)生注冊界面,并且將所輸入的信息反應(yīng)到下一個界面中,在做這個的時候,我們又新學(xué)習(xí)了seekbar,checkbox等控件,讓我們進(jìn)一步學(xué)習(xí)了android中的常用控件。
然后是對音樂播放器的開發(fā),此階段我開始真正的接觸到了生活中自己經(jīng)常用到的軟件的開發(fā),并且也讓我第一次感覺到需要將自己開發(fā)的軟件做的美觀,于是我們開始學(xué)會調(diào)用背景圖片,調(diào)用歌曲,并且學(xué)習(xí)了radiobutton控件,以及播放器中對音樂的下跳,循環(huán)播放等功能的學(xué)習(xí)與實(shí)現(xiàn)。
最后是開發(fā)游戲“連連看”,在此之前老師先向我們介紹了對于圖片的處理等相關(guān)知識。
對于連連看,我們很熟悉,也明白其中的游戲規(guī)則;然而把它們用計算機(jī)語言展示出來卻比用文字語言展示出來要難上很多。因此這個項目也是用時最多的一個項目,期間融合了算法設(shè)計以及之前幾個項目所學(xué)的知識。雖然在參考資料
下,完成了項目;但是也存在很多不足。當(dāng)然也有自己特點(diǎn)的地方,比如添加了成功幾步就獎勵時間,比如游戲的配備音樂,以及音樂的開關(guān)按鈕。
四 實(shí)習(xí)心得
通過這三個星期的畢業(yè)實(shí)習(xí),我學(xué)到了很多關(guān)于android系統(tǒng)的技術(shù)知識,雖然實(shí)習(xí)的時間短暫但我仍舊收獲很多。首先,在每一天我認(rèn)識了新的控件及相關(guān)的使用;其次,我們了解android系統(tǒng)的歷史和今后的發(fā)展以及相關(guān)android系統(tǒng)的總體構(gòu)成,然后,我們學(xué)會了android編譯系統(tǒng)的搭建,以及在這個環(huán)境下編寫代碼,最后制作了簡單的音樂播放器以及連連看游戲等軟件;在這個過程中,我真正的了解到了理論與實(shí)際相結(jié)合的必要性以及獨(dú)立思考的重要性。
生成實(shí)習(xí)是為將來打基礎(chǔ)的重要階段,珍惜自己每一個工作的機(jī)會,不論什么人,什么學(xué)歷,從事什么工作,好好的表現(xiàn)、展示自己的能力,不要錯過好的機(jī)遇。沒有一件事情是輕輕松松的,但每一件事都是讓人成長的,經(jīng)歷一段過程,喜悅或是艱辛,盡管經(jīng)歷的方式不盡相同,但它的結(jié)果是相同的,我們都會因涉事而成長。通過這次實(shí)習(xí),開闊了我的視野。這次的實(shí)習(xí)初步為我解開了安卓的神秘面紗,對于腦海中的那個可望而不可即,可玩兒不可解的安卓平臺初步走入了它的神秘世界;既感到興奮又感到驚奇,更感到壓力,方知知識海洋的廣大,學(xué)員任重道遠(yuǎn)。這次實(shí)習(xí)讓我看清自己需要什么,同時也讓我吸取了許多學(xué)習(xí)以及和人相處的經(jīng)驗(yàn),這將對我以后踏足社會,謀生立業(yè)有很好的借鑒和幫助作用。今后,我會珍惜這些寶貴的經(jīng)驗(yàn),在人生的旅途中勇往直前,迎接時代的挑戰(zhàn)。篇四:安卓實(shí)訓(xùn)報告
實(shí)習(xí)報告書
專 業(yè) 計算機(jī)科學(xué)與技術(shù) 系 別
報告題目
安卓
報告人 班
級
指導(dǎo)教師
帶隊教師 實(shí)習(xí)時間 實(shí)習(xí)地點(diǎn)
教務(wù)處監(jiān)制 篇五:安卓記事本實(shí)習(xí)報告 android記事本的設(shè)計與實(shí)現(xiàn) ——sqlite數(shù)據(jù)庫的設(shè)計和操作
學(xué)生姓名: 指導(dǎo)老師:
摘 要: 隨著智能手機(jī)的快速普及,智能手機(jī)操作系統(tǒng)市場風(fēng)生水起。android的最大特點(diǎn)是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),包括豐富的圖形組件、多媒體支持功能以及強(qiáng)大的瀏覽器。
本文主要介紹了一款android記事本sqlite數(shù)據(jù)庫模塊的設(shè)計與實(shí)現(xiàn)。根據(jù)人們?nèi)粘I畹男枰撚浭卤镜膬?nèi)容包括運(yùn)用sqlite封裝好的方法對數(shù)據(jù)進(jìn)行添加、刪除、修改、更新和密碼進(jìn)入等功能,并且將查詢到的數(shù)據(jù)傳遞給activity,具有一定的實(shí)用性。關(guān)鍵詞: 記事本;android;手勢密碼;sqlite;activity design and implementation of android notepad — design and operation of the sqlite database student name: advisor: this paper describes the design and implementation of an android notepad sqlite database module.according to the needs of daily life, including the contents of the notepad good way to use sqlite package data to add, delete, modify, update and password to access other functions, and query the data is passed to the activity, has a certain practicality.keywords notepad;android;gesture password;sqlite;activity 目錄 目錄.....................................................................................................................................................................3 1.引言...............................................................................................................................................................4 1.1 項目背景..............................................................................................................................................4 1.2 項目意義..............................................................................................................................................4 1.3 系統(tǒng)可行性分析..................................................................................................................................5 1.4 系統(tǒng)主要任務(wù)....................................................................................................................................5 2.系統(tǒng)方案設(shè)計.................................................................................................................................................6 2.1 搭建android開發(fā)平臺.....................................................................................................................6 2.2 sqlite數(shù)據(jù)庫簡介............................................................................................................................7 2.3 總體方案設(shè)計...................................................................................................................................10 3.系統(tǒng)軟件開發(fā)環(huán)境.......................................................................................................................................10 3.1 windows開發(fā)環(huán)境...........................................................................................................................10 3.2 java集成開發(fā)環(huán)境eclipse...........................................................................................................11 3.3 adt plugin for eclipse...............................................................................................................11 4.程序設(shè)計.......................................................................................................................................................12 4.1 程序詳細(xì)設(shè)計...................................................................................................................................12 4.2 程序運(yùn)行及效果截圖.......................................................................................................................13 4.3 對sqlite數(shù)據(jù)庫增刪改查代碼實(shí)現(xiàn).............................................................................................18 5.工作總結(jié)與展望...........................................................................................................................................23 參考文獻(xiàn)...........................................................................................................................................................24 1.引言
1.1 項目背景 window操作系統(tǒng)的誕生成就了微軟帝國,同時也造就了pc時代的繁榮,然而如今,以android和iphone手機(jī)為代表的智能移動設(shè)備的發(fā)明與互聯(lián)網(wǎng)云技術(shù)的興起卻敲響了pc時代的喪鐘!這也預(yù)示著移動互聯(lián)網(wǎng)時代(3g)已經(jīng)來臨。在這個互聯(lián)網(wǎng)繁榮的時代,有一顆超新星,以它獨(dú)特性能優(yōu)勢與人性化的ui設(shè)計使它在短短的幾年迅速的占領(lǐng)了智能移動設(shè)備的市場份額,它就是google的android!這也意味著google在移動互聯(lián)網(wǎng)時代開始搶跑并領(lǐng)跑。
通過調(diào)查顯示,大部分消費(fèi)者都會使用手機(jī)記事本功能。隨著手機(jī)記事本功能的不斷加強(qiáng)與完善,手機(jī)記事本對于人們的意義,已不僅僅像一般記事簿一樣簡單記錄,而是向著更個性化人性化的方向發(fā)展。android[1]系統(tǒng)是開源的,它以迅猛的姿勢已經(jīng)占領(lǐng)了全球一半多的市場。記事本在生活和工作也日益凸顯出它的重要性,它能更好地幫助人們更好地管理自己的工作和生活,極大的方便了人們的生活。因其開源,我們可以在之上開發(fā)安卓記事本軟件,同時這也符合廣大的市場需求。1.2 項目意義 近幾年來隨著3g技術(shù)成熟和智能手機(jī)的不斷普及,移動應(yīng)用的需求與日俱增,移動應(yīng)用開發(fā)成為當(dāng)下最熱門的技術(shù)之一。在google和android手機(jī)聯(lián)盟的共同推動下,android在眾多移動應(yīng)用開發(fā)平臺中脫穎而出。android是一個真正意義上的開源智能手機(jī)操作系統(tǒng),該系統(tǒng)一經(jīng)推出立即受到全球移動設(shè)備廠商和開發(fā)者的熱捧。
我們都知道,無論是產(chǎn)品還是技術(shù),商業(yè)應(yīng)用都是它最大的發(fā)展動力。安卓如此受到廠商與開發(fā)者的青睞,它的前景是一片光明的。國內(nèi)對于安卓這方面的市場還沒有完全開發(fā)出來。只要我們努力學(xué)習(xí)安卓,對理想,對生活都會有很大的補(bǔ)益。因此,開發(fā)這樣一套很簡單的記事本軟件對我們來講是一件很有必要的事情,在下面的各章中我們將以開發(fā)安卓記事本軟件為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。1.3 系統(tǒng)可行性分析 1.3.1 課題調(diào)研
(1)與實(shí)踐活動和相關(guān)的文件和資料由作者本人網(wǎng)絡(luò)查找,以及老師幫助。
(2)具有遇到問題,具有獨(dú)立思考,耐心鉆研,向老師虛心求教的良好態(tài)度。
(3)關(guān)于技術(shù)方面的難題,跟指導(dǎo)老師面談。1.3.2 可行性分析
(1)技術(shù)可行性:本項目僅需要一臺裝有eclipse及配置好android開發(fā)環(huán)境的計算機(jī)即可,對計算機(jī)本身有一定的要求,它可以使用windows xp及其以上版本,mac os,linux等操作系統(tǒng)。
(2)經(jīng)濟(jì)可行性:由于本軟件開發(fā)只有三個人,三臺電腦就行,基本不需要太大的成本.在經(jīng)濟(jì)上完全可行。
(3)操作可行性:界面設(shè)計時充分考慮用戶的習(xí)慣以及手機(jī)方面的局限性,程序必須要很簡單;本程序只涉及到開發(fā)環(huán)境配置,安卓組件的熟悉,以及安卓平臺上的數(shù)據(jù)存儲。并沒有太大的難度,所以,該項目完全有可操作性。1.4 系統(tǒng)主要任務(wù)(1)設(shè)計實(shí)現(xiàn)”添加新記事”,”編輯內(nèi)容”,”刪除當(dāng)前記事”這三個主要的功能模塊。(2)分析并解決實(shí)現(xiàn)中的若干技術(shù)問題,像組件的選擇以及保存方式的選擇。(3)進(jìn)行測試并分析結(jié)果。
當(dāng)然記事本的基本功能,建立新文件、修改現(xiàn)有文件、刪除文件、查看已建立文件等功能是首先必須完成的。可以編寫內(nèi)容,編輯及刪除,讓記事的方式多樣化。記事本軟件的界面設(shè)計力求簡潔,給人清爽的感覺,讓圖標(biāo)及按鈕以協(xié)調(diào)的布局呈現(xiàn)出了,菜單功能要相對簡單,讓用戶操作方便,從而讓用戶體會到此款軟件的實(shí)用。因?yàn)樯鲜霾僮魃婕暗降臄?shù)據(jù)量不大,所以將數(shù)據(jù)庫定為安卓系統(tǒng)自帶的sqlite數(shù)據(jù)庫[3],所以這就要求我們要實(shí)現(xiàn)在sqlite數(shù)據(jù)庫上面的增刪改查。不少人希望自己記事本上面的內(nèi)容不被被人查看,所以要以設(shè)置密碼的形式來實(shí)現(xiàn)保密。鑒于各種各樣的密碼實(shí)現(xiàn)方式,我們選擇了用戶體驗(yàn)最好的手勢解鎖方式。以及采用了更加友好的時間顯示方式,讓用戶在使用過程中更加的舒服方便。記事本軟件要內(nèi)存占用適中,cpu占用也是適中,這樣讓軟件運(yùn)行順暢。