ui實習是我們學習專業課程之後進行畢業設計是不可缺少的實踐環節。以下是ui實習週記,歡迎閱覽!
ui實習週記1
實驗室三位老師啓動了二手書租賃系統這個項目,我們一起討論了二手書租賃系統的需求。本項目後臺採用.NET MVC4+MS Sqlserver2008,分爲後臺管理和前臺展示,前臺分爲平臺端和手機端。手機端需要有展示圖書和預訂等功能,我們Android組的同學負責手機端的UI設計和功能實現。
由於首次接觸Android開發,接下來我們開始各自學習android編程基礎。自己在圖書館借了一些有關Android開發的圖書,還在網上下了許多Android開發視頻。全心投入Android技術的學習之中。
初識Activity,編寫第一個android程序。學習的內容主要有:Android 基本組件(Activity、Intent、Broadcast Receiver、Adapter、Service)。Activity實際上就是表示的是一個人機的交互程序,用於存放各個顯示控件,也是
Android的基本組成,所有的Android項目都使用Java語言進行開發,所以每一個繼承了android.app.Activity的Java類都將成爲一個Activity程序,而一個Android項目將由多個Activity程序所組成,而所有的顯示組件都必須放在Activity上纔可以進行顯示。Activity類的常用方法。Android項目中的文件夾作用。Android項目中的文件作用。Android項目由若干個Activity程序所組成,每一個Activity都是一個Java類;一個Android項目中所有用到的資源都保存在res文件夾之中;Android中的組件需要在佈局管理器中進行配置,之後在Activity程序中可以使用findViewById()方法查找並進行控制;在佈局管理器中定義的每一個組件都有其對應的操作類,用戶可以直接實例化這些類的對象進行組件的定義顯示;標準的Android項目,所有的文字顯示信息應該保存在strings.xml文件中保存。
Android中的基本控件的學習。掌握文本顯示組件的配置及使用;掌握文本顯示組件的繼承結;掌握文本顯示組件的基本屬性及操作方法。TextView組件的主要功能是用於顯示文本,實際上這種控件主要就是提供了一個標籤的顯示操作。組件的常用屬性及對應方法。配置文本顯示框。設置“android:text”屬性設置文字的顯示風格(android:textStyle):正常
(normal)粗體(bold)斜體(italic)。Android中設置文字大小的定義類型。在Android中所有的組件可以設置大小,但是在設置大小的時候需要指定其單位,這些單位如下:px(pixels):像素; dip(device independent pixels):依賴於設備的像素;sp(scaled pixels —— best for text size):帶比例的像素; pt(points):點;in(inches):英尺;mm(millimeters):毫米。使用樣式表文件,在Android中爲了方便美工對組件進行修飾,也可以使用一些樣
式文件對組件顯示進行控制,用戶只需要按照如下的xml文件格式即可定義組件的顯示樣式。TextView作爲文本組件主要的功能是顯示文本數據;所有的組件可以直接通過一個樣式表文件進行屬性的配置。
ui實習週記2
本週張棟老師又啓動了一個新的項目——電子名片管理系統。該項目包括三個部分:個人APP、企業版APP和管理平臺。
該項目的開發背景是:名片是商務交往的紐帶。而製作名片的核心目的就是自我展示和業務推介,通過名片建立自己的人脈圈。
傳統的紙質名片不易傳遞,存儲和管理。
在商務場合中很多時候需要給多名客戶分發名片,而傳統的紙質名片需要準備一定的`數量和一定的時間進行分發。同時分發和接受的名片並不易存儲,極易丟失。大量的紙質名片很難對其進行管理,例如很難找到某張名片。
爲了達成以下幾個目標決定開發該應用。
1. 名片交換方便快捷:1對1名片交換更加方便
2. 多人交換一步即成:多人之間的名片交換更加方便,使用應用一
鍵可以達到目的
3. 名片信息清晰易得:對於用戶的信息可以進行實時的維護,也可
訂製自己的名片信息
4. 雲人脈圈智能可控:名片信息可同步到雲端,保留信息
項目一啓動,我們就開始進行需求分析,然後開始設計和製作原型,在大家熬夜奮戰的情況下,我們終於完成了個人APP、企業APP和平臺的原型製作。
在完成任務的同時,我還繼續深入學習Android技術,各自開始編寫一些簡單的Android應用程序。實現簡單的界面佈局功能。
學習android中各種基本組件的使用
掌握RadioGroup類和RadioButton類的使用,單選鈕在開發中提供了一種多選一的操作模式,也是經常見到的一種組件,例如:在選擇文件編碼的時候只能從多種編碼中選擇一種,或者是選擇性別的時候只能從“男”或“女”之中選擇一個,而在Android中可以使用RadioGroup來定義單選鈕組件。RadioGroup類的常用操作方法。RadioGroup提供的只是一個單選鈕的容器,只有在此容器之中配置多個按鈕組件之後纔可以使用,而要想設置單選鈕的內容,則需要使用RadioButton類。掌握RadioGroup類相當於定義了一個單選鈕的容器;RadioButton類用於定義單選鈕中的內容。
掌握CheckBox組件的使用。CheckBox的主要功能是完成複選框的操作,在用戶輸入信息的時候,可以一次性選擇多個內容,例如:用戶在選擇個人興趣愛好的時候一定會存在多個,則此時就直接使用CheckBox即可完成功能。CheckBox類的常用方法。通過程序操作複選框組件。CheckBox組件用於實現復
選框的功能。掌握下拉列表Spinner的使用;可以通過程序配置Spinner顯示內容;可以通過配置文件配置Spinner顯示內容。下拉列表框也是一種常見的圖形組件,它可以爲用戶提供列表的選則方式,與複選框或單選鈕相比還可以節省手機的屏幕空間,在Android中可以使用android.widget.Spinner類實現。Spinner類的常用方法。配置列表項:在Android中,可以直接在main.xml文件中定義“”節點,但是在定義此元素的時候卻不能直接設置其顯示的列表項,關於下拉列表框中的列表項有以下兩種方式進行配置:方式一:直接通過資源文件配置;方式二:通過android.widget.ArrayAdapter類讀取資源文件或者是指定具體設置的數據。其中,ArrayAdapter類的功能:有兩個主要功能:讀取資源文件中定義的列表項或者是通過List集合設置列表項。值得注意的是,對於下拉列表項的顯示風格一般都會將其設置爲:
“android.R.layout.simple_spinner_item”,下面分別在values文件夾之中定義兩個資源文件,用於保存所需要的下拉列表信息。使用Spinner可以完成下拉列表框的顯示功能;下拉列表框的顯示內容可以通過配置文件或程序進行填充。掌握時間選擇器的使用;可以通過程序配置顯示的時間。在Android中使用
TimePicker(時間選擇器),可以進行時間的快速調整。TimePicker的常用方法。掌握日期選擇器的配置及使用。與時間選擇器對應的還有一個日期選擇器
(DatePicker),可以完成年、月、日的設置。DatePicker類的常用方法。日期選擇器可以進行日期的配置;可以通過設置配置不同的顯示風格。
線型佈局管理器的配置;通過Activity程序進行線型佈局。佈局管理器分類:在Android中一共有以下四種佈局管理器:LinearLayout:線性佈局管理器(默認),分爲水平和垂直兩種,只能進行單行佈局;FrameLayout:所有的組件放在左上角,一個覆蓋一個;TableLayout:任意行和列的表格佈局管理器,其中TableRow代表一行,可以向行中增加組件;RelativeLayout:相對佈局管理器,更具最近一個視圖組件,或是頂層父組件來確定下一個組件的位置。廢除的佈局管理器:在Android 2.3.3版本之前還存在着一種絕對佈局管理器
(AbsoluteLayout),此佈局管理器使用X、Y軸座標的形式排列組件。線型佈局有兩種排列方式:水平和垂直可以通過LinearLayout 類定義線型佈局,而佈局參數可以使用LinearLayout.LayoutParams類完成。FrameLayout佈局(幀佈局)就是在屏幕上開闢一個區域以填充所有的組件,但是使用FrameLayout佈局會將所有的組件都放在屏幕的左上角,而且所有的組件可以層疊進行顯示。框架佈局是在一個指定的區域內使用組件進行填充;可以使用FrameLayout和
FrameLayout.LayoutParams類手工配置佈局。掌握表格佈局管理器的基本使用;掌握TableLayout和TableRow的操作關係;掌握表格佈局管理器中常見屬性的作用。TableLayout是採用表格的形式對控件的佈局進行管理的,在TableLayout佈局管理器之中,要使用TableRow進行表格行的控制,之後所有的組件要在TableRow中增加。表格佈局管理器使用TableRow控制表格行;表格佈局的幾個屬性:定義伸縮列:android:shrinkColumns="3"設置不顯示列:
android:collapseColumns="0,3"增加背景圖片:android:background="@drawable/mldn_logo"表格佈局也可以使用
Activity程序動態生成。掌握相對佈局管理器的主要特點及使用;可以使用Activity程序動態增加組件。相對佈局管理器指的是參考某一其他控件進行擺放,可以通過控制,將組件擺放在一個指定參考組件的上、下、左、右等位置,
這些可以直接通過各個組件提供的屬性完成。相對佈局管理器是以一個組件進行定位的參考;使用RelativeLayout和RelativeLayout.LayoutParams類可以在Activity程序中動態配置佈局管理器。
Android事件處理的學習。瞭解事件處理的作用,瞭解常用的事件及相關處理接口。Android程序的開發主要是藉助於Java語言,其事件的處理流程也是參考了java中的事件處理操作,在Java之中,如果要想進行圖形界面的事件處理則首先必須有一個事件源,而造成事件源產生可以有多種形式,例如:單擊按鈕或者是修改下拉列表選項,之後根據此事件源找到相應的事件處理操作類,對事件進行處理。事件處理的核心在於如下操作:註冊監聽程序;根據指定的事件編寫指定的處理程序;在事件處理類之中完成事件的處理操作。單擊事件、單選按鈕與OnCheckedChangeListener、下拉列表框與OnItemSelectedListener、監聽日期與時間的改變、焦點事件、長按事件、鍵盤事件、觸摸事件。
掌握滾動視圖:ScrollView,列表顯示:ListView,對話框:Dialog,隨筆提示文本:AutoCompleteTextView,拖動條:SeekBar,評分組件:RatingBar,信息提示框:Toast,圖片切換:ImageSwitcher,文本切換:TextSwitcher,拖拉圖片:Gallery,網格視圖:GridView,時鐘組件:AnalogClock與DigitalClock,計時器:Chronometer,標籤:TabHost,菜單:Menu,隱式抽屜組件:SlidingDrawer,縮放控制:ZoomControls,彈出窗口:PopupWindow,樹型組件:
ExpandableListView。
ui實習週記3
本週開始編寫電子名片管理系統項目規格說明書。接着又和同學們一起分析和設計數據庫。在這期間,我不僅學會了分析問題、撰寫文檔的能力,還學會了許多以前沒有使用過得軟件。當然在確保完成任務的同時,我還不忘繼續學習Android開發技術。
本週還學習了Android提供的數據的存儲方式:在Android中一共提供了五種數據存儲:SharedPreferences存儲;文件存儲;SQLite數據庫存儲;ContentProvider存儲;網絡存儲。SharedPreferences提供了一些基礎的信息保存功能,所有的信息都是按照“key=value”的形式進行保存的,但是android.content.SharedPreferences接口所保存的信息只能是一些基本的數據類型,例如:字符串、整型、布爾型等。SharedPreferences可以實現簡單的數據存儲功能實現,可以利用super.getSharedPreferences()方法取得實例。
使用SharedPreferences可以方便的完成數據的存儲功能,但是其只能保存一些很簡單的數據,如果想存儲更多類型的數據,則可以使用文件的存儲操作,如果要想操作文件,則需要Activity類的支持。利用IO流操作文件,考慮到用戶要自定義保存目錄,以及在“sdcard”上操作,所以本程序不太適合直接使用Activity類提供的文件操作方法,用戶可以直接使用最傳統的IO流完成。使用IO流完成了文件的保存,但是卻存在一個最大的問題,因爲現在文件的路徑採用的是硬編碼的方式設置,那麼就有可能因爲sdcard不存在而出現錯誤,即:最好的做法就是判斷sdcard是否存在,如果存在則保存,如果不存在則提示用
戶“sdcard”不存在,無法保存,而要想完成這個判斷的功能就必須通過android.os.Environment類取得目錄的信息。DOM操作:使用文件保存數據固然很方便,但是如果現在數據較多的話,則管理起來就不方便了,所以在使用文件保存時,也往往會採用XML文件形式進行數據的保存,而一旦使用XML操作,那麼就肯定需要對XML文件進行解析,而DOM解析就是最常用的一種。 SAX操作:雖然DOM操作使用廣泛,但是並不適合於使用DOM進行大數據文件的操作,而這個時候就可以使用SAX解析方式進行XML文件的讀取。使用XMLPull解析:DOM和SAX在使用上各有特點,但是使用起來也都很不方便,而開發過Java EE程序的讀者應該很清楚,在日常的工作之中往往會用多種開源組件(JDOM、DOM4J)來完成XML解析的操作,但是在Android操作系統之中又提供了一種pull解析的方式。在Android中如果要完成PULL解析處理需要org.xmlpull.v1.XmlPullParserFactory類和org.xmlpull.v1.XmlPullParser接口的支持,XmlPullParserFactory類的主要功能是可以通過裏面提供的newPullParser()方法取得一個XmlPullParser接口的對象 。以上的程序使用了Pull解析方式完成了XML文檔的解析操作,但是Android中的Pull解析方式也可以同樣完成XML文檔的輸出功能,而這個時候就可以利用org.xmlpull.v1.XmlSerializer接口完成,此接口主要功能是可以通過程序控制XML文件中的元素、屬性、文字的關係結構 。JSON數據解析:JSON採用完全獨立於語言平臺的文本格式(這一點與XML作用類似),使用JSON可以將對象中表示的一組數據轉換爲字符串,然後可以在各個應用程序之間傳遞這些字符串,或者在異步系統中進行服務器和客戶端之間的數據傳遞。 JSON操作本身有其自己的數據格式,這些數據格式,用戶可以自己使用字符串拼湊,也可以直接利用JSON給出的操作類完成,而在Android系統之中,JSON操作所需要的數據包已經默認集成了,所以用戶不再需要任何導包的操作,即可進行開發使用文件存儲可以保存更加豐富的數據;在Android之中可以使用XML的DOM和SAX解析方式進行文件操作;在Android之中提供了PULL解析用於完成XML解析;JSON可以進行簡便的信息傳送,性能更高;可以將要讀取的文件配置到項目的res文件目錄之中,這樣可以採用Resource直接進行資源文件的讀取。
瞭解SQLite數據庫的基本作用;掌握數據庫操作輔助類:SQLiteDatabase的使用;可以使用命令操作SQLite數據庫;可以完成數據庫的CRUD操作;掌握數據庫查詢及Cursor接口的使用。SQLite是一個輕量級的、嵌入式的、關係型數據庫,是遵守ACID的關聯式數據庫管理系統,其主要的是針對於嵌入式設備專門設計的數據庫,由於其本身佔用的存儲空間較小,所以目前已經在Android操作系統之中廣泛的使用着,而且在SQLite數據庫之中可以方便的使用SQL語句實現數據的增加、修改、刪除、查詢等操作,最新版本的SQLite數據庫爲SQLite
3。 在Android系統之中,一個android.database.sqlite.SQLiteDatabase類的實例都代表了一個SQLite數據庫的操作,通過SQLiteDatabase類可以執行SQL語句,以完成對數據表的增加、修改、刪除、查詢等操作,在此類之中定義了基本的數據庫執行SQL語句的操作方法以及一些操作的模式常量。SQLite數據庫是一個專門用於嵌入式設備的數據庫;SQLite支持SQL語句的操作;可以使用SQLiteOpenHelper類完成數據庫的操作;所有的查詢數據使用Cursor進行接收。