freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程畢業(yè)設(shè)計(jì)-基于android手機(jī)輔助系統(tǒng)-閱讀頁

2024-12-23 17:02本頁面
  

【正文】 保存的亮度因數(shù) 恢復(fù)屏幕亮度 手機(jī)照明 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 15 第四章 系統(tǒng)實(shí)現(xiàn) 此系統(tǒng)分為四個(gè)模塊分別進(jìn)行實(shí)現(xiàn),這些模塊既相互獨(dú)立,又相互聯(lián)系。下面分別介紹 各模塊的 實(shí)現(xiàn)代碼及效果圖。此界面采用 GridView 布局,使界面簡(jiǎn)潔大方,一目了然,充分體現(xiàn)人性化 設(shè)計(jì)理念。 /*使用 每個(gè) item的 Layout*/ View v=(View)(, null)。 TextView tv=(TextView)()。 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 16 (_items[position])。 } 建立主界面的布局, 采用相對(duì)布局( RelativeLayout),在其中包含一個(gè)GridView, 設(shè)置每行顯示的數(shù)量為 3: ?xml version= encoding=utf8? RelativeLayout xmlns: …… android:background=drawable/aabackground0 GridView android:id=+id/GridView_aa …… android:numColumns=3!顯示 3列 / /RelativeLayout 將做好的圖標(biāo)存到工程文件夾下的 res/drowable 中,聲明圖標(biāo)數(shù)組和相對(duì)應(yīng)的字符數(shù)組: //定義 GridView的圖標(biāo) private int[] icons={ , , , }。 將適配器與圖標(biāo) 和 文字進(jìn)行連接 gv=(GridView)findViewById()。 (gv_adapter)。 switch(position){ case 0://進(jìn)入短信群發(fā) (,)。 break。 startActivity(intent)。 case 2://進(jìn)入通信管家 (,)。 break。 startActivity(intent)。 default: break。 先聲明一個(gè) MENU 菜單: public boolean onCreateOptionsMenu(Menu menu) { // TODO 等待其他選項(xiàng)加入 (0, 0, 0, )。 } 建立點(diǎn)擊事件,每個(gè)點(diǎn)擊對(duì)象都有一個(gè) ID,在此只建立一個(gè) MENU 對(duì)象,當(dāng)點(diǎn)擊后打開關(guān)于對(duì)話窗口: public boolean onOptionsItemSelected(MenuItem item) { // TODO 等待其他選項(xiàng)動(dòng)作加入 (item)。//在此調(diào)用 “ 關(guān)于 ” 對(duì)話窗口 break。 } 對(duì)話窗口的實(shí)現(xiàn)很簡(jiǎn)單,實(shí)例化一個(gè) AlertDialog 對(duì)象 即可: private void helpDialog(){ new (this) .setTitle() .setMessage() .setPositiveButton(, 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 19 new (){ public void onClick(DialogInterface arg0, int arg1) { } }).show()。當(dāng)然,目前只有中文,可根據(jù)需要,只 要 將該文件里的中文翻譯為其他語言即可 更改為 另一個(gè)語言版本的軟件 。此部分的主要功能是群發(fā)短信并可由用戶自定義是否發(fā)送稱謂,也可選擇定時(shí)發(fā)送,可實(shí)現(xiàn)定時(shí)發(fā)送與即時(shí)發(fā)送互不影響。 短信群發(fā)的主界面 此功能模塊界面實(shí)現(xiàn)的主要難 點(diǎn)在于 listview 的重寫方法, listview 是以可 滾動(dòng)列表的形式顯示固定格式的內(nèi)容,在此模塊中,用以顯示已選好的聯(lián)系人姓名。之所以采用這種布局,是為了符合各個(gè)屏幕的分辨率,不會(huì)因?yàn)槠聊坏拇笮《蛊鋬?nèi)容的位置改變,符合大眾化的需求。與之前的適配器建立步驟一樣,首先建立適配器布局文件,名為 ,同樣采用相對(duì)布局,格式為并列的兩個(gè) TextView: RelativeLayout …… 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 21 TextView android:id=+id/txt_smss_name …… android:layout_alignParentLeft=true / TextView android:id=+id/txt_smss_report …… android:layout_alignParentRight=true / /RelativeLayout 下面就要定義適配器, 繼承系統(tǒng)的 SimpleAdapter 類,引用 上面 提到的布局格式 , 代碼寫 在 文件中 : public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = (, null)。 ((String) (position).get(SELECTED_NAME))。 ((String) (position).get(SEND_REPORT))。 } 此時(shí)短信群發(fā)界面的已選擇聯(lián)系人列表建立完成了,這個(gè) ListView 中的內(nèi)容就是從選擇聯(lián)系人界面選擇的聯(lián)系人姓名。 …… protected void onActivityResult(int requestCode, int resultCode, Intent data) { (requestCode, resultCode, data)。 switch(resultCode){ case RESULT_OK: …… default: break。 phone=(str_phone)。//節(jié)省資源開銷 ()。 定義哈希 map,此格式變量以鍵值對(duì)的形式存儲(chǔ)內(nèi)容,下面用循環(huán)的方式分別將選出的聯(lián)系人姓名添加到 al1 中: for(int i=0。i++){ //顯示選擇的聯(lián)系人姓名于列表 ListView中 MapString, String map = new HashMapString, String()。 (map)。 int[] to = { , }。 (mSmssAdapter)。 這樣就把所選的內(nèi)容逐條顯示在 listview 中了。 左圖為 未 選擇聯(lián)系人 界面 ,右圖為選擇聯(lián)系人返回后的界面 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 23 首先實(shí)現(xiàn)進(jìn)入選擇聯(lián)系人頁面,在 androidSDK 中 要使 一個(gè) Activity 啟動(dòng)另一個(gè) Activity 的就是利用 intent 方法 ,格式如下: Intent intent=new Intent()。 startActivityForResult(intent,0)。 當(dāng)點(diǎn)擊“選擇聯(lián)系人”后,系統(tǒng)就會(huì)讀取聯(lián)系人數(shù)據(jù),然后將聯(lián)系人顯示與 listview 中,在這個(gè)過程中,系統(tǒng)會(huì)出現(xiàn)“假死”狀態(tài),所以,應(yīng)在這期間設(shè)置 一個(gè) dialog 窗口,用來提示用戶正在讀取數(shù)據(jù),而不是 死機(jī)現(xiàn)象,這樣更體現(xiàn)出人性化的設(shè)計(jì)思想理念。 final CharSequence strDialogBody=getString()。 在顯示 dialog 后,啟動(dòng)一個(gè)線程來調(diào)用選擇聯(lián)系人的 Activity,當(dāng)完成對(duì)選擇聯(lián)系人窗口的啟動(dòng)后, dialog 銷毀,代碼如下 : …… new Thread(new Runnable(){ public void run() { //new一個(gè) Intent對(duì)象,并制定 class Intent intent=new Intent()。 startActivityForResult(intent,0)。 } }).start()。 while (()) { MapString, String map = new HashMapString, String()。 String name = (nameFieldColumnIndex)。 在 android2 系列以后,每個(gè)聯(lián)系人的電話可存放多個(gè),所以要再定義一個(gè)游標(biāo)來循環(huán)讀取電話號(hào)碼: Cursor phone = (, null, + = + contactId, null, null)。 // 取得電話號(hào)碼 (可能存在多個(gè)號(hào)碼 ),在此處無用 while (()) { String strPhoneNumber = 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 25 ((.))。 } (map)。 //關(guān)閉游標(biāo) } ()。 而為了使 checkbox 可選,可在 listview 的點(diǎn)擊事件中用代碼實(shí) 現(xiàn): 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 26 public void onItemClick(AdapterView? parent, View view, int position, long id) { CheckBox checkBox = (CheckBox)()。//切換狀態(tài) (position, ())。 }else{ checked_count=1。 }else{ (true)。因?yàn)榇薃ctivity是用 startActivityForResult函數(shù)調(diào)出的,要傳回?cái)?shù)據(jù)到主 Activity,需要 將數(shù)據(jù)分別存放到名為“ str_name”和“ str_phone”的 Extra 空間變量中,用 如下代碼實(shí)現(xiàn): Uri uri = (back info)。 ()。 (str_name, str_name)。 setResult(, data)。 最終運(yùn)行效果圖如圖 所示: 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 27 圖 ,左圖為為選擇時(shí) 效果 ,右圖為選擇后的 效果 當(dāng)點(diǎn)擊添加按鈕后,頁面返回短信群發(fā)主頁面,效果如 ,在此不必重復(fù)貼圖。 聯(lián)系人稱謂的刪除和修改 選擇好聯(lián)系人以后,就可以根據(jù)聯(lián)系人列表逐條發(fā)送短信了,用戶可選擇在短信內(nèi)容中插入聯(lián)系人稱謂,稱謂默認(rèn)是系統(tǒng)中的姓名,若用戶對(duì)稱謂不滿意,可長(zhǎng)按其對(duì)應(yīng)的列表項(xiàng),則會(huì)彈出修改和刪除的對(duì)話框。 String[] menu={getString(), getString(), getString()}。 return false。 case 1://選擇 item為從列表中刪除 …… break。 default: …… break。同時(shí)將內(nèi)容更新到 al1中, 然后用 notifyDataSetChanged()方法 對(duì)列表 的 顯示進(jìn)行更新,需要注意的是,若修改后的成為為空,則不作處理,仍為原來的稱謂, 代碼如下: /* create更改稱謂時(shí)彈出的 Dialog */ LayoutInflater factory = ()。 myView=(,null)。 ((i))。//更改稱謂(發(fā)送信息時(shí)以name phone為準(zhǔn)) // 更新列表 MapString, String map = new HashMapString, String()。 SmssAdapter newsmssAdapter=(SmssAdapter)()。 ()。 (myView)。//確定 (getString(),//取消 new () { public void onClick(DialogInterface dialog, int which) { } })。 修改稱謂窗口效果如圖 所示: 青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì)) 方萌 30 圖 ccc為 abc,左圖為修改窗口,右圖為修改結(jié)果 移除選出列表里某個(gè)聯(lián)系人的原理同上,當(dāng)在列表 dialog 中點(diǎn)擊第二項(xiàng)時(shí),即移除了相應(yīng)的所選擇的聯(lián)系人,內(nèi)容和列表顯示的值都修改后,對(duì) listview進(jìn)行刷新,即調(diào)用 notifyDataSetChanged()方法: (i)。//同時(shí)移除 phone,否則名稱和號(hào)碼無法對(duì)應(yīng) SmssAdapter newsmssAdapter=(SmssAdapter)()。 if(()==0){//name和 phone沒有徹底變?yōu)?null,而是成了 “[]”,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1