Android開原始碼解讀のOnScrollListener實現ListActivity滾屏首字母提示

OnScrollListener介面是定義在AbsListView中的,而AbsListView的直接子類有GridView和ListView,非直接子類有ExpandableListView。OnScrollListener的完整路徑是frameworks\base\core\java\android\widget\AbsListView.java,代碼如下:/** * Interface definition for a callback to be invoked when the

Android Framework中的PolicyManager簡介

PolicyManager類位於framework\base\core\java\com\android\internal\policy目錄中的PolicyManager.java檔案中。PolicyManager主要用於建立Window類、LayoutInflater類和WindowManagerPolicy類,它扮演著簡單原廠模式中的工廠類角色,而抽象產品角色由IPolicy介面實現,具體產品角色由Policy類實現。它們的關係如所示:從下面三個類的代碼可以看出,都使用了hide註解,因此,

android-檢測耳機的插入和拔出動作

在android系統中,檢測耳機的插入和拔出,也是通過廣播實現的,可以建立一個Broadcast Receiver 監聽"android.intent.action.HEADSET_PLUG" 這個Intent。在這個Intent中包含以下幾個值:state ---       0代表拔出,1代表插入name--- 字串,代表headset的類型。microphone --  

Android開原始碼解讀のOnScrollListener實現ListView滾屏時不載入資料

使用ListView過程中,如果滾動式載入資料的操作比較費時,很容易在滾屏時出現螢幕卡住的現象,一個解決的辦法就是不要在滾動時載入資料,而是等到滾動停止後再進行資料的載入。這同樣要實現OnScrollListener介面,關於該介面的簡要描述見上一篇文章,這裡直接進行代碼的分析:package hust.iprai.asce1885;import android.app.ListActivity;import android.content.Context;import

Android開原始碼解讀の地圖照片應用Panoramio的實現詳解(二)

本文分析兩個類:程式中用到的資料類PanoramioItem,以及工具類BitmapUtils。1)Parcelable介面和PanoramioItem類任何類如果希望自己的執行個體能夠寫入到Parcel中或者從Parcel中恢複出來,都必須實現Parcelable介面,實現這個介面的類除了要重寫介面中定義的函數,還需要定義一個名為CREATOR的靜態域,而CREATOR是實現Parcelable.Creator介面的對象,說了這麼多,下面看下Parcelable的代碼就一目瞭然了:public

Android各種開源項目原始碼的下載方法(Subversion/Git/Mercurial)

開源項目幾乎都使用版本控制系統來對代碼進行維護,著名的版本控制軟體有諸如CVS、Rational ClearCase、Microsoft Visual SourceSafe、Git、Subversion、Mercurial等等,數不勝數。當然上面有的是商業軟體,有的是開源軟體,對於我們單純下載代碼而言,其實沒有多大區別,關鍵要看你需要下載的開原始碼它是基於何種版本控制系統的進行維護的,本文就以Subversion、Git、Mercurial為例進行說明。1)Using SubversionSub

Android bound service 詳解二:派生Binder類

  如果你的service僅被自己的應用使用並且不需跨進程工作,那麼你可以實現你自己的Binder類使得你的用戶端能直接使用service的公開介面方法.註:這隻在用戶端和service位於同一應用和同一進程中時才能工作,其實大多數都是這種情況.例如,在一個音樂應用需要把它的activity綁定到它自己的播放音樂的後台service時,這種方式就會很好地工作.下面是如何建立它:在你的service中,建立一個Binder執行個體,提供以下三種功能之一:Binder包含一些可供用戶端調用的公開方法

Android Loader詳解三:重啟與回調

重啟裝載器當你使用initLoader()時,如果指定ID的裝載器已經存在,則它使用這個裝載器.如果不存在呢,它將建立一個新的.但是有時你卻是想丟棄舊的然後開始新的資料.要想丟棄舊資料,你應使用restartLoader().例如,下面這個SearchView.OnQueryTextListener的實現在使用者查詢發生改變時重啟了裝載器,裝載器於是需重啟從而能使用新的搜尋過慮來進行一次新的查詢.public boolean onQueryTextChanged(String newText)

Android開原始碼解讀の使用TelephonyManager擷取移動網路資訊

本文介紹使用TelephonyManager來擷取手機SIM卡的狀態和移動網路的相關資訊,主要使用了TelephonyManager.listen函數,這個函數源碼如下:public void listen(PhoneStateListener listener, int events) { String pkgForDebug = mContext != null ? mContext.getPackageName() : "<unknown>"; try {

Android開原始碼解讀の地圖照片應用Panoramio的實現詳解(三)

本文介紹程式主介面的實現,對應的檔案是Panoramio.java,主介面提供給使用者從地圖上選擇搜尋地區的功能,因此,直接從MapActivity繼承,並實現OnClickListener介面。這樣一來,這個類的初始架構如下代碼所示:import com.google.android.maps.MapActivity;import android.os.Bundle;import android.view.View;import

android–自訂title

android預設的title只是顯示字串,有時候為了吸引使用者的眼球或者操作方便,得搞點個人化的東西。實現方法是在onCreate()方法開始,加入requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(view);getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);

Android開原始碼解讀の地圖照片應用Panoramio的實現詳解(一)

Panoramio是一個照片分享社群,網址是http://www.panoramio.com/,現在被google收購了。註冊之後就可以上傳自己的照片,這些照片上傳後可以在衛星地圖上進行定位,經過審核的照片將有可能出現在Google Earth上,網站的宗旨是以照片發掘全世界,網站的logo如下:本文將要學習的開原始碼也叫Panoramio,它實現的功能就是根據使用者在地圖上選擇的地點,從Panoramio上擷取周邊的照片並以ListView形式顯示出來,使用者可以選擇某種照片進行查看。首先來看

Android Service 詳解一:概述

  一個Service是沒有介面且能長時間運行於背景應用組件.其它應用的組件可以啟動一個服務運行於後台,即使使用者切換到另一個應用也會繼續運行.另外,一個組件可以綁定到一個service來進行互動,即使這個互動是進程間通訊也沒問題.例如,一個aservice可能處理網路事物,播放音樂,執行檔案I/O,或與一個內容提供者互動,所有這些都在後台進行.一個service本質上可有兩種表現形式:Started  一個service在某個應用組件(比如一個activity)調用startService()

Android bound service 詳解三:使用Messenger

如果你需要你的service與遠程進程通訊,那麼你可以使用一個Messenger來為你的service提供介面.此技術使用不必使用AIDL就能執行處理序間通訊(IPC).  下面是如何使用Messenger的概要:service實現一個接收從用戶端的每個調用引起的回調的Handler.Handler被用來建立一個Messenger對象(它是Handler的一個引用).Messenger建立一個從service的onBind()返回給用戶端的IBinder.用戶端使用IBinder來執行個體化這個

Android開原始碼解讀の地圖照片應用Panoramio的實現詳解(四)

本文繼續講解Panoramio的實現,主要介紹ImageAdapter.java和ImageList.java 這兩個檔案,這兩個檔案實現了如下所示的介面,左圖是資料從網路載入過程中,有圖是載入完成後的效果:                           

Android執行個體RSS用戶端開發(1)

  首先,我們必須要瞭解什麼是RSS:RSS 指 Really Simple Syndication(真正簡易聯合)RSS 使您有能力彙總(syndicate)網站的內容RSS 定義了非常簡單的方法來共用和查看標題和內容RSS 檔案可被自動更新RSS 允許為不同的網站進行視圖的個人化RSS 使用 XML 編寫  RSS 被設計用來展示選定的資料。如果沒有 RSS,使用者就不得不每日都來您的網站檢查新的內容。對許多使用者來說這樣太費時了。通過 RSS feed(RSS 通常被稱為 News

Android中Context

近期學習Android,看到文章對Context的講解比較少,所以上網查了下,還可以。Context字面意思上下文,位於framework package的android.content.Context中,其實該類為LONG型,類似Win32中的Handle控制代碼,很多方法需要通過 Context才能識別調用者的執行個體,比如說Toast的第一個參數就是Context,一般在Activity中我們直接用this代替,代表調用者的

Android應用中為使用者儲存喜好設定(傳智播客視頻筆記)

應用產生的XML檔案儲存在/data/data/應用程式套件名/shared_prefs/name.xml中(/data/data/com.sinaapp.shared/shared_prefs/ssun.xml)SharedPreferenceActivity.java源碼:package com.sinaapp.shared;import java.util.Map;import com.sinaapp.service.Service;import android.app.Activity;

Android事件處理的兩種模型

UI編程通常都會伴隨事件處理,Android也不例外,它提供了兩種方式的事件處理:基於回調的事件處理和基於監聽器的事件處理。對於基於監聽器的事件處理而言,主要就是為Android介面組件綁定特定的事件監聽器;對於基於回調的事件處理而言,主要做法是重寫Android組件特定的回呼函數,Android大部分介面組件都提供了事件響應的回呼函數,我們主要重寫它們就行。一 基於監聽器的事件處理相比於基於回調的事件處理,這是更具“物件導向”性質的事件處理方式。在監聽器模型中,主要涉及三類對象:1)事件來源E

android-驗證網路是否可用

ConnectivityManager主要管理和網路連接相關的操作,NetworkInfo類包含了對wifi和mobile兩種網路模式串連的詳細描述,通過其getState()方法擷取的State對象則代表著串連成功與否等狀態。CONNECTEDDetailed stateCoarse-grained

總頁數: 2771 1 .... 287 288 289 290 291 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.