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

正文內(nèi)容

基于android操作系統(tǒng)的軟件開發(fā)-資料下載頁

2024-12-06 02:31本頁面

【導(dǎo)讀】述了Android系統(tǒng)開發(fā)的流程,并搭建了Android系統(tǒng)的開發(fā)平臺(tái):androidSDK和ADT。開發(fā),并著重論述了UI的設(shè)計(jì)和實(shí)現(xiàn)。在客戶端開發(fā)的基礎(chǔ)上又實(shí)現(xiàn)了微博服務(wù)端。API的OAuth認(rèn)證,使客戶端可以投入使用。KeyWords:Android;AndroidKernel;UI;OAuth;AndroidSDK;Android

  

【正文】 讓用戶添加賬號(hào),如果不為空那么通過 SharedPreferences 去讀取用戶上一次選擇的賬號(hào)名稱,如果沒有或者數(shù)據(jù)庫里賬號(hào)記錄不包括這個(gè)賬戶名稱那么默認(rèn)顯示記錄的第一個(gè)賬號(hào)和頭像,如果有那么顯示這個(gè)賬戶的名稱和頭像。關(guān)于 SharedPreferences,是 android 提供給開發(fā)者用來存儲(chǔ)一些簡單的數(shù)據(jù)用的,非常方便類似于網(wǎng)站的 Cookie,在這 里我就是用這個(gè)來保存上一次用戶選擇的是哪個(gè)賬號(hào),非常實(shí)用。 接下類首先為 Id 為 list 的 ListView 控件準(zhǔn)備數(shù)據(jù) Adapter,這個(gè) Adapter 非常簡單就是普通的 adapter 繼承 BaseAdapter 即可 。 接下就是為這個(gè) ListView設(shè)定數(shù)據(jù)源 Adapter,在賬號(hào)選擇窗口顯示的時(shí)候進(jìn)行設(shè)置,添加到 id 為 iconSelectBtn 的 ImageButton 的 OnClickListener 中 。 通過上面代碼完成了賬號(hào)選擇的功能,接下來給 id 為 login 的 ImageButton 添加OnClickListener,使得點(diǎn)擊后以當(dāng)前選擇賬號(hào)進(jìn)入微博首頁 , 在上面的 GoHome 方法中 是類型為 UserInfo 的 static 類型用來保存當(dāng)前登錄賬號(hào)的信息,替代 web 中 session 使用 。 最后添加如下方法,用來當(dāng)這個(gè)登錄 LoginActivity 結(jié)束的時(shí)候保存當(dāng)前選擇的賬戶名稱到 SharedPreferences 中,以便幫用戶記住登錄賬號(hào)的功能,就是前面的 initUser() 初始賬號(hào)的方法中會(huì)獲取保存在 SharedPreferences 中的賬戶名稱代碼如下: @Override protected void onStop() { //獲得 SharedPreferences 對(duì)象 SharedPreferences MyPreferences = getSharedPreferences(Select_Name, PRIVATE)。 //獲得 對(duì)象 editor = ()。 //保存組件中的值 基于 Android手機(jī)操作系統(tǒng)軟件開發(fā) 25 (name, ().toString())。 ()。 ()。 } 用戶首頁面 用戶首頁面 UI 篇 圖 37 用戶首頁 在前篇完成了用戶登錄功能后開始用戶首頁的開發(fā),用戶的首頁主要的內(nèi)容是當(dāng)前登錄用戶關(guān)注的微博列表,本篇先來講講 UI 的實(shí)現(xiàn),效果如上圖,整個(gè)頁面分為上、中、下三部分,上面部分是工具條,顯示當(dāng)前登錄用戶的昵稱以及寫微博、刷新兩個(gè)功能按鈕;中間部分是當(dāng)前用戶關(guān)注的最新微博列表,下面部分是功能切換欄,用來進(jìn)行各個(gè)功能之間的切換。 首先新建名為 的 Activity 作為用戶首頁,然后在 res/layout 目錄下新建名為 的 Layout。 這個(gè)布局首先是一個(gè)豎直的根 LinearLayout,在這個(gè)根 LinearLayout 里面分別是兩個(gè)RelativeLayout, 第一個(gè) RelativeLayout 用來顯示頁面的工具條,第二個(gè) RelativeLayout 用基于 Android手機(jī)操作系統(tǒng)軟件開發(fā) 26 來顯示列表以及底部的功能欄,特別主要在這第二個(gè) RelativeLayout 中有一個(gè) id 為loadingLayout 的 LinearLayout 是用來顯示數(shù)據(jù)載入中的動(dòng)畫,它的 android:visibility 屬性為invisible(也可以設(shè)置成 gone,區(qū)別: invisible 這個(gè) View 在 ViewGroupt 中仍保留它的位置,不重新 layout gone不可見,但這個(gè) View 在 ViewGroupt 中不保留位置,重新 layout,那后面的 view 就會(huì)取代他的位置。 ),也就是一開始不顯示的意思,接下來看看 ProgressBar android:id=@+id/loading android:layout_width=31px android:layout_height=31px android:layout_gravity=center style=@style/progressStyle /ProgressBar 這個(gè) ProgressBar 控件就是用來顯示動(dòng)畫用的,關(guān)鍵就是 style=@style/progressStyle,在 res/values 目錄下新建名為 ,內(nèi)容如下: ?xml version= encoding=UTF8? resources style name=progressStyle width=38 height=38 parent=@android:style/ item name=android:indeterminateDrawable@anim/loading/item /style /resources 接著準(zhǔn)備好 , 八張不同的小圖片分別代表每旋轉(zhuǎn) 45 度圖片,八張剛好是 360 度。把這些圖片添加到 res/drawablemdpi 目錄中。然后在 res/anim 目錄下新建名為 動(dòng)畫文件,內(nèi)容如下: ?xml version= encoding=UTF8? animationlist android:oneshot=false xmlns:android= item android:duration=200 android:drawable=@drawable/r1 / item android:duration=200 android:drawable=@drawable/r2 / item android:duration=200 android:drawable=@drawable/r3 / item android:duration=200 android:drawable=@drawable/r4 / item android:duration=200 android:drawable=@drawable/r5 / 基于 Android手機(jī)操作系統(tǒng)軟件開發(fā) 27 item android:duration=200 android:drawable=@drawable/r6 / item android:duration=200 android:drawable=@drawable/r7 / item android:duration=200 android:drawable=@drawable/r8 / /animationlist 用戶首頁面功能篇 本篇接下來講功能部分的實(shí)現(xiàn),本頁面主要的功能就用戶關(guān)注的最新微博列表,從上一篇中知道本列表是用 ID 為 Msglist 的 ListView 控件來實(shí)現(xiàn),本篇的主要就講解如果獲取微博列表數(shù)據(jù)給這個(gè) ListView 提供顯示數(shù)據(jù)。 ListView 每一條子數(shù)據(jù)分別由用戶頭像、用戶昵稱、發(fā)布時(shí)間、是否包含照片、微博內(nèi)容這五部分組成,根據(jù)這五部分定義一個(gè)名為 實(shí)體類 。 然后在 res/layout 目錄下新建名為 的 Layout 用來控制ListView 子項(xiàng)的顯示部件,接下來為列表控件定義一個(gè)數(shù)據(jù) Adapter,這個(gè) Adapter 實(shí)現(xiàn)沒有什么特別的很普通,不過這個(gè)中使用了 AsyncImageLoader 的方法,這個(gè)是用來實(shí)現(xiàn)用戶頭像圖標(biāo)的異步載入顯示,這樣能提高列表顯示的速度,提高用戶體驗(yàn), 完成上述的工作后,接下來就是顯示微薄列表, 在 HomeActivity 的 onCreate 方法中調(diào)用 loadList()。上面的loadList() 方法通過新浪 Api 接口 獲取 當(dāng)前登錄用戶及其所關(guān)注用戶的最新微博消息,然后顯示到列表中。 閱讀微博 閱讀微博 UI 篇 圖 38 閱讀微博 基于 Android手機(jī)操作系統(tǒng)軟件開發(fā) 28 上一篇完成了微博列表的功能,本篇接著做預(yù)讀微博的功能,本篇主要講講 UI 部分的實(shí)現(xiàn),最 終實(shí)現(xiàn)的效果如上圖所示。整個(gè)顯示頁面從上往下分為四部分,第一部分頂部工具條、第二部分作者頭像和名稱、第三部分微博正文、第四部分功能按鈕區(qū)。 新建名為 作為閱讀微博的頁面,再 res/layout 目錄下新建名為 ml 的 Layout, 上面這個(gè)布局實(shí)現(xiàn)起來并不復(fù)雜, 主要看看功能按鈕區(qū)的 4 個(gè)按鈕的點(diǎn)擊上去的切換背景的效果,以關(guān)注按鈕為例子看這行設(shè)置, android:background=@drawable/lt_selector,在 res/drawablemdpi 目 錄下新建名為 用來實(shí)現(xiàn)點(diǎn)擊上去切換圖片的效果, 本篇雖然看 layout 文件非常的長,其實(shí)仔細(xì)看看非常的簡單了沒有什么難和復(fù)雜的了,就是按照前面的經(jīng)驗(yàn)控制好圖片以及控件的顯示位置和樣式即可,本篇中用了一個(gè) ScrollView 控件這個(gè)是前面沒有用到過的,主要是用來當(dāng)微博的內(nèi)容超出顯示區(qū)域的時(shí)候出現(xiàn)滾動(dòng)條用的這個(gè)非常容易使用 閱讀微博功能篇 在上面一篇中已經(jīng)實(shí)現(xiàn)了預(yù)讀微博的 UI 界面,效果如上圖,接下來完成功能部分的代碼,當(dāng)用戶在上一個(gè)列表界面的列表中點(diǎn)擊某一條微博的時(shí)候顯示這個(gè)閱讀微博的界面,在這個(gè)界面中根據(jù)傳來的微博 ID,然后根據(jù)這個(gè) ID 通過 api 獲取微博的具體內(nèi)容進(jìn)行顯示。 接下來就是 view 方法具體獲取微博內(nèi)容的方法,在這個(gè)方法中如果獲取的本條微博如果包含圖片那么就用前面 AsyncImageLoader 的方法異步載入圖片并且進(jìn)行顯示,同時(shí)在這個(gè)方法中還要獲取本條微博被轉(zhuǎn)發(fā)的次數(shù)以及評(píng)論的次數(shù), 在上面的 方法中對(duì)于微博中包含的圖片顯示尺寸進(jìn)行了特別的處理,如果直接把獲取的圖片顯示在 ImageView 中,因?yàn)楫?dāng)圖片寬高超過手機(jī)屏幕的時(shí)候,系統(tǒng)會(huì)自動(dòng)按照手機(jī)的屏幕按比例縮放圖片進(jìn)行顯示,但是我發(fā)現(xiàn)一個(gè)現(xiàn)象圖片的高雖然是按照比例縮小了,但是圖片占據(jù)的高仍舊是原來圖片的高度照成真實(shí)圖片和文字內(nèi)容之間多了很高的一塊空白,這個(gè)現(xiàn)象非常的奇怪,所以我寫了如下方法進(jìn)行處理: private void showImg(ImageView view,Drawable img){ int w=()。 int h=()。 (w, w+/+h)。 if(w300) { 基于 Android手機(jī)操作系統(tǒng)軟件開發(fā) 29 int hh=300*h/w。 (hh, hh+)。 LayoutParams para=()。 =300。 =hh。 (para)。 } (img)。 } 大圖瀏覽以及保存篇 圖 39 查看圖片 在閱讀微博的功能篇中,如果微博包含了圖片就會(huì)在微博 正文下面顯示該張圖片,但是這個(gè)圖片只是張縮略圖,這樣就需要提供一個(gè)能放大縮小查看這張圖片的功能,當(dāng)點(diǎn)擊正文中的縮略圖的時(shí)候顯示一個(gè)簡單的圖片瀏覽器功能,提供圖片的放大、縮小、拖拽操作方便用戶查看圖片,同時(shí)也提供保存圖片到手機(jī)的功能。本功能的 UI 比較簡單就不單獨(dú)分篇講了,具體的實(shí)現(xiàn)效果如上圖。 新建 作為圖片瀏覽 Activity,在 res/layout 下新建 的 Layout基于 Android手機(jī)操作系統(tǒng)軟件開發(fā) 30 作為圖片瀏覽的布局文件, 布局代碼很簡單了就不詳細(xì)解釋了直接 貼代碼 。 代碼中用到了一個(gè)自定義控件 ,這個(gè)就是整個(gè)功能的核心部分,用來實(shí)現(xiàn)圖片的放大、縮小、拖拽的一個(gè)圖片顯示控件 。 接下要做的就是用這個(gè) ImageZoomView 來顯示圖片,在閱讀微博內(nèi)容的頁面中當(dāng)點(diǎn)擊內(nèi)容中的縮略圖片的時(shí)候會(huì)把這個(gè)縮略圖對(duì)應(yīng)的原圖的 url 傳給當(dāng)前的這個(gè)ImageActivity,那么在 ImageActivity 的 onCreate 方法中根據(jù)這個(gè) url 獲取圖片并且設(shè)置給ImageZoomView。在 onCreate 方法中代碼 。 接下來就是 ZoomControls 的放大縮小事件代碼: ZoomControls zoomCtrl = (ZoomControls) findViewById()。 (new OnClickListener(){ @Override public void onClick(View view) { float z= ()+。 (z)。 ()。 } })。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1