第一篇:安卓課程設計報告
安 卓 課 程 設 計
班 級 09級計算機二班
學 號 20097923 姓 名 郭丹
目錄
第1章
安卓應用程序開發背景..........................................................3 §1.1開發背景...................................................................................3 §1.2開發環境...................................................................................4 第2章 第3章 §3.1 §3.2 §3.3 第4章
安卓應用程序開發理論與方法..............................................4 “計算器”應用程序的設計與實現.......................................6 擬解決的問題及目標.............................................................6 總體設計................................................................................7 詳細設計與編碼實現.............................................................7 總結.......................................................................................17 2
第1章
安卓應用程序開發背景
§1.1開發背景
1.智能手機的市場
(1)功能多樣化的智能手機挑戰全球PC出貨量
移動互聯網時代的來臨,直接促進了搭載智能操作系統、具有強大擴展性的智能手機、平板電腦等移動終端產業的蓬勃發展。來自美國最大的風險投資機構KPCB的數據顯示,全球智能手機出貨量正在以遠高于臺式電腦、筆記本電腦出貨量的速度快速增長,該機構預計2011年全球智能手機出貨量將達到4.13億,超過臺式電腦與筆記本電腦出貨量的總和。
(2)智能手機的用戶使用數量正在高速增長。據市場調研機構Gartner信息,2011年全球智能手機的總出貨量將會達到4.68億部,相比2010年實現了57.7%的增長,而谷歌Android操作系統將會在今年之內成為全球最大的智能手機操作系統。另外,全球市場調研機構IDC預計未來5年中國手機市場上,智能手機替代傳統功能手機的趨勢將日益明顯,未來5年中國智能手機市場復合增長率將達到34.1%,人們對IT設備智能化的向往是這一增長率能夠實現的主要因素,并且與其他國家相比,中國智能手機市場的發展空間更加廣闊。(3)操作系統格局預測:Android有望成為智能手機市場主導力量
搭載Android操作系統的智能手機目前已經成為市場上最炙手可熱的智能產品。來自美國市場研究機構Gartner的數據顯示,Android操作系統所占的市場份額從2008年的0.5%急劇增長到2011年的15.94%。開放的源代碼和零成本已經讓Android在全世界范圍內受到青睞并迅速獲得了主要手機廠商和數百萬軟件開發者的支持,Gartner預計,未來Android系統的市場份額有望超過其他操作系統,從而成為全球第一大智能手機操作系統。2.安卓手機介紹
安卓手機指的是用Android操作系統的手機。安卓(Android)是基于Linux內核的操作系統,是Google公司在2007年11月5日公布的手機操作系統。
同樣都是手機上面用的智能系統,安卓的系統是新生系統,界面更為華麗,開源性更強,當然因為是新生系統,所以在第三方軟件方面暫時還不太多。因此,安卓應用程序的需求還是很迫切的。3.軟件人才需求
據業內統計,目前國內的Android研發人才缺口至少30萬。由于目前Android技術較新,無論是相關書籍、培訓還是大學教育,都處于初級階段,因此Android人才短期將供不應求。從長期來看,隨著各種移動應用和手機游戲等內容需求日益增加,也將激勵大中小型手機應用開發商加大對Android應用的開發力度,因此Android人才的就業前景也非常廣泛。
綜上所述,在這樣的背景下,安卓有很強的生命力。同時,作為一個新生的系統,其應用程序目前并不多,安卓應用程序的需求還是很迫切的,安卓研發人才的缺口還很大。這些都促進了我們學習開發安卓應用程序。
§1.2開發環境
安卓應用程序開發環境如下:
①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章
安卓應用程序開發理論與方法
1、Activity的相關知識
簡單理解Activity 代表一個用戶所能看到的屏幕,Activity 主要是處理一個應用的整體性工作。Activity是最基本的Android 應用程序組件,應用程序中,一個活動通常就是一個單獨的屏幕。每一個活動都被實現為一個獨立的類,并且從活動基類中繼承而來,活動類將會顯示由視圖控件組成的用戶接口,并對事件做出響應。大多數的應用是由多個屏幕顯示組成,因而要用到多個Activity。(1)Activity的相關方法及相關函數: A、void onCreate(Bundle)首次啟動時調用,接受參數:Null or savedInstanceState(保存的以前某些狀態信息)B、void onStart()說明了將要顯示給用戶的活動
C、void onRestart()將處于停止狀態的活動重新顯示給用戶 D、void onResume()用戶可以開始與活動進行交互時調用。如動畫播放和音樂播放。E、void onPause()活動將要進入后臺運行時調用。(此時前臺啟動了另一個活動)F、void onStop()不需要某個活動了,就調用 G、void onDestroy()銷毀活動
(2)多個Activity之間的跳轉:
通過Intent類實現屏幕之間的跳轉(包括沒有參數關系和需要傳遞參數兩種情況)。
(3)兩個Activity之間進行數據交換: startActivity()只有Intent一個參數。
public void startSubActivity(Intent intent, int requestCode)(requestCode:用來標識某一個調用,一般定義一個常量。)
傳過去:函數原型為: public Intent setData(ContentURI data)然后,參數帶到新的Activity后,同樣用Activity.getIntent()函數可得到當前過來的Intent對象,然后用getData()就取到參數了。傳回來:函數原型為: public final void setResult(int resultCode, String data)
2、Intent的相關知識 Intent 是描述應用想要做什么。Android 使用了Intent 這個特殊類,實現在屏幕與屏幕之間移動。Intent 數據結構兩個最重要的部分是動作和動作對應的數據。Intent類綁定一次操作,它負責攜帶這次操作所需要的數據以及操作的類型等。
3、Layout 用于用戶界面設計。包含AbsoluteLayout,FrameLayout,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章
“計算器”應用程序的設計與實現
§3.1 擬解決的問題及目標
本計算器程序要解決日常生活中常見的基本數據計算問題,程序要實現的目標有如下幾個:
(1)要實現基本的加、減、乘、除四則運算。
(2)可以實現在前一步計算結果上繼續作加、減、乘、除,即連加、減、乘、除。
(3)有清空功能,即清除所有數據,重新開始計算。
(4)可實現基本的三角函數的計算,如:正弦,余弦,正切,余切。(5)可實現一些特殊運算,如:平方,立方,開方,求對數等。
§3.2 總體設計
1、系統的軟件結構圖
計算器基本加減乘除運算三角函數運算其他運算加減乘法法法除法正弦余弦正余切切平方立方開方對數 圖3-1
2、功能的操作流程
首先用戶根據自己的實際需要選擇計算的類型,然后進入不同的計算類型,再進行要執行的運算,輸入數據,選擇運算符號,即可得到結果。
§3.3 詳細設計與編碼實現
1、功能選擇界面
圖3-2為系統主界面。用戶可以根據需要點擊不同按鈕進入不同功能的子界面。亦可以點擊退出按鈕退出本程序。
圖3-2
本界面用LinearLayout來布局,主要用到的控件是Button。頁面的跳轉是通過intent來是實現的。跳轉的主要代碼如下: 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為加基本減乘除界面。用戶在文本框中輸入參加運算的數據,并點擊要進行的運算符號,然后點擊等號之后,將在等號下方顯示結果處顯示出計算結果。點擊clear按鈕,可以將兩個文本框中的內容以及顯示的結果一起清空,用戶可以輸入新的數據計算。
在文本框中輸入時可以用圖右側的硬鍵盤,或者是手機自帶的軟鍵盤。
圖3-3
示例如下:
(1)用戶要計算1.23+2.16.在文本框1中輸入1.23,點擊“+”,再在文本框2中輸入2.16,點擊“=”,就可以顯示出計算結果3.39.如下:
圖3-4
(2)計算1-0.32,如圖3-5 圖3-5
(3)計算3.24*0.25,如圖3-6所示。
圖3-6
4)計算55/4,結果為13.75.如下圖所示:(圖3-7
(5)計算1/6.如下圖所示。由圖3-8可以看出,當除不盡時本計算器保留到8位小數,并且最后一位采用了四舍五入的方法,比較科學、準確。
圖3-8(6)點擊clear之后全部清空:
圖3-9
具體的實現:主要的思路是,用戶先輸第一個數,然后點擊運算符號,在程序中監聽按鈕的點擊,如果點擊了+、--、*、/中某一按鈕,這時,就取editText1中的值,通過myeditText1= editText1.getText().toString()實現,為了參與運算,需要把字符串類型轉換為浮點型,并將其值賦給變量a,代碼為a=Float.parseFloat(myeditText1);用flag的不同值記錄用戶點擊的不同的運算按鈕。當用戶點擊“=”時,就將editText2中的內容取出,也同樣轉化為數值,并用b記錄,然后判斷flag的值即可知道對應應采取哪種計算,進而算出最終結果,并用textView1顯示出計算結果。“清空”的實現是使對應控件的內容取空即可。核心代碼如下:
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 = ”顯示結果: “;s += result;
textView1.setText(s);break;case R.id.button6:
} editText1.setText(”“);editText2.setText(”“);textView1.setText(”顯示結果:");break;
3、三角函數運算界面
圖3-10為三角函數運算界面。用戶在文本框中輸入參與計算的數據,然后選擇點擊要進行的運算類型,這時在顯示結果處就會顯示計算結果。例如,要計算sin30度,先在文本框中輸入30,然后點擊sin按鈕,這時就會顯示結果為0.5.同理,可進行其他計算。
圖3-10
4、其他運算界面
圖3-11為其他運算界面,目前可實現平方、立方、開方、求以10為底的對數四種運算,由于時間有限,這個界面目前功能并不完善,暫時實現四種運算,不過,基于本計算器程序的設計理念,本界面主要實現一些其他運算,包括一些特殊運算。在今后,這個界面可以修改和擴充,以至擁有更加完善豐富的計算功能。在現有的界面上的操作流程如下:用戶在文本框中輸入要進行運算的數據,然后選擇點擊運算按鈕,即可顯示運算結果。如輸入0.5,點擊平方,即顯示結果0.25,操作方便。
圖3-11
第4章
總結
在本次安卓應用程序開發之中,我收獲很多,現總結如下:
安卓設計開發過程初期,我打算設計制作一個計算器。但是,剛開始并不能預測難度,不知道在短期內能否很好的完成,于是我的想法是,先實現基本的加、減、乘、除四則運算,然后在此基礎上進一步完善豐富其運算功能。首先遇到的問題便是要不要做一個數字鍵盤。剛開始也試著做了一個鍵盤,是用button做的,需要很好的布局,但是每當擴充一種功能時,為了使界面整體美觀,甚至都要重新設計,很麻煩。后來候突然想到手機有硬鍵盤,也有自帶的軟鍵盤,何不運算的時候直接調出已有的軟鍵盤?這樣,根本沒有什么必要自己做鍵盤了,而只需做出運算的按鈕即可了。由于當時的目標只是實現加減乘除,因此設計的界面是用兩個文本框輸入兩個數據,然后有+、-、*、/四個按鈕供選擇,又加一個“=”按鈕用于觸發顯示結果。界面很簡單,使用很方便。然后就是才用合適的算法來實現功能。經過思考和多次修改,最后確定了一種比較簡明的算法實現。
基本加減乘除功能已經實現,但是計算器的功能過于簡單了,接下來便是擴充功能。我首先想到的是需要能實現三角函數運算,常見的平方、開方等運算。但是我遇到了困難。由于剛開始設計的加減乘除運算都是二元運算,因此界面設計的是在兩個文本框中輸入兩個數,但是三角函數計算,平方開方計算都是一元運算,參加運算的數據都只有一個,因而,在原界面上直接擴充并不合適,兩個文本框成了擴充的限制。后來經過思考,決定將這些擴充的功能做到別的界面上,與已有的界面相獨立,重新設計,這樣只需將運算分類,再做一個功能選擇的界面,點擊不同的運算類別進入不同的運算界面即可,這樣這個問題便得到了很好的解決。但是這次設計卻給了我很大的教訓,開發應用軟件的初期設計很重要,不僅要實現現在的目標,還要考慮以后能否進行功能擴充,設計要便于以后的功能擴充,否則,到后來需要擴充時遇到困難,甚至要推翻已有的設計,花費很大的代價。另外,由于時間緊迫,三角函數界面和其他運算界面的功能并不十分完善,只是一些基本的運算,初步體現出了設計的思想,今后還可以進行進一步的擴充,以完善其功能。
在本次開發過程中,我對開發環境進一步的熟悉,基本上可以熟練運用這個 環境,也基本掌握了安卓的開發方法及基本流程。在本次開發過程中,主要用到的知識有Activity的使用,在程序中用到了多個窗口,因而需創建多個Activity。還用到了Intent,主要是用于多個Activity之間的跳轉,對Intent的作用和用法有了更進一步的熟悉。在本次程序設計中,我也對用戶界面設計有了更進一步的掌握,熟練運用Layout,本次用到的主要是LinearLayout和RelativeLayout。
開發期間,我學會了有目的的去學習一些將要用到的東西,仔細地考慮工作流程的規律和步驟,充分利用手中的開發工具,利用其所具備的功能,盡量使自己的開發在代碼上實現少而精確、讓用戶能夠盡量簡單地進行操作。但是在檢測過程中,還是出現了很多的不足之處,這些都是要在今后的工作中需要努力改進和完善的。
在這次程序開發設計中,我也難免會遇到不少困難,這主要是由于我對所用的開發環境并不是很熟悉,開發軟件的經驗不足。安卓開發用的語言是java,但是我對java的學習并不多,這次開發對我來說可以算是一個全新的嘗試,整個開發過程并不是很順利,卻使我從中充分體會到學習的快樂,開發的程序也在一步步得到完善。這次程序開發由于個人水平及時間有限等原因,只能完成一些基本的功能,好多設想并未完全實現,這不能不說是個遺憾,后期仍需努力。
第二篇:安卓android課程設計報告
湘潭大學課程設計報告
課
程 課
題指
導
名
稱______手機安卓開發_______ 名
稱______天氣預報APP_______老
師______周唯___________
姓
名____黃柳________
學
號___2012600719_________ 班
級____12計2班________
小
組______棒棒糖_______ 時
間____2015年1月26 日_____
一、需求分析(一)引言
1.編寫目的
1.1 為用戶提供一個顯示天氣預報的軟件,可以根據百度地圖顯示用戶需求的城市位置,以及用圖標表示各城市對應的氣象信息,可以簡潔的表示出“晴、雨、雪”和“氣溫”氣象信息。
2.項目風險
2.1(項目風險識別是指找出影響項目目標順利實現的主要風險因素,并識別出這些風險究竟有哪些基本特征、可能會影響到項目的那些方面。)2.2 聯網收費視用戶電話運營商的收費標準決定
2.3 手機或者無線信號不好時,可能無法連接或更新天氣情況 3.預期讀者和閱讀建議
3.1 預期讀者:會使用已經安裝安卓系統的手機或者平板電腦及其他移動設備的用戶
3.2 閱讀建議:讀者應通過該文檔可以了解相關項目的需求分析、使用注意事項以及可能存在的風險
4.產品范圍
2.2 手機,平板電腦,MP4,導航儀,上網本,電紙書等使用安卓系統的數碼領域(二)綜合描述
1.產品的狀況
1.1 Android是一種以Linux為基礎的開放源代碼操作系統,主要使用于便攜設備。目前未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由Andy Rubin開發,最初主要支持手機。2005年由Google收購注資,并組建開放手機聯盟開發改良,逐漸擴展到平板電腦及其他數碼領域上。我們開發的相關項目正是一個在安卓平臺上開發的軟件,可以用這個軟件來實現用戶在一些簡單的手持設備如手機或者平板電腦等上面及時的了解到用戶所在城市的天氣預報。
2.產品的功能
2.1 天氣信息獲取 2.2 天氣信息顯示 3.系統配置功能
3.1 用戶類和特性
安卓平臺用戶:安卓新用戶可以使用軟件來了解用戶所在城市的天氣預報。熟悉安卓平臺用戶還可以選擇對相關軟件的系統按自己的喜好進行配置并保留自己的個性化系統配置。
安卓軟件開發者:安卓軟件開發者(喜好者)可以通過相關的開源代碼來了解軟件運行的原理。
3.2 運行環境
軟件需要在支持安卓系統的可移動設備中正確安裝才能正常運行。安卓版本需在2.2及以上,同時建議用戶如果是在手機移動設備使用的話,需確保手機支持聯網服務。
3.3 設計和實現上的限制
Eclipse是開發相關應用軟件的首選集成開發環境,安卓開發環境首先需要安裝支持java應用軟件運行的java開發軟件包(即JDK),然后安裝集成開發環境Eclipse,最后安裝Android SDK的Eclipse的ADT插件。
Android SDK和Eclipse的ADT插件是必須使用的。
軟件支持高效、快速的數據存儲方式,包括快速數據存儲方式SharedPreferences、文件存儲和輕量級關系數據塊SQLite,可軟件可以使用適合的方法對數據進行進程保存和訪問。
3.4 假設和約束(依賴)
軟件必須在安卓系統下才可以正常運行,若需要獲取天氣更新或者是短信服務,需確保用戶的數碼設備支持聯網及短信服務。(三)外部接口需求 1 2 用戶的手機設備可以支持聯網。用戶界面 軟件接口
軟件提供輕量級的進程間通信機制Intent,實現跨進程組件通信。4 訪問硬件的API庫函數通訊接口
4.1 HTTP 協議:有多種接口可以調用你可以用Java類庫封裝的HttpConnection 或者用Apach的開源項目的 HttpGet 或者HttpPost,服務器端 需要 編寫 Serlvet來響應客戶端的請求。
4.2 Sokcet : 就是 服務器端 不斷監聽 雙方約定好的端口號,客戶端通過服務器IP去請求連接,連接成功后,得到Socket 的輸入輸出流,直接操作即可。(四)系統功能需求
天氣信息顯示和獲取
功能描述:需有一個顯示天氣情況的用戶界面,要求百度地圖顯示各城市位置(如:北京、長沙、廣州等3-5個城市),以及用圖標表示各城市對應的氣象信息,表示出“晴、雨、雪”和“氣溫”簡潔氣象信息。輸入輸出信息:
輸入:當觸摸某一城市對應的氣象圖標時,顯示該城市當天的溫度、濕度、風向和雨雪詳細天氣信息,并預報該城市后面幾天的氣象信息。
輸出:氣象信息的獲取,從百度上獲取天氣預報信息,這些天氣數據是通過后臺服務獲取的,這個后臺服務可以按照一定時間間隔,并將各城市的天氣信息保存到SQLite數據庫中。
二、概要設計
三、Ui界面
我們的ui界面秉承著清新的風格開發出來的。
整個軟件界面使用一個線性布局,讓所有的元素從屏幕上方向下填充,并給整個線性布局進行權重劃分。
線性布局的最上方是一個TextView,顯示當前城市的名字,接著往下是一個相對布局,相對布局的左側是天氣的圖片,右側是三個天氣相關的參數。
接著是一個線性布局,布局的左上方是三個TextView,分別顯示“預報”,“趨勢”,“指數”功能,通過點擊相應的TextView,下方的一個線性布局展現不同的功能。功能面板文字的下方是一個大的線性布局,用來顯示未來三天的天氣情況。在這個大的線性布局中,又含有三個小的線性布局,這三個小線性布局中包含了日期,天氣圖片和風力狀況等(這些控件從上到下垂直居中顯示)。
通過給整個XML文件中LinearLayout布局的的子級布局添加權重,讓各個部分從上到下有序的顯示,讓當前城市名稱在屏幕的上方顯示,功能面板位于屏幕下方顯示,以匹配不同尺寸屏幕,讓軟件的顯示效果更好。軟件的整體布局風格是清新,優美,大方。
四、功能設計
功能上實現實時的獲取天氣信息,獲取百度api返回數據,解析百度api返回的json數據,根據解析到的數據繪制氣溫趨勢圖,并將數據反饋到app上的相應的區域。通過使用ViewPager類,來實現天氣預報軟件中多個城市間的無縫頁面切換。由于組員都缺少JAVA開發經驗,對安卓開發也不熟悉,所以我們決定采用調用API的方法來實時獲取不同城市的天氣預報數據,在這次項目中我們將采用百度的車載API。通過HttpClient類和AsyncTask異步類來獲取網絡數據。最后通過Gson類來解析獲取的網絡數據,并給頁面中的所有的布局空間設置id,在AsyncTask得到網絡數據之后將這些數據同步到軟件界面上,呈現給用戶。
三、功能模塊
我主要負責監聽程序的設計,監聽用戶按鍵,并進行相應的動作。
只要用戶滑動面板,就切換到下一個城市,并獲得下一個城市的天氣數據,顯示在面板上。每隔15分鐘自動更新天氣數據。主要代碼如下:
下面的代碼處理網絡連接部分,用GSON解析網絡上獲得的Json網頁:
下面代碼訪問網絡:
四、心得體會
通過這個軟件的實現,我對Android編程有了更加濃厚的興趣,對Android中的常用類和接口有了進一步的認識。對編程有了一種新的看法,編程在我的學習中不再是那樣的枯燥無味,而是時時刻刻充滿驚喜。雖然這是一個挺小的項目但它對我在編程方面起到了一種激勵的作用。我會在此基礎上更加努力做出更好的程序。
第三篇:安卓實習報告
通信與電子信息專業實訓報告
項目名稱:基于android的游戲開發
班 級 10通信1班
姓 名
學 號
指導教師
成 績
實訓時間:年月日—
目錄
一、實訓目的及其意義............................................3 1.1、目的及意義..............................................3 1.2、研究現狀................................................3
二、實訓主要任務、重點及難點....................................4 2.1、任務....................................................4 2.2、重點內容及實現途徑......................................4
三、實訓具體內容及完成的主要工作................................5 3.1、認識基礎開發............................................6 3.2、了解數據存儲............................................6 3.3、總體實訓過程............................................7
四、實際遇到的困難,解決問題的方法和措施........................8
(一)、所遇問題.................................................8
(二)、解決方法與措施...........................................9
五、心得體會....................................................9
一、實訓目的及其意義 1.1、目的及意義 了解現階段互聯網發展主流,了解移動互聯網,認識移動互聯網的發展與展望,認識android,了解基于android的應用軟件開發方法及其商業流程。把理論與實際結合,通過對理論知識的理解,領悟從而運用到生活實際鞏固所學的知識,提高對實際生活的認識,積累經驗。使學生在此期間能夠初次體會到實際生產中的種種技能與經驗,完成一項項目鍛煉獨立思考及團隊合作能力。使學生們進一步加深對所學知識的理解,理論聯系實際,鞏固所學有關計算機基礎理論知識和基本技能,學習有關計算機最新技術方面的應用,增強學生對計算機在社會生活,社會生產中應用的感性認識,深入了解計算機在各個領域中的應用狀況。生產實習是學校教學的重要補充部分,是區別于普通學校教育的一個顯著特征,是教育教學體系中的一個不可缺少的重要組成部分和不可替代的重要環節。它是與今后的職業生活最直接聯系的,學生在生產實習過程中將完成學習到就業的過渡,因此生產實習是培養技能型人才,實現培養目標的主要途徑。它不僅是校內教學的延續,而且是校內教學的總結。生產實習一方面鞏固了書本上學到的理論知識,另一方面,可獲得在書本上不易了解和不易學到的生產現場的實際知識,使我們在實踐中得到提高實訓環節對于提高學生的綜合能力和全面素質具有重要意義。1.2、研究現狀 android 是google開發的基于linux平臺的開源手機操作系統。它包括操作系統、用戶界面和應用程序 —— 移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產業創新的專有權障礙。google與開放手機聯盟合作開發了 android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達電和 t-mobile 在內的 30 多家技術和無線應用的領軍企業組成。google通過與運營商、設備制造商、開發商和其他有關各方結成深層次的合作伙伴關系,希望借助建立標準化、開放式的移動電話軟件平臺,在移動產業內形成一個開放式的生態系統。android主要使用于移動設備,如智能手機和平板電腦,由google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。android操作系統最初由andy rubin開發,主要支持手機。2005年8月由google收購注資。2007年11月,google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良android系統。隨后google以apache開源許可證的授權方式,發布了android的源代碼。第一部android智能手機發布于2008年10月。android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,android在全球的市場份額首次超過塞班系統,躍居全球第一。2012年11月數據顯示,android占據全球智能手機操作系統市場76%的份額,中國市場占有率為90%。目前基于android的移動終端上的軟件應用開發很火熱,android平臺的開發已越來越強大。android是一種以linux為基礎的開放源碼操作系統,主要使用于便攜設備。android操作系統最初由andy rubin創辦,最初只支持手機。2005年由google收購注資,并拉攏多家制造商組成開放手機聯盟(open handset alliance)開發改良,逐漸擴展到到平板電腦及其他領域上。
二、實訓主要任務、重點及難點 2.1、任務
認識移動互聯網,了解移動互聯網的開發,認識及了解android,在給定時間內完成基于android平臺的游戲項目的開發,實現預想游戲效果,熟悉項目開發的商業流程,給出游戲全套文檔及代碼。
2.2、重點內容及實現途徑 2.2.1、重點內容:熟悉游戲開發代碼,了解項目流程,對android游戲開發有基本了解。2.2.2、實現途徑:
所需運行硬件環境:
安卓系統2.2以上 3.5寸以上移動設備
軟件開發環境的配置:
(1)配置java程序開發環境
(2)安裝并漢化eclipse(jdk)(3)android sdk的安裝
(4)adt的安裝及配置
(5)android模擬器的配置
(6)office2003以上版本的軟件(繪圖visio)然后運用eclipse完成項目代碼的編寫,運行與調試; 最終在實體終端上進行測試,最終完成項目
三、實訓具體內容及完成的主要工作
實訓前期,有老師給我們講解了現階段移動互聯網的發展,了解移動互聯網的發展主流,說明了現階段移動互聯的發展重要性。老師著重給我們講解了android的發展,以及現階段移動互聯中android所扮演的角色。接下來我們將針對基于android的游戲開發進行學習,由于時間的原因,我們主要了解了一下游戲開發的基本項目流程,具體的操作將在實訓過程中一一講解驗證。
接下來老師為我們講解了實訓的具體內容,對于一個游戲開發項目,首先我們需要進行游戲開發的前期準備,主要是游戲開發環境的配置,以及團隊開發過程中的任務分配,之后緊張的游戲項目開發拉開了帷幕。在第一天我們主要學習了eclipse軟件的使用,包括游戲工程的創建等等。并且針對eclipse中的 android項目結構進行了講解:android項目結構:src/ java原代碼存放目錄 gen/ 自動生成目錄 gen 目錄中存放所有由android開發工具自動生成的文件。目錄中最重要的就是r.java文件。這個文件由android開發工具自動產生的。res/ 資源(resource)目錄 在這個目錄中我們可以存放應用使用到的各種資源,如xml界面文件,圖片或數據。assets資源目錄android除了提供/res目錄存放資源文件外,在/assets目錄也可以存放資源文件。androidmanifest.xml 項目清單文件。篇二:android實習報告
實習報告
實習目的:
生產實習是計算機科學與技術專業重要的實踐性教學活動,其目的是使學生們進一步加深對所學知識的理解,理論聯系實際,鞏固所學有關計算機基礎理論知識和基本技能,學習有關計算機最新技術方面的應用,增強學生對計算機在社會生活,社會生產中應用的感性認識,深入了解計算機在各個領域中的應用狀況,學生在實習的同時,進行一定的社會實踐與調查活動,對于提高學生的綜合能力和全面素質具有重要意義。
實習內容: android主要有四大組件,分別為:activity 活動、service 服務、broadcast receivers 廣播接受者、content provider 內容提供者。還有上激活組件intent。1.activity activity就是一個用戶可以直接接觸并看到的窗口,當新建一個android project后可以
看到在工程文件下的src中有一個已建好的java類firstactivity,系統也會自動為他配備一個布局文件main.xml,并在androidmanifest中對此activity進行注冊。
用戶想要自己創建一個activity,首先創建一個java類繼承自activity,可以為他配備一個布局文件用來顯示activity創建后的布局。最后在主配置文件manifest.xml中對創建的activity進行注冊,這一步是必不可少的,沒有注冊activity無法運行。在manifest.xml中會有許多的activity,但系統一次只能運行一個activity,因此必須修選定一個最先運行的activity。在注冊activity是加入
/files目錄,如: /data/data/cn.itcast.action/files/itcast.txt,通過點擊eclipse菜單“window”-“show view”-“other”,在對話窗口中展開android文件夾,選擇下面的file explorer視圖,然后在file explorer視圖中展開/data/data/
/files目錄就可以看到該文件。openfileoutput()方法的第二參數用于指定操作模式,有四種模式android有一套自己的安全模型,當應用程序(.apk)在安裝時系統就會分配給他一個userid,當該應用要去訪問其他資源比如文件的時候,就需要userid匹配。默認情況下,任何應用創建的文件,sharedpreferences,數據庫都應該是私有的(位于/data/data/
/files),其他程序無法訪問。除非在創建時指定了context.mode_world_readable或者context.mode_world_writeable,只有這樣其他程序才能正確訪問。
實習流程: 2月18——2月27日,老師對于android開發進行了詳細的講解,其內容包括:android 的背景介紹,發展過程,自身的優勢與不足.android的控件、布局、activity、service等一系列基礎知識,對整個android的開發有了大致的了解 2月28日——3月2日: 學生自己開發android 3gabs項目,老師答疑及驗收
實習心得:
時間過的飛快,半個月的實習就要結束了,在這次實習中我們不僅學習了相關的專業知識而且讓我對android系統又有了一個更加深入的了解,它也是我們計算機專業的一個新的方向并且發展很迅速,為了今后的發展我們還需不斷努力學習!我國的信息產業還很落后,隨著社會的發展和國家的支持,手機上網是社會發展的趨勢,到時候手機上網將無處不在!之前我對android系統的了解之停留在應用的層次上,對于更深層次的了解是很少的,通過這次實習,讓我對android系統有了一個更深層次的了解,同時它頁使我意識到無論朝哪個方向發展,主要還是要扎實深刻地學習,同時也得不斷努力探索!it業發展速度一直都是相當驚人的,不想被社會淘汰,我們就得必須不斷地學習,現在的社會不再是一勞永逸,其他行業也是如此,我們必須不斷地拿知識來武裝自己,不然被淘汰那是肯定的!現在就業難原因其實在于競爭的家具,為了在競爭中得到成功,我們必須時時刻刻學習,還學到了很多做人做事的道理,不僅懂得了要想在計算機這一行立足必須具備扎實的技術理論知識,還必須學會與人溝通,合作的能力,同時更懂得了嘗試的重要性,很多事情不是聽說是困難的它就是困難的,只有親自去做親自去體會才知道,其實它并沒有那么困難,這就是實踐的重要性!無論做什么事情都必須要堅持,只有堅持下去,才會成功!事在人為,就怕不做!我們不能怕失敗,關鍵是要從失敗中總結經驗,帶著勇氣,帶著自信,堅持不懈,踏踏實實。這一次的實習是短暫的,但我收獲良多。回顧以前所走過的路,太多的無奈和迷茫,這次實習就像是我人生道路上的航標,為我指明了前景的方向,是我對自己的前途充滿了信心,我不僅知道了在人生的岔道口更適合朝哪個方向前進!更知道了在今后的道路上怎么去武裝自己!
實習結果:篇三:android生產實習報告
生產實習報告
一 實習目地
生產實習是把理論與實際結合,通過對理論知識的理解,領悟從而運用到生活實際,鞏固所學的知識,提高對實際生活的認識,積累經驗。同時生產實習也是大學生以學生身份到工作者身份的一個重要過度階段。在此期間,學生能夠初次體會到實際生產中的種種技能與經驗。完成一項項項目,能體現出獨立思考能力。android生產實習對目前應用現狀進行了分析與比較,進而研究分析了android平臺的系統架構和組件模型,在此基礎上,基于android平臺設計和開發,實現對android編程的理解與應用,特別是在對于控件的應用產生很深的理解。android平臺是目前最普遍的手機應用平臺,android實習可以讓我們與時代最新最廣泛的軟件開發聯系起來,鍛煉我們的學習能力,并且讓我們可以更加人性化,清晰的為用戶考慮。
二 實習內容
此次實習是對android的簡單的應用與開發,也是對android各個控件的學習與實踐。在java的環境中對界面,應用進行編程。本次實習重點完成了安卓開發計算器、安卓開發學生注冊界面、安卓開發音樂播放器和安卓開發游戲連連看這四個項目。
做學生注冊界面的時候學習了linearlayout,tablelayout, absolutelayout, relativelayout四種布局,分別為線型布局,表格布局,絕對布局和相對布局,并知道了如何通過這四種布局的相互嵌套來使程序的界面更加的友好,更加的讓用戶接受。并簡單的了解了安卓目錄下src,gen,res等文件夾中的文件在項目中的作用,學習了切換界面的類intent。
然后學習了button,textview,seekbar等android開發的控件,并且將這些控件都運用到了所作的學生注冊界面中。
做音樂播放器時學習了關于音樂文件的調用,也學習了在主文件main.java中先創建多媒體對象后,然后通過sd卡的文件路徑來創建一個播放資源,然后在創建按鈕對象,同時添加6個按鈕對象創造各自的偵聽方法,我們用listactivity來布局播放界面,用imagebutton來實現播放器的開始,暫停的操作。最后在開發連連看游戲時,將前面所學的知識進行綜合與加深,也學習到了新的函數與控件,該游戲主要包括classgameview(游戲視類,處理游戲中出現的情況,包括界面生成,算法等)classgameactivity(處理游戲中的消息提示),classstartactivity(游戲菜單設計),classsetactivity(菜單中游戲難度設定)這些類。比如用random函數來對連連看進行重排列,還有用menu對游戲里的功能進行操作,還有用之前學到關于多媒體對象的調用將連連看游戲進行配樂。并且選用了網格對游戲界面進行了規劃,以及對于相同圖片的的消去,必須滿足情況:1,圖片相同;2,兩個圖片之間必須沒有障礙物,可以用若干個垂直的直線連接起來;3,連接兩個圖片的直線線段的轉折點不超過兩個(連接線由x軸和y軸 的平行線組成,即無拐點,一個拐點,兩個拐點)。
三 實習流程
此次對android應用與開發的實習分為以下幾個階段。
首先,由老師帶領我們對android以及開發軟件eclimpse進行了一個大概的了解與操作,并且對開發語言基礎java的基礎知識和編程思想進行了一次簡單的復習與加深。
然后老師開始帶領我們學習android界面的開發,并且告訴我們如何可以將界面盡量做得美觀與方便,告訴我們作為程序的開發人員要為用戶考慮,在這一階段,我們開始試著學習和操作android的簡單控件,包括textview,button等。
接著我們開始自己開發計算器,第一次將自己學到的控件進行組合搭配,并且開始學會怎么去監聽按鈕,通過對安卓常用類的學習,我們完成了計算器的常用功能。然而,對于計算機功能的實現,我感覺自己還沒有辦法做到自己想到的所有功能這讓我對android更加滿興趣的學習下去。
當初步接觸到了控件的開發與搭配后,我們開始開發學生注冊界面,并且將所輸入的信息反應到下一個界面中,在做這個的時候,我們又新學習了seekbar,checkbox等控件,讓我們進一步學習了android中的常用控件。
然后是對音樂播放器的開發,此階段我開始真正的接觸到了生活中自己經常用到的軟件的開發,并且也讓我第一次感覺到需要將自己開發的軟件做的美觀,于是我們開始學會調用背景圖片,調用歌曲,并且學習了radiobutton控件,以及播放器中對音樂的下跳,循環播放等功能的學習與實現。
最后是開發游戲“連連看”,在此之前老師先向我們介紹了對于圖片的處理等相關知識。
對于連連看,我們很熟悉,也明白其中的游戲規則;然而把它們用計算機語言展示出來卻比用文字語言展示出來要難上很多。因此這個項目也是用時最多的一個項目,期間融合了算法設計以及之前幾個項目所學的知識。雖然在參考資料
下,完成了項目;但是也存在很多不足。當然也有自己特點的地方,比如添加了成功幾步就獎勵時間,比如游戲的配備音樂,以及音樂的開關按鈕。
四 實習心得
通過這三個星期的畢業實習,我學到了很多關于android系統的技術知識,雖然實習的時間短暫但我仍舊收獲很多。首先,在每一天我認識了新的控件及相關的使用;其次,我們了解android系統的歷史和今后的發展以及相關android系統的總體構成,然后,我們學會了android編譯系統的搭建,以及在這個環境下編寫代碼,最后制作了簡單的音樂播放器以及連連看游戲等軟件;在這個過程中,我真正的了解到了理論與實際相結合的必要性以及獨立思考的重要性。
生成實習是為將來打基礎的重要階段,珍惜自己每一個工作的機會,不論什么人,什么學歷,從事什么工作,好好的表現、展示自己的能力,不要錯過好的機遇。沒有一件事情是輕輕松松的,但每一件事都是讓人成長的,經歷一段過程,喜悅或是艱辛,盡管經歷的方式不盡相同,但它的結果是相同的,我們都會因涉事而成長。通過這次實習,開闊了我的視野。這次的實習初步為我解開了安卓的神秘面紗,對于腦海中的那個可望而不可即,可玩兒不可解的安卓平臺初步走入了它的神秘世界;既感到興奮又感到驚奇,更感到壓力,方知知識海洋的廣大,學員任重道遠。這次實習讓我看清自己需要什么,同時也讓我吸取了許多學習以及和人相處的經驗,這將對我以后踏足社會,謀生立業有很好的借鑒和幫助作用。今后,我會珍惜這些寶貴的經驗,在人生的旅途中勇往直前,迎接時代的挑戰。篇四:安卓實訓報告
實習報告書
專 業 計算機科學與技術 系 別
報告題目
安卓
報告人 班
級
指導教師
帶隊教師 實習時間 實習地點
教務處監制 篇五:安卓記事本實習報告 android記事本的設計與實現 ——sqlite數據庫的設計和操作
學生姓名: 指導老師:
摘 要: 隨著智能手機的快速普及,智能手機操作系統市場風生水起。android的最大特點是其開放性體系架構,不僅具有非常好的開發、調試環境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。
本文主要介紹了一款android記事本sqlite數據庫模塊的設計與實現。根據人們日常生活的需要,該記事本的內容包括運用sqlite封裝好的方法對數據進行添加、刪除、修改、更新和密碼進入等功能,并且將查詢到的數據傳遞給activity,具有一定的實用性。關鍵詞: 記事本;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 系統可行性分析..................................................................................................................................5 1.4 系統主要任務....................................................................................................................................5 2.系統方案設計.................................................................................................................................................6 2.1 搭建android開發平臺.....................................................................................................................6 2.2 sqlite數據庫簡介............................................................................................................................7 2.3 總體方案設計...................................................................................................................................10 3.系統軟件開發環境.......................................................................................................................................10 3.1 windows開發環境...........................................................................................................................10 3.2 java集成開發環境eclipse...........................................................................................................11 3.3 adt plugin for eclipse...............................................................................................................11 4.程序設計.......................................................................................................................................................12 4.1 程序詳細設計...................................................................................................................................12 4.2 程序運行及效果截圖.......................................................................................................................13 4.3 對sqlite數據庫增刪改查代碼實現.............................................................................................18 5.工作總結與展望...........................................................................................................................................23 參考文獻...........................................................................................................................................................24 1.引言
1.1 項目背景 window操作系統的誕生成就了微軟帝國,同時也造就了pc時代的繁榮,然而如今,以android和iphone手機為代表的智能移動設備的發明與互聯網云技術的興起卻敲響了pc時代的喪鐘!這也預示著移動互聯網時代(3g)已經來臨。在這個互聯網繁榮的時代,有一顆超新星,以它獨特性能優勢與人性化的ui設計使它在短短的幾年迅速的占領了智能移動設備的市場份額,它就是google的android!這也意味著google在移動互聯網時代開始搶跑并領跑。
通過調查顯示,大部分消費者都會使用手機記事本功能。隨著手機記事本功能的不斷加強與完善,手機記事本對于人們的意義,已不僅僅像一般記事簿一樣簡單記錄,而是向著更個性化人性化的方向發展。android[1]系統是開源的,它以迅猛的姿勢已經占領了全球一半多的市場。記事本在生活和工作也日益凸顯出它的重要性,它能更好地幫助人們更好地管理自己的工作和生活,極大的方便了人們的生活。因其開源,我們可以在之上開發安卓記事本軟件,同時這也符合廣大的市場需求。1.2 項目意義 近幾年來隨著3g技術成熟和智能手機的不斷普及,移動應用的需求與日俱增,移動應用開發成為當下最熱門的技術之一。在google和android手機聯盟的共同推動下,android在眾多移動應用開發平臺中脫穎而出。android是一個真正意義上的開源智能手機操作系統,該系統一經推出立即受到全球移動設備廠商和開發者的熱捧。
我們都知道,無論是產品還是技術,商業應用都是它最大的發展動力。安卓如此受到廠商與開發者的青睞,它的前景是一片光明的。國內對于安卓這方面的市場還沒有完全開發出來。只要我們努力學習安卓,對理想,對生活都會有很大的補益。因此,開發這樣一套很簡單的記事本軟件對我們來講是一件很有必要的事情,在下面的各章中我們將以開發安卓記事本軟件為例,談談其開發過程和所涉及到的問題及解決方法。1.3 系統可行性分析 1.3.1 課題調研
(1)與實踐活動和相關的文件和資料由作者本人網絡查找,以及老師幫助。
(2)具有遇到問題,具有獨立思考,耐心鉆研,向老師虛心求教的良好態度。
(3)關于技術方面的難題,跟指導老師面談。1.3.2 可行性分析
(1)技術可行性:本項目僅需要一臺裝有eclipse及配置好android開發環境的計算機即可,對計算機本身有一定的要求,它可以使用windows xp及其以上版本,mac os,linux等操作系統。
(2)經濟可行性:由于本軟件開發只有三個人,三臺電腦就行,基本不需要太大的成本.在經濟上完全可行。
(3)操作可行性:界面設計時充分考慮用戶的習慣以及手機方面的局限性,程序必須要很簡單;本程序只涉及到開發環境配置,安卓組件的熟悉,以及安卓平臺上的數據存儲。并沒有太大的難度,所以,該項目完全有可操作性。1.4 系統主要任務(1)設計實現”添加新記事”,”編輯內容”,”刪除當前記事”這三個主要的功能模塊。(2)分析并解決實現中的若干技術問題,像組件的選擇以及保存方式的選擇。(3)進行測試并分析結果。
當然記事本的基本功能,建立新文件、修改現有文件、刪除文件、查看已建立文件等功能是首先必須完成的。可以編寫內容,編輯及刪除,讓記事的方式多樣化。記事本軟件的界面設計力求簡潔,給人清爽的感覺,讓圖標及按鈕以協調的布局呈現出了,菜單功能要相對簡單,讓用戶操作方便,從而讓用戶體會到此款軟件的實用。因為上述操作涉及到的數據量不大,所以將數據庫定為安卓系統自帶的sqlite數據庫[3],所以這就要求我們要實現在sqlite數據庫上面的增刪改查。不少人希望自己記事本上面的內容不被被人查看,所以要以設置密碼的形式來實現保密。鑒于各種各樣的密碼實現方式,我們選擇了用戶體驗最好的手勢解鎖方式。以及采用了更加友好的時間顯示方式,讓用戶在使用過程中更加的舒服方便。記事本軟件要內存占用適中,cpu占用也是適中,這樣讓軟件運行順暢。
第四篇:安卓記事本實習報告
Android記事本的設計與實現
Android記事本的設計與實現
——SQLite數據庫的設計和操作
學生姓名:
指導老師:
摘 要: 隨著智能手機的快速普及,智能手機操作系統市場風生水起。Android的最大特點是其開放性體系架構,不僅具有非常好的開發、調試環境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。
本文主要介紹了一款Android記事本SQLite數據庫模塊的設計與實現。根據人們日常生活的需要,該記事本的內容包括運用SQLite封裝好的方法對數據進行添加、刪除、修改、更新和密碼進入等功能,并且將查詢到的數據傳遞給activity,具有一定的實用性。關鍵詞: 記事本;Android;手勢密碼;SQLite;Activity
Android記事本的設計與實現
Design and implementation of Android
notepad — Design and operation of the SQLite database
Student name:
Advisor:
Abstract
With the rapid proliferation of smart phones, smart phone operating system market burgeoned.Android's biggest feature is its open architecture, not only has a very good development, debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support and powerful browser.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 2
Android記事本的設計與實現
目錄
目錄.....................................................................................................................................................................3 1.引言...............................................................................................................................................................4 1.1 項目背景..............................................................................................................................................4 1.2 項目意義..............................................................................................................................................4 1.3 系統可行性分析..................................................................................................................................5 1.4 系統主要任務....................................................................................................................................5 2.系統方案設計.................................................................................................................................................6 2.1 搭建Android開發平臺.....................................................................................................................6 2.2 SQLite數據庫簡介............................................................................................................................7 2.3 總體方案設計...................................................................................................................................10 3.系統軟件開發環境.......................................................................................................................................10 3.1 Windows開發環境...........................................................................................................................10 3.2 JAVA集成開發環境eclipse...........................................................................................................11 3.3 ADT Plugin for Eclipse...............................................................................................................11 4.程序設計.......................................................................................................................................................12 4.1 程序詳細設計...................................................................................................................................12 4.2 程序運行及效果截圖.......................................................................................................................13 4.3 對SQLite數據庫增刪改查代碼實現.............................................................................................18 5.工作總結與展望...........................................................................................................................................23 參考文獻...........................................................................................................................................................24
Android記事本的設計與實現
1.引言
1.1 項目背景
Window操作系統的誕生成就了微軟帝國,同時也造就了PC時代的繁榮,然而如今,以Android和iPhone手機為代表的智能移動設備的發明與互聯網云技術的興起卻敲響了PC時代的喪鐘!這也預示著移動互聯網時代(3G)已經來臨。
在這個互聯網繁榮的時代,有一顆超新星,以它獨特性能優勢與人性化的UI設計使它在短短的幾年迅速的占領了智能移動設備的市場份額,它就是Google的Android!這也意味著Google在移動互聯網時代開始搶跑并領跑。
通過調查顯示,大部分消費者都會使用手機記事本功能。隨著手機記事本功能的不斷加強與完善,手機記事本對于人們的意義,已不僅僅像一般記事簿一樣簡單記錄,而是向著更個性化人性化的方向發展。Android[1]系統是開源的,它以迅猛的姿勢已經占領了全球一半多的市場。記事本在生活和工作也日益凸顯出它的重要性,它能更好地幫助人們更好地管理自己的工作和生活,極大的方便了人們的生活。因其開源,我們可以在之上開發安卓記事本軟件,同時這也符合廣大的市場需求。
1.2 項目意義
近幾年來隨著3G技術成熟和智能手機的不斷普及,移動應用的需求與日俱增,移動應用開發成為當下最熱門的技術之一。在Google和Android手機聯盟的共同推動下,Android在眾多移動應用開發平臺中脫穎而出。Android是一個真正意義上的開源智能手機操作系統,該系統一經推出立即受到全球移動設備廠商和開發者的熱捧。
我們都知道,無論是產品還是技術,商業應用都是它最大的發展動力。安卓如此受到廠商與開發者的青睞,它的前景是一片光明的。國內對于安卓這方面的市場還沒有完全開發出來。只要我們努力學習安卓,對理想,對生活都會有很大的補益。因此,開發這樣一套很簡單的記事本軟件對我們來講是一件很有必要的事情,在下面的各章中我們將以開發安卓記事本軟件為例,談談其開發過程和所涉及到的問題及解決方法。
Android記事本的設計與實現
1.3 系統可行性分析
1.3.1 課題調研
(1)與實踐活動和相關的文件和資料由作者本人網絡查找,以及老師幫助。
(2)具有遇到問題,具有獨立思考,耐心鉆研,向老師虛心求教的良好態度。(3)關于技術方面的難題,跟指導老師面談。1.3.2 可行性分析
(1)技術可行性:本項目僅需要一臺裝有Eclipse及配置好Android開發環境的計算機即可,對計算機本身有一定的要求,它可以使用Windows Xp及其以上版本,Mac os,Linux等操作系統。
(2)經濟可行性:由于本軟件開發只有三個人,三臺電腦就行,基本不需要太大的成本.在經濟上完全可行。
(3)操作可行性:界面設計時充分考慮用戶的習慣以及手機方面的局限性,程序必須要很簡單;本程序只涉及到開發環境配置,安卓組件的熟悉,以及安卓平臺上的數據存儲。并沒有太大的難度,所以,該項目完全有可操作性。
1.4 系統主要任務
(1)設計實現”添加新記事”,”編輯內容”,”刪除當前記事”這三個主要的功能模塊。
(2)分析并解決實現中的若干技術問題,像組件的選擇以及保存方式的選擇。(3)進行測試并分析結果。
當然記事本的基本功能,建立新文件、修改現有文件、刪除文件、查看已建立文件等功能是首先必須完成的。可以編寫內容,編輯及刪除,讓記事的方式多樣化。記事本軟件的界面設計力求簡潔,給人清爽的感覺,讓圖標及按鈕以協調的布局呈現出了,菜單功能要相對簡單,讓用戶操作方便,從而讓用戶體會到此款軟件的實用。因為上述操作涉及到的數據量不大,所以將數據庫定為安卓系統自帶的SQLite數據庫[3],所以這就要求我們要實現在SQLite數據庫上面的增刪改查。不少人希望自己記事本上面的內容不被被人查看,所以要以設置密碼的形式來實現保密。鑒于各種各樣的密碼實現方式,我們選擇了用戶體驗最好的手勢解鎖方式。以及采用了更加友好的時間顯示方式,讓用戶在使用過程中更加的舒服方便。記事本軟件要內存占用適中,CPU占用也是適中,這樣讓軟件運行順暢。
Android記事本的設計與實現
2.系統方案設計
2.1 搭建Android開發平臺
2.1.1 安裝包下載(1)java JDK下載
進入http://java.sun.com/javase/downloads/index.jsp選擇Download JDK只下載JDK,無需下載jre。
(2)Eclipse下載
進入http://www.tmdps.cn/downloads我們選擇第一個,即Eclipse IDE for java EE Developers。
(3)Android SDK下載
說明:Android SDK兩種下載版本,一種是包含具體版本的SDK的,一種是只有升級工具,而不包含具體的SDK版本,完全版下載(Android sdk 2.01)。
2.1.2 軟件安裝(1)安裝JDK 安裝完成即可。(2)解壓Eclipse Eclipse無需安裝,解壓后,直接打開就行。(3)解壓Android SDK 這個也無需安裝,解壓后供后面使。(4)配置Eclipse 打開Eclipse,在菜單欄上選擇 help->Install New SoftWare點擊Add按鈕,出現如下界面,輸入網址:https://dl-ssl.google.com/android/eclipse/(如果出錯,請將https改成http),名稱:Android(這里可以自定義),點擊OK,點擊Next按鈕,點擊Next按鈕,出現如下界面:選擇I accept the terms of the license agreements,點擊Next,進入安裝插件界面安裝完成后,點擊Yes按鈕,重啟Eclips。
(5)配置Android SDK 點擊菜單window->preferences選擇你的Android SDK解壓后的目錄,選錯了就會報 6
Android記事本的設計與實現
錯,這個是升級工具,目前還沒有一個版本的SDK。
升級SDK版本,選擇菜單window->Android sdk and avd manager。選擇update all按鈕,出現如下界面選擇左邊的某一項,點擊accept表示安裝,點擊reject表示不安裝,我這里只選了SDK 2.1和samples for api 7。自己可以任意自定義,確定后,選擇install按鈕,進入安裝界面:安裝完成。
(6)新建AVD(Android vitural device)和上面一樣,進入Android sdk and avd manager,選中Vitural Devices 在點擊New按鈕后,名稱可以隨便取,target選擇你需要的SDK版本,SD卡大小自定義,點擊Create AVD,顯示創建AVD完畢。
(7)新建Android項目
選擇菜單file->new->other 進入如下界面:選擇新建Android Project項目,點擊Next按鈕,進入如下界面名稱自定義,應用程序名自定義,報名必須包含一個點以上,min SDK version里面必須輸入整數
(8)配置運行
右鍵項目->Run as->Run Configuration該界面,點擊Browse按鈕,選擇你要運行的項目選擇Target切換到以下界面該界面選擇運行的AVD,將AVD前面的方框設置為選擇狀態。
(9)測試項目運行右鍵項目名稱->run as->Android Application即可啟動運行該Android程序。
2.2 SQLite數據庫簡介
SQLite是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。至2015年已經有15個年頭,SQLite也迎來了一個版本SQLite 3已經發布。
Android記事本的設計與實現
2.2.1 SQLite功能特性 1.ACID事務
2.零配置–無需安裝和管理配置
3.儲存在單一磁盤文件中的一個完整的數據庫 4.數據庫文件可以在不同字節順序的機器間自由的共享 5.支持數據庫大小至2TB 6.足夠小,大致13萬行C代碼,4.43M 7.比一些流行的數據庫在大部分普通數據庫操作要快 8.簡單,輕松的API 9.包含TCL綁定,同時通過Wrapper支持其他語言的綁定 10.良好注釋的源代碼,并且有著90%以上的測試覆蓋率 11.獨立:沒有額外依賴
12.源碼完全的開源,你可以用于任何用途,包括出售它
13.支持多種開發語言,C, C++, PHP, Perl, Java, C#,Python, Ruby等
同時它還支持事務處理功能等等。也有人說它象Microsoft的Access,有時候真的覺得有點象,但是事實上它們區別很大。比如SQLite 支持跨平臺,操作簡單,能夠使用很多語言直接創建數據庫,而不象Access一樣需要Office的支持。如果你是個很小型的應用,或者你想做嵌入式開發,沒有合適的數據庫系統,那么你可以考慮使用SQLite。到2013年10月17日最新版本是 3.8.1。能在上面獲得源代碼和文檔。同時因為數據庫結構簡單,系統源代碼也不是很多,也適合想研究數據庫系統開發的專業人士.2.2.2 Java連接SQLite數據庫:
publicclass TestSQLite { publicstaticvoid main(String[] args){ try { 8
Android記事本的設計與實現
//連接SQLite的JDBC Class.forName(“org.sqlite.JDBC”);//建立一個數據庫名zieckey.db的連接,如果不存在就在當前目錄下創建之 Connection conn =DriverManager.getConnection(“jdbc:sqlite:zieckey.db”);Statement stat = conn.createStatement();stat.executeUpdate(“create table tbl1(name varchar(20), salary int);”);//創建一個表,兩列 stat.executeUpdate(“insert into tbl1values('ZhangSan',8000);”);//插入數據 stat.executeUpdate(“insert into tbl1values('LiSi',7800);”);stat.executeUpdate(“insert into tbl1values('WangWu',5800);”);stat.executeUpdate(“insert into tbl1values('ZhaoLiu',9100);”);ResultSet rs = stat.executeQuery(“select * from tbl1;”);//查詢數據 while(rs.next()){//將查詢到的數據打印出來
System.out.print(“name = ”+ rs.getString(“name”)+“ ”);//列屬性一 System.out.println(“salary = ”+ rs.getString(“salary”));//列屬性二 } rs.close();conn.close();//結束數據庫的連接 } catch(Exception e){ e.printStackTrace();} } }
Android記事本的設計與實現
2.3 總體方案設計
在本模塊中,主要設計到三個文件,第一個是與數據庫表相對應的實體類,第二個是創建數據庫、創建表的類,第三個是對應的增刪改查的方法。下面是整個項目的總體方案設計:
本次Android項目中運用的技術比較廣,從基礎的Activity、SQLite到開源的手勢密碼組件,因此將項目盡可能完美的整合到一起成了很重要的一部,如何將總體方案設計的規范以及高校是必不可少。
從人員安排上,我們三人分頭進行,各不影響,我主要負責的是Activity的展示,也就是將其他組員的勞動成果展示出來,那么如何美觀以及高性能的展示變成了難點。
從設計模式上,我們嚴格遵循Android Design的規格,并且使用Google在I/O大會上推薦的一些開發方法,從而盡可能的講模塊規范化。
從時間分配上,我們進行了敏捷性開發,充分合理的利用了大家的時間。
3.系統軟件開發環境
3.1 Windows開發環境
1.用戶界面統一、友好、漂亮:
Windows應用程序大多符合IBM公司提出的CUA(Common User Acess)標準,所有的程序擁有相同的或相似的基本外觀,包括窗口、菜單、工具條等。用戶只要掌握其中一個,就不難學會其他軟件,從而降低了用戶培訓學習的費用。2.豐富的設備無關的圖形操作:
Windows的圖形設備接口(GDI)提供了豐富的圖形操作函數,可以繪制出諸如線、圓、框等的幾何圖形,并支持各種輸出設備。設備無關意味著在針式打印機上和高分辨率的顯示器上都能顯示出相同效果的圖形。3.多任務:
Windows是一個多任務的操作環境,它允許用戶同時運行多個應用程序,或在一個程序中同時做幾件事情。每個程序在屏幕上占據一塊矩形區域,這個區域稱為窗口,窗口是可以重疊的。用戶可以移動這些窗口,或在不同的應用程序之間進行切換,并可以在程序
Android記事本的設計與實現
之間進行手工和自動的數據交換和通信。
雖然同一時刻計算機可以運行多個應用程序,但僅有一個是處于活動狀態的,其標題欄呈現高亮顏色。一個活動的程序是指當前能夠接收用戶鍵盤輸入的程序。
3.2 JAVA集成開發環境eclipse Eclipse 是一個開放源代碼的、基于Java 的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。
雖然大多數用戶很樂于將 Eclipse 當作 Java 集成開發環境(IDE)來使用,但 Eclipse 的目標卻不僅限于此。Eclipse 還包括插件開發環境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發人員,因為它允許他們構建與 Eclipse 環境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。
這種平等和一致性并不僅限于 Java 開發工具。盡管 Eclipse 是使用Java語言開發的,但它的用途并不限于 Java 語言;例如,支持諸如C/C++、COBOL、PHP等編程語言的插件已經可用,或預計將會推出。Eclipse 框架還可用來作為與軟件開發無關的其他應用程序類型的基礎。
[7]
[6]3.3 ADT Plugin for Eclipse ADT Plugin for Eclipse 是Eclipse插件,作用是關聯Android SDK,使Eclipse能夠創建Android工程。
Android開發工具(ADT)是一個Eclipse IDE,目的是給你一個強大的插件,集成環境中構建Android應用程序。
Eclipse的ADT延伸的能力,可以快速建立新的Android
[10]
[9]
項目,創建一個應用程序的用戶界面,添加組件基于Android框架API,使用Android SDK工具調試程序,甚至出口簽名(或無)APKs以分發你的應用。
Android記事本的設計與實現
4.程序設計
4.1 程序詳細設計
開始繪制修改密碼否繪制密碼是保存or繪制成功新建記事本成功失敗登陸更新記事本刪除記事本
圖4.1 系統流程圖
安卓記事本本人涉及到的是SQLite的設計與操作,主要設計到的文件有三個。分別是:MemoItem.java(與數據庫表相對應的實體類)、MemoService.java(對SQLite數據庫進行增刪改查的方法)、DBHelper.java(建立數據庫、建立表的方法)。
在SQLite上建數據庫,建表主要要繼承SQLiteOpenHelper這個類。在構造方法中實現建數據庫,在onCreate方法中進行建表。
實現數據的增刪改查,先用dbOpenHelper獲得WritableDatabase,再進行相應的操作。還要用到cursor來移動游標,MemoItem返回每一條記錄,List
Android記事本的設計與實現
在設計SQLite數據庫的同時,還進行了幾個簡單的Activity的編寫。Activity是Android開發的重點,它與XML一個負責界面,一個負責界面實現。此外,在寫Activity的時候充分利用JAVA的繼承特性,將MainActivity作為基類,讓其他Activity繼承它,雖然整個項目比較小,但是這種利用JAVA特征的設計模式還是充分利用了。
4.2 程序運行及效果截圖
圖4.2 程序的首頁
Android記事本的設計與實現
圖4.3 繪制手勢
圖4.4 通過手勢登錄
Android記事本的設計與實現
圖4.5 登錄成功
圖4.6 創建新筆記
Android記事本的設計與實現
圖4.7 創建成功
圖4.8 更新筆記
Android記事本的設計與實現
圖4.9 更新成功
圖4.10 所有筆記顯示頁面
Android記事本的設計與實現
4.3 對SQLite數據庫增刪改查代碼實現
增刪改查:
package com.example.others;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class MemoService { private DBOpenHelper dbOpenHelper;private SQLiteDatabase db;private Cursor cursor;
public MemoService(Context context){
this.dbOpenHelper = new DBOpenHelper(context);}
public long save(MemoItem item)//保存每一條數據 { db = dbOpenHelper.getWritableDatabase();String sql = “insert into memo(content, time)values(?,?)”;db.execSQL(sql, new Object[]{item.getContent(),item.getTime()});//將時間插入
cursor= db.rawQuery(“SELECT last_insert_rowid()”, null);
cursor.moveToFirst();//每次插入保證都在最前面一個
long result = cursor.getLong(0);
cursor.close();
db.close();
return result;}
public MemoItem getMemoById(long time)//顯示每一條具體的記錄 { db = dbOpenHelper.getReadableDatabase();
cursor = db.rawQuery(“select * from memo where memoid=?”,new String[]{time+“"});if(cursor.moveToFirst()){ String content
=
Android記事本的設計與實現
cursor.getString(cursor.getColumnIndex(”content“));
long times = cursor.getLong(cursor.getColumnIndex(”time“));
cursor.close();
db.close();
return new MemoItem(content, times);
}
cursor.close();
db.close();
return null;}
public void updateContent(MemoItem item)//更新每一條記錄 { db = dbOpenHelper.getWritableDatabase();db.execSQL(”update memo set content=? where time=?“,new Object[] { item.getContent(), item.getTime()
});db.close();}
public void delete(long time)//刪除一條記錄 { db = dbOpenHelper.getWritableDatabase();db.execSQL(”delete from memo where time=?“, new Object[] {time});db.close();}
public long getCount()//得到所有的記錄數 { db = dbOpenHelper.getReadableDatabase();cursor = db.rawQuery(”select count(*)from memo“, null);cursor.moveToFirst();long result = cursor.getLong(0);cursor.close();db.close();return result;} public List
{
List
db = dbOpenHelper.getReadableDatabase();
Android記事本的設計與實現
cursor = db.rawQuery(”select * from memo order by time desc limit ?,?“,new String[] { String.valueOf(offset),String.valueOf(maxResult)});
while(cursor.moveToNext())
{
long time = cursor.getLong(cursor.getColumnIndex(”time“));
String content cursor.getString(cursor.getColumnIndex(”content“));
books.add(new MemoItem(content,time));
}
cursor.close();
db.close();
return books;} }
建數據庫、建表
package com.example.others;
import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelper(Context context){
super(context, ”csust.db“, null, 1);//創建一個數據庫 } public void onCreate(SQLiteDatabase db){ db.execSQL(”CREATE TABLE memo(memoid integer primary autoincrement, content varchar,time interger)“);//創建一個memo表 } public void onUpgrade(SQLiteDatabase db, int oldVersion, newVersion){
db.execSQL(null);//更新數據庫
} }
表所對應的實體類
package com.example.others;
= key
int Android記事本的設計與實現
import android.os.Parcel;import android.os.Parcelable;
public class MemoItem implements Parcelable { private String content;private long time;public MemoItem(){} public MemoItem(String content, long time){
this.content = content;
this.time = time;} public String getContent(){
return content;} public void setContent(String content){
this.content = content;} public long getTime(){
return time;} public void setTime(long time){
this.time = time;} @Override public String toString(){
return ”BaseItem [content=“ + content + ”, time=“ + time + ”]";} @Override public int describeContents(){
return 0;} @Override public void writeToParcel(Parcel dest, int flags){
dest.writeString(content);
Android記事本的設計與實現
dest.writeLong(time);} public static final Parcelable.Creator
@Override
public MemoItem createFromParcel(Parcel source)
{
MemoItem item = new MemoItem();
item.content = source.readString();
item.time = source.readLong();
return item;
}
@Override
public MemoItem[] newArray(int size)
{
return new MemoItem[size];
} };}
Android記事本的設計與實現
5.工作總結與展望
整個過程中,我總結了一些經驗: 1.體會感觸最深的一點
事先必須制定計劃。這樣即使出現問題,解決時也會像修改幾個元素一樣簡單。最簡單的原因是,當真正開始項目后,毫無疑問自己將充分了解自己正在嘗試著作什么。通過前期的規劃,會讓自己的工作變得輕松。2.選擇合適的開發環境
好的工具可以給我們帶來方便,減少工作量。最好使用集成的開發環境,我使用ADT這個集成的開發環境對安卓記事本進行制作,它的功能強大,增強了功能并節省了應用開發的時間。
3.不可忽視界面的設計
從真正的使用方面來講,一個系統的界面是十分重要的,好的界面可大大刺激顧客的購買欲,收到以像不到的效果,所以可千萬不要設計得太單調乏味,而要盡量友好一些。4.一定要做好調試工作
倘若像開發一個成功的安卓記事本,那么一定要設置好菜單,其原則是簡單、美觀和實用,最重要的是可靠。在安卓記事本投入運行之前,一定要做大量的調試工作,除了在自己的機上調試外,還應在別的機上測試,保證萬無一失 5.相互討論,虛心求教
這是相互學習的好方法,也是節約開發時間的一個有力途徑,同時我們可以利用網絡這個有利的條件在網上求教。6.本次實踐的收獲
由于實踐的機會太少,對編程不夠熟悉,這次實習設計給了我一個很好的動手機會。通過自己的努力,我學會了如何構建一個安卓記事本,數據庫的基本構架,基本掌握了Android的編程技術,了解一個系統的整個開發調試過程。在這一次設計中,翻閱大量資料,雖然結果還未盡完美,但在設計過程中,亦使我專業技能上有了很大的提高,對系統開發過程、步驟有了比較深刻的認識。開發的過程中,我遇到了不少疑難問題,除了向指導老師請教外,更多的時候是請教同學,共同探討,一起尋找解決問題的方案。這些寶貴的經驗對于我今后走上工作崗位將有很大的幫助。
Android記事本的設計與實現
參考文獻
[1]熊剛.基于Android的智能手機的設計與實現[D].武漢: 武漢理工大學,2010.[2]周恒民譯.Java TCP/IP Socket編程(原書第2版)[M].北京: 機械工業出版,2009.[3]張桂珠 劉麗 陳愛國 Java面向對象程序設計(第2版)北京郵電大學出版社.[4]Joshua Bloch.Effective Java: Second Edition[M].Addison-Wesley,2008.[5]胡偉編著 .Android系統架構及其驅動研究[J].廣州.廣州廣播電視大學學報.2008 [6]余志龍.Google Android SDK 開發范例大全[M].北京:人民郵電出版社.2009-7-1 [7]靳巖,姚尚朗.Google Android 開發入門與實戰[M].北京:人民郵電出版社.2009-7-1.[8]畢廣吉.Java程序設計實例教程[M].北京:冶金工業出版社,2007年 [9]林邦杰,徹底研究java.北京:電子工業出版社,2002年
[10]王保羅.Java面向對象程序設計[M].北京:清華大學出版社,2003年
第五篇:安卓實訓報告
通信與電子信息專業實訓報告
項目名稱:基于android的游戲開發
班 級 10通信1班
姓 名
學 號
指導教師
成 績
實訓時間:年月日—
目錄
一、實訓目的及其意義............................................3 1.1、目的及意義..............................................3 1.2、研究現狀................................................3
二、實訓主要任務、重點及難點....................................4 2.1、任務....................................................4 2.2、重點內容及實現途徑......................................4
三、實訓具體內容及完成的主要工作................................5 3.1、認識基礎開發............................................6 3.2、了解數據存儲............................................6 3.3、總體實訓過程............................................7
四、實際遇到的困難,解決問題的方法和措施........................8
(一)、所遇問題.................................................8
(二)、解決方法與措施...........................................9
五、心得體會....................................................9
一、實訓目的及其意義 1.1、目的及意義 了解現階段互聯網發展主流,了解移動互聯網,認識移動互聯網的發展與展望,認識android,了解基于android的應用軟件開發方法及其商業流程。把理論與實際結合,通過對理論知識的理解,領悟從而運用到生活實際鞏固所學的知識,提高對實際生活的認識,積累經驗。使學生在此期間能夠初次體會到實際生產中的種種技能與經驗,完成一項項目鍛煉獨立思考及團隊合作能力。使學生們進一步加深對所學知識的理解,理論聯系實際,鞏固所學有關計算機基礎理論知識和基本技能,學習有關計算機最新技術方面的應用,增強學生對計算機在社會生活,社會生產中應用的感性認識,深入了解計算機在各個領域中的應用狀況。生產實習是學校教學的重要補充部分,是區別于普通學校教育的一個顯著特征,是教育教學體系中的一個不可缺少的重要組成部分和不可替代的重要環節。它是與今后的職業生活最直接聯系的,學生在生產實習過程中將完成學習到就業的過渡,因此生產實習是培養技能型人才,實現培養目標的主要途徑。它不僅是校內教學的延續,而且是校內教學的總結。生產實習一方面鞏固了書本上學到的理論知識,另一方面,可獲得在書本上不易了解和不易學到的生產現場的實際知識,使我們在實踐中得到提高實訓環節對于提高學生的綜合能力和全面素質具有重要意義。1.2、研究現狀 android 是google開發的基于linux平臺的開源手機操作系統。它包括操作系統、用戶界面和應用程序 —— 移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產業創新的專有權障礙。google與開放手機聯盟合作開發了 android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達電和 t-mobile 在內的 30 多家技術和無線應用的領軍企業組成。google通過與運營商、設備制造商、開發商和其他有關各方結成深層次的合作伙伴關系,希望借助建立標準化、開放式的移動電話軟件平臺,在移動產業內形成一個開放式的生態系統。android主要使用于移動設備,如智能手機和平板電腦,由google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。android操作系統最初由andy rubin開發,主要支持手機。2005年8月由google收購注資。2007年11月,google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良android系統。隨后google以apache開源許可證的授權方式,發布了android的源代碼。第一部android智能手機發布于2008年10月。android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,android在全球的市場份額首次超過塞班系統,躍居全球第一。2012年11月數據顯示,android占據全球智能手機操作系統市場76%的份額,中國市場占有率為90%。目前基于android的移動終端上的軟件應用開發很火熱,android平臺的開發已越來越強大。android是一種以linux為基礎的開放源碼操作系統,主要使用于便攜設備。android操作系統最初由andy rubin創辦,最初只支持手機。2005年由google收購注資,并拉攏多家制造商組成開放手機聯盟(open handset alliance)開發改良,逐漸擴展到到平板電腦及其他領域上。
二、實訓主要任務、重點及難點 2.1、任務
認識移動互聯網,了解移動互聯網的開發,認識及了解android,在給定時間內完成基于android平臺的游戲項目的開發,實現預想游戲效果,熟悉項目開發的商業流程,給出游戲全套文檔及代碼。
2.2、重點內容及實現途徑 2.2.1、重點內容:熟悉游戲開發代碼,了解項目流程,對android游戲開發有基本了解。2.2.2、實現途徑:
所需運行硬件環境:
安卓系統2.2以上 3.5寸以上移動設備
軟件開發環境的配置:
(1)配置java程序開發環境
(2)安裝并漢化eclipse(jdk)(3)android sdk的安裝
(4)adt的安裝及配置
(5)android模擬器的配置
(6)office2003以上版本的軟件(繪圖visio)然后運用eclipse完成項目代碼的編寫,運行與調試; 最終在實體終端上進行測試,最終完成項目
三、實訓具體內容及完成的主要工作
實訓前期,有老師給我們講解了現階段移動互聯網的發展,了解移動互聯網的發展主流,說明了現階段移動互聯的發展重要性。老師著重給我們講解了android的發展,以及現階段移動互聯中android所扮演的角色。接下來我們將針對基于android的游戲開發進行學習,由于時間的原因,我們主要了解了一下游戲開發的基本項目流程,具體的操作將在實訓過程中一一講解驗證。
接下來老師為我們講解了實訓的具體內容,對于一個游戲開發項目,首先我們需要進行游戲開發的前期準備,主要是游戲開發環境的配置,以及團隊開發過程中的任務分配,之后緊張的游戲項目開發拉開了帷幕。在第一天我們主要學習了eclipse軟件的使用,包括游戲工程的創建等等。并且針對eclipse中的 android項目結構進行了講解:android項目結構:src/ java原代碼存放目錄 gen/ 自動生成目錄 gen 目錄中存放所有由android開發工具自動生成的文件。目錄中最重要的就是r.java文件。這個文件由android開發工具自動產生的。res/ 資源(resource)目錄 在這個目錄中我們可以存放應用使用到的各種資源,如xml界面文件,圖片或數據。assets資源目錄android除了提供/res目錄存放資源文件外,在/assets目錄也可以存放資源文件。androidmanifest.xml 項目清單文件。篇二:安卓實訓報告
實習報告書
專 業 計算機科學與技術 系 別
報告題目
安卓
報告人 班
級
指導教師
帶隊教師 實習時間 實習地點
教務處監制 篇三:android實習報告
實習報告
實習目的:
生產實習是計算機科學與技術專業重要的實踐性教學活動,其目的是使學生們進一步加深對所學知識的理解,理論聯系實際,鞏固所學有關計算機基礎理論知識和基本技能,學習有關計算機最新技術方面的應用,增強學生對計算機在社會生活,社會生產中應用的感性認識,深入了解計算機在各個領域中的應用狀況,學生在實習的同時,進行一定的社會實踐與調查活動,對于提高學生的綜合能力和全面素質具有重要意義。
實習內容: android主要有四大組件,分別為:activity 活動、service 服務、broadcast receivers 廣播接受者、content provider 內容提供者。還有上激活組件intent。1.activity activity就是一個用戶可以直接接觸并看到的窗口,當新建一個android project后可以
看到在工程文件下的src中有一個已建好的java類firstactivity,系統也會自動為他配備一個布局文件main.xml,并在androidmanifest中對此activity進行注冊。
用戶想要自己創建一個activity,首先創建一個java類繼承自activity,可以為他配備一個布局文件用來顯示activity創建后的布局。最后在主配置文件manifest.xml中對創建的activity進行注冊,這一步是必不可少的,沒有注冊activity無法運行。在manifest.xml中會有許多的activity,但系統一次只能運行一個activity,因此必須修選定一個最先運行的activity。在注冊activity是加入
表格布局tablelayout。其中框架布局適合于單張圖片的顯示。3.service 服務 service事實運行在后臺的一段代碼。他與activity一樣有相似的生命周期,但不同的是他不能自己運行,必須通過某一個activity或者其他的context對象來調用。service可通過調用context.startservice()啟動,還可以通過serviceconnection來訪問service。可以將其他的組件綁定到service上。4.數據存儲 activity提供了openfileoutput()方法可以用于把數據輸出到文件中,具體的實現過程與在j2se環境中保存數據到文件中是一樣的。openfileoutput()方法的第一參數用于指定文件名稱,不能包含路徑分隔符“/”,如果文件不存在,android 會自動創建它。創建的文件保存在/data/data/
/files目錄,如: /data/data/cn.itcast.action/files/itcast.txt,通過點擊eclipse菜單“window”-“show view”-“other”,在對話窗口中展開android文件夾,選擇下面的file explorer視圖,然后在file explorer視圖中展開/data/data/
/files目錄就可以看到該文件。openfileoutput()方法的第二參數用于指定操作模式,有四種模式android有一套自己的安全模型,當應用程序(.apk)在安裝時系統就會分配給他一個userid,當該應用要去訪問其他資源比如文件的時候,就需要userid匹配。默認情況下,任何應用創建的文件,sharedpreferences,數據庫都應該是私有的(位于/data/data/
/files),其他程序無法訪問。除非在創建時指定了context.mode_world_readable或者context.mode_world_writeable,只有這樣其他程序才能正確訪問。實習流程: 2月18——2月27日,老師對于android開發進行了詳細的講解,其內容包括:android 的背景介紹,發展過程,自身的優勢與不足.android的控件、布局、activity、service等一系列基礎知識,對整個android的開發有了大致的了解 2月28日——3月2日: 學生自己開發android 3gabs項目,老師答疑及驗收
實習心得:
時間過的飛快,半個月的實習就要結束了,在這次實習中我們不僅學習了相關的專業知識而且讓我對android系統又有了一個更加深入的了解,它也是我們計算機專業的一個新的方向并且發展很迅速,為了今后的發展我們還需不斷努力學習!我國的信息產業還很落后,隨著社會的發展和國家的支持,手機上網是社會發展的趨勢,到時候手機上網將無處不在!之前我對android系統的了解之停留在應用的層次上,對于更深層次的了解是很少的,通過這次實習,讓我對android系統有了一個更深層次的了解,同時它頁使我意識到無論朝哪個方向發展,主要還是要扎實深刻地學習,同時也得不斷努力探索!it業發展速度一直都是相當驚人的,不想被社會淘汰,我們就得必須不斷地學習,現在的社會不再是一勞永逸,其他行業也是如此,我們必須不斷地拿知識來武裝自己,不然被淘汰那是肯定的!現在就業難原因其實在于競爭的家具,為了在競爭中得到成功,我們必須時時刻刻學習,還學到了很多做人做事的道理,不僅懂得了要想在計算機這一行立足必須具備扎實的技術理論知識,還必須學會與人溝通,合作的能力,同時更懂得了嘗試的重要性,很多事情不是聽說是困難的它就是困難的,只有親自去做親自去體會才知道,其實它并沒有那么困難,這就是實踐的重要性!無論做什么事情都必須要堅持,只有堅持下去,才會成功!事在人為,就怕不做!我們不能怕失敗,關鍵是要從失敗中總結經驗,帶著勇氣,帶著自信,堅持不懈,踏踏實實。這一次的實習是短暫的,但我收獲良多。回顧以前所走過的路,太多的無奈和迷茫,這次實習就像是我人生道路上的航標,為我指明了前景的方向,是我對自己的前途充滿了信心,我不僅知道了在人生的岔道口更適合朝哪個方向前進!更知道了在今后的道路上怎么去武裝自己!
實習結果:篇四:android實訓報告
多媒體技術綜合實訓
課題名稱 多媒體展示系統的設計與開發
計算機與軟件學院
計算機多媒體(游戲軟件設計與開發)
計媒1021 1002553224 學 號 1002553206 1002553218 院 系 專 業 班 級 1002553212 1002553201 1002553206 羅傳龍 尹喜晨 王育 李樂樂 趙妹 范小玉 學生姓名
指導教師: 聶桂軍、楊立力 2012 年 06 月 19 日
目 錄
目 錄........................................................3 前 言........................................................4 第一章 概要設計................................................5 1.1 項目研發背景............................................5 1.2 項目功能簡介............................................5 1.3 實訓的操作環境..........................................6 第二章 整體設計................................................7 2.1 框架設計................................................7 第三章 詳細設計.............................................8 3.1 模塊的設計..............................................8 實訓心得......................................................43 參考文獻......................................................44 前言
隨著智能手機一步步走進普通人的生活,它將成為人們獲取信息的主要設備。因此,手機的應用服務將會有很大的發展空間,android手機學生系統管理服務就是其中的一項。目前的學生系統管理服務主要以使用單機或者網頁方式實現,這些方式不適合在戶外旅游等場合下進行,給用戶造成了很多的不便。android平臺提供給普通開發者非常靈活的學生資料展示與控制功能,這將使學生系統管理服務的設計與實現有了更好的平臺。另外,android平臺基本上是免費的,所以能夠有效降低軟件的成本,最終讓每個用戶能夠自由地獲取信息,也為手機服務的普及做出貢獻。本次實訓對目前應用現狀進行了分析與比較,進而研究分析了android平臺的系統架構和組件模型,在此基礎上,基于android平臺設計和開發了一個手機學生系統管理服務,本系統界面友好、操作便捷,具有良好的可擴展性和可維護性;系統經過測試,可以穩定運行,能夠滿足手機用戶基本的學生系統管理服務需求。
第一章 概要設計 1.1 項目研發背景
學生信息檔案的管理對于學校的管理者來說至關重要,學生信息是高等學校非常重要的一項數據資源,是一個教育單位不可缺少一部分。特別是近幾年來,國家政策的調整,我國高等院校大規模的擴招,給高等院校的教學管理、學生管理、后勤管理等方面都帶來不少的沖擊。其包含的數據量大,涉及的人員面廣,而且需要及時更新,故較為復雜,難以單純地依賴人工管理,而且傳統的人工管理方式既不易于規范化,管理效率也不高,目前我國各類高等院校中還有相當一部分學生檔案管理還停留在紙介質的基礎上,尤其是中、小學對學生檔案的管理更是落后,這樣的管理機制已經不能適應時代發展的要求,其管理方法將浪費許多人力和物力。隨著科學技術的不斷提高,計算機科學與技術日漸成熟,計算機應用的普及已進入人類社會生活的各個領域,并發揮著越來越重要的作用。這種傳統的手工管理模式必然被以計算機為物質基礎的信息管理方法所取代。1.2 項目功能簡介
學生信息管理系統是針對學校人事處的大量業務處理工作而開發的管理軟件,主要用于學校學生信息管理,總體目標是實現學生信息關系的系統化、科學化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。推行學校信息管篇五:android實訓報告
南 京 師 范 大 學 泰 州 學 院
題 目:
學
姓
班
信 息 工 程 學 院 android實 訓 報 告 android gps系統 號: 09090103 名: 馮超潔 級: 信工091 2012 年 6月
摘 要
隨著智能手機一步步走進普通人的生活,它將成為人們獲取信息的主要設備。因此,手機的應用服務
將會有很大的發展空間,手機地圖服務就是其中的一項。目前的地圖服務主要以使用單機或者網頁方式實現,這些方式不適合在戶外旅游等場合下進行,給用戶造成了很多的不便。android平臺提供給普通開發者非常靈活的地圖展示與控制功能,這將使地圖 服務的設計與實現有了更好的平臺。另外,android平臺基本上是免費的,所以能夠有效降低軟件的成本,最終讓每個用戶能夠自由地獲取信息,也為手機地圖服 務的普及做出貢獻。本文對目前應用現狀進行了分析與比較,進而研究分析了android平臺的系統架構和組件模型,在此
基礎上,基于android平臺設計和開發了一個手機web地圖服務,該系統包括自我定位、地圖模式、路線查詢、地點查找四大模塊。自我定位模塊的功能就是把手機用戶自己所在地方的地圖和經緯度在界面中顯示出來。行走蹤跡模塊的功能就是把用戶經過的地方以路線圖的形式給畫出來。地點查找模塊的功能就是查詢一個地方,并把它在地圖中標注出來。
本系統界面友好、操作便捷,具有良好的可擴展性和可維護性;系統經過測試,可以穩定運行,能夠 滿足手機用戶基本的地圖服務需求。