移動互聯(lián)網(wǎng)設備開發(fā)實訓報告00_第1頁
移動互聯(lián)網(wǎng)設備開發(fā)實訓報告00_第2頁
移動互聯(lián)網(wǎng)設備開發(fā)實訓報告00_第3頁
移動互聯(lián)網(wǎng)設備開發(fā)實訓報告00_第4頁
移動互聯(lián)網(wǎng)設備開發(fā)實訓報告00_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、移動互聯(lián)網(wǎng)設備開發(fā)實訓報告2016.9.12-9.30 網(wǎng)絡2013-1余向飛、劉鑫實習日期: 專業(yè)班級: 姓 名: 學 號: 指導教師: 成 績:13033011移動互聯(lián)網(wǎng)設備開發(fā)實訓成績評定表姓名王寶鑫專業(yè)班級網(wǎng)絡2013-1學號130330118學歷學制四年制本科題目安卓手機通訊錄實訓時間2016年 9月12日 至 2016年 9月30日實訓地點網(wǎng)絡實驗室指導教師余向飛、劉鑫指導教加i評語:指導教師簽字:年 月 日成績評定 (按大綱規(guī)定)平時(20%)(出勤、表現(xiàn))階段成果(20%)第一階段第二階段設計成果(35%)答辯(25%)總成績報告內(nèi)容設 計 題 目手機通訊錄實由于該androi

2、d通訊錄世個基于Java語百開發(fā)軟件,所以選擇了驗Eclipse作為開發(fā)平臺,作為插件,它能夠安裝 Android SDK從而可以安裝使用Android虛擬機,使得程序得以開發(fā),亦更為方便。本通訊錄環(huán)境系統(tǒng)就是在Eclipse+Android 平臺環(huán)境下編寫設計而成的。實 驗 目 的隨著4G網(wǎng)絡的使用,移動終端不再僅是通訊網(wǎng)絡的終端,還將成為互 聯(lián)網(wǎng)的終端。手機通訊錄作為手機的基本功能之一,每天我們都在頻繁 地使用著。根據(jù)手機功能使用調(diào)查顯示,有 9成以上的消費者使用手機 通訊錄功能。隨著手機通訊錄功能的不斷加強與完善,手機通訊錄對于 人們的意義,已不僅僅像記事簿一樣顯示通訊地址,而是向著個性

3、化、 人性化的方向發(fā)展。通訊錄從無到有,從英文到中文,經(jīng)過了十幾年的 發(fā)展歷程,今后的發(fā)展趨勢就是從通訊錄發(fā)展為名片夾,也就是在一個 人各下,可以存儲座機、手機、單位、地址、電子郵件等內(nèi)容。這種名 片夾在電話薄的基礎上,大大豐富了內(nèi)容,同時結構也發(fā)生了革命性變 化,而且隨著手機的發(fā)展,相信更優(yōu)秀的通訊錄會越來越受到社會各層 人士的喜愛。題目分析根據(jù)手機功能使用調(diào)查顯示,近10成的消費者都會使用手機通訊錄功能。隨著手機通訊錄功能的不斷加強與完善,手機通訊錄對于人們的意義,已不僅僅像記事簿一樣顯示電話號碼,而是向著個性化、人性化的方向發(fā)展。通訊錄從無到 有,從英文到中文,經(jīng)過了十幾年的發(fā)展歷程,今

4、后的發(fā)展趨勢就是從通訊錄發(fā) 展為名片夾,也就是在一個人名下,可以手機號碼、QQ地址、電子郵件,備注等內(nèi)容。該系統(tǒng)針對的主要用戶是 Android手機用戶。Android手機通信管理系 統(tǒng)包括以下主要內(nèi)容:添加聯(lián)系人、刪除聯(lián)系人、編輯聯(lián)系人、查找聯(lián)系人、打 電話、發(fā)短信。要設計一個良好的手機通訊錄,就必須首先明確該應用環(huán)境對系 統(tǒng)的要求。Android手機通訊錄應用背景:方便用戶快捷通訊實驗內(nèi)容(程序主要代碼清單及實驗結果截圖)一.實驗設計.UI設計我們用一個ListView 來顯示整個通訊錄,其中用TextView顯示每一記錄,他 們的xml文件分別為:main.xml(通訊錄主界面),add

5、res.xml(添加聯(lián)系人界面), list_item,xml( 瀏覽聯(lián)系人界面),巾nd.xml(查找聯(lián)系人界面)。.數(shù)據(jù)庫的設計Android 中的 android.database.sqlite.SQLiteOpenHelper類是一個專門用于數(shù)據(jù)庫創(chuàng)建和版本管理的輔助類。因此,為了更好的管理數(shù)據(jù)庫,這里 我們創(chuàng)建一個繼承自SQLiteOpenHelper的輔助類DBHelper來維護和更新數(shù).功能的設計為了在主界面中瀏覽聯(lián)系人的信息,并且創(chuàng)建主要菜單欄,我們設計了 MainActivity 類,主要用于顯示聯(lián)系人信息和菜單欄,通過菜單欄,實現(xiàn)通 訊錄的相關功能。AddressBook類

6、主要是為了實現(xiàn)聯(lián)系人的添加功能,并且實 現(xiàn)信息的保存后跳轉(zhuǎn)到主界面。Findactivity類主要是為了實現(xiàn)聯(lián)系人的查找功能,輸入聯(lián)系人的姓名,點擊查找按鈕,顯示所查聯(lián)系人的相關信息。二.程序主要代碼清單定義數(shù)據(jù)public classContactColumn implements BaseColumnspublic ContactColumn()/列名public staticfinal String NAME = name;姓名public staticfinal String MOBILENUM = mobileNumber; /移動電話public staticfinal Strin

7、g HOMENUM = homeNumber;家庭電話public staticfinal String ADDRESS = address;地址publicstaticfinal String EMAIL = email郵箱public staticfinal String BLOG = blog;博客列索引值public staticfinal int _ID_COLUMN = 0;public staticfinal int NAME_COLUMN = 1;public staticfinal int MOBILENUM_COLUMN = 2;public staticfinal int

8、 HOMENUM_COLUMN = 3;public staticfinal int ADDRESS_COLUMN = 4;public staticfinal int EMAIL_COLUMN = 5;public staticfinal int BLOG_COLUMN = 6;查詢結果public staticfinal String PROJECTION =_ID,NAME,MOBILENUM ,HOMENUM,ADDRESS,EMAIL,BLOG,;public classDBHelper extends SQLiteOpenHelperpublic staticfinal Strin

9、g DATABASE_NAME = mycontacts.db;數(shù)據(jù)庫名版本public staticfinal int DATABASE_VERSION = 2;public staticfinal String CONTACTS_TABLE = contacts; 表名創(chuàng)建表private static final String DATABASE_CREATE=CREATE TABLE + CONTACTS_TABLE+(+ ContactColumn._ID+ integer primary key autoincrement,+ ContactColumn.NAME+ text,+ C

10、ontactColumn.MOBILENUM + text,+ ContactColumn. HOMENUM + text,+ ContactColumn.ADDRESS+ text,+ ContactColumn. EMAIL + text,+ ContactColumn. BLOG+ text);public DBHelper(Context context)super(context, DATABASE_NAME null, DATABASE_VERSION);public void onCreate(SQLiteDatabase db)db.execSQL(DATABASE_CREAT

11、E(;publicvoid onUpgrade(SQLiteDatabase db,i nt oldVersion, int newVersion)(db.execSQL(DROP TABLE IF EXISTS + CONTACTS_TABLE);onCreate(db);)/ URI類型轉(zhuǎn)換public String getType(Uri uri)(switch (uriMatcher .match(uri)(caseCONTACTSreturn vnd.android.cursor.dir/vnd.yarin.android.mycontacts;caseCONTACT_ID:retu

12、rn vnd.android.cursor.item/vnd.yarin.android.mycontacts;default:throw new IllegalArgumentException( Unsupported URI: + uri);)/刪除指定數(shù)據(jù)列Overridepublic int delete(Uri uri, String where, String selectionArgs) (int count;switch (uriMatcher.match(uri)(caseCONTACTScount = contactsDB.delete(CONTACTS_TABLE wh

13、ere, selectionArgs);break;caseCONTACT_ID:String contactID = uri.getPathSegments().get(1);count = contactsDB.delete(CONTACTS_TABLEContactColumn._ID+ = + contactID+ (!TextUtils. isEmpty(where) ? AND ( + where + ):), selectionArgs);break;default:throw new IllegalArgumentException( Unsupported URI: + ur

14、i);)getContext().getContentResolver().notifyChange(uri, null);return count;)/插入數(shù)據(jù)public Uri insert(Uri uri, Contentvalues initialvalues)(if (uriMatcher .match(uri) != CONTACTS)(throw new IllegalArgumentException( Unknown URI + uri);ContentValues values;if (initialValues != null)(values = new Content

15、Values(initialValues);Log.e(TAG + insert, initialValues is not null);else(values = new ContentValues();/設置默認值if (values.containsKey(ContactColumn.NAME) = fals(values.put(ContactColumn.NAME, );if (values.containsKey(ContactColumn.MOBILENUM ) = false)(values.put(ContactColumn.MOBILENUM ,);if (values.c

16、ontainsKey(ContactColumn. HOMENUM ) = fals(values.put(ContactColumn.HOMENUM ,);if (values.containsKey(ContactColumn.ADDRESS) = false)(values.put(ContactColumn.ADDRESS, );if (values.containsKey(ContactColumn. EMAIL) = false)(values.put(ContactColumn.EMAIL, );if (values.containsKey(ContactColumn. BLOG

17、) = fals(values.put(ContactColumn.BLOG, );Log.e(TAG + insert, values.toString();long rowId = contactsDB.insert(CONTACTS_TABLE null, values);if (rowId 0)(Uri noteUri = ContentUris. withAppendedId(CONTENT_URI, rowId);getContext().getContentResolver().notifyChange(noteUri, null);Log. e(TAG + insert, no

18、teUri.toString();return noteUri;throw new SQLException( Failed to insert row into + uri);/更新數(shù)據(jù)庫public int update(Uri uri, ContentValues values, String where, String selectionArgs)(int count;Log.e(TAG + update, values.toString();Log.e(TAG + update, uri.toString();Log.e(TAG + update :match, + uriMatch

19、er.match(uri);switch (uriMatcher.match(uri) (caseCONTACTSLog.e(TAG + update, CONTACTS + );count = contactsDB.update(CONTACTS_TABLE values, where, selectionArgs);break;caseCONTACT_ID:String contactID = uri.getPathSegments().get(1);Log.e(TAG + update, contactID + );count = contactsDB.update(CONTACTS_T

20、ABLE values, ContactColumn._ID + = + contactID+ (!TextUtils. isEmpty(where) ? AND ( + where + ) : ), selectionArgs);break;default:throw new IllegalArgumentException( Unsupported URI: + uri);getContext().getContentResolver().notifyChange(uri, null);return count;public boolean onPrepareOptionsMenu(Men

21、u menu)(super.onPrepareOptionsMenu(menu);final boolean haveItems = getListAdapter().getCount() 0;if (haveItems) (Uri uri = ContentUris. withAppendedId(getIntent().getData(), getSelectedItemId();Intent specifics = new Intent2;specifics0 = new Intent(Intent. ACTION_EDIT, uri);specifics1 = new Intent(I

22、ntent. ACTION_VIEW, uri);MenuItem items = new MenuItem2;添加滿足條件的菜單Intent intent = new Intent( null, uri);intent.addCategory(Intent.CATEGORY_ALTERNATIV0;menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0, null, specifics, intent, 0, items);if (items0 != null)編輯聯(lián)系人items0.setShortcutC1, e).setIcon(R.drawable.edituser).setTitle(R.string. editor_user);if (items1 != null)查看聯(lián)系人items1.setShortcutf2, f).setTi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論