Time of Update: 2018-12-06
PolicyManager類位於framework\base\core\java\com\android\internal\policy目錄中的PolicyManager.java檔案中。PolicyManager主要用於建立Window類、LayoutInflater類和WindowManagerPolicy類,它扮演著簡單原廠模式中的工廠類角色,而抽象產品角色由IPolicy介面實現,具體產品角色由Policy類實現。它們的關係如所示:從下面三個類的代碼可以看出,都使用了hide註解,因此,
Time of Update: 2018-12-06
在android系統中,檢測耳機的插入和拔出,也是通過廣播實現的,可以建立一個Broadcast Receiver 監聽"android.intent.action.HEADSET_PLUG" 這個Intent。在這個Intent中包含以下幾個值:state --- 0代表拔出,1代表插入name--- 字串,代表headset的類型。microphone --
Time of Update: 2018-12-06
使用ListView過程中,如果滾動式載入資料的操作比較費時,很容易在滾屏時出現螢幕卡住的現象,一個解決的辦法就是不要在滾動時載入資料,而是等到滾動停止後再進行資料的載入。這同樣要實現OnScrollListener介面,關於該介面的簡要描述見上一篇文章,這裡直接進行代碼的分析:package hust.iprai.asce1885;import android.app.ListActivity;import android.content.Context;import
Time of Update: 2018-12-06
開源項目幾乎都使用版本控制系統來對代碼進行維護,著名的版本控制軟體有諸如CVS、Rational ClearCase、Microsoft Visual SourceSafe、Git、Subversion、Mercurial等等,數不勝數。當然上面有的是商業軟體,有的是開源軟體,對於我們單純下載代碼而言,其實沒有多大區別,關鍵要看你需要下載的開原始碼它是基於何種版本控制系統的進行維護的,本文就以Subversion、Git、Mercurial為例進行說明。1)Using SubversionSub
Time of Update: 2018-12-06
如果你的service僅被自己的應用使用並且不需跨進程工作,那麼你可以實現你自己的Binder類使得你的用戶端能直接使用service的公開介面方法.註:這隻在用戶端和service位於同一應用和同一進程中時才能工作,其實大多數都是這種情況.例如,在一個音樂應用需要把它的activity綁定到它自己的播放音樂的後台service時,這種方式就會很好地工作.下面是如何建立它:在你的service中,建立一個Binder執行個體,提供以下三種功能之一:Binder包含一些可供用戶端調用的公開方法
Time of Update: 2018-12-06
本文介紹程式主介面的實現,對應的檔案是Panoramio.java,主介面提供給使用者從地圖上選擇搜尋地區的功能,因此,直接從MapActivity繼承,並實現OnClickListener介面。這樣一來,這個類的初始架構如下代碼所示:import com.google.android.maps.MapActivity;import android.os.Bundle;import android.view.View;import
Time of Update: 2018-12-06
android預設的title只是顯示字串,有時候為了吸引使用者的眼球或者操作方便,得搞點個人化的東西。實現方法是在onCreate()方法開始,加入requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(view);getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
Time of Update: 2018-12-06
Panoramio是一個照片分享社群,網址是http://www.panoramio.com/,現在被google收購了。註冊之後就可以上傳自己的照片,這些照片上傳後可以在衛星地圖上進行定位,經過審核的照片將有可能出現在Google Earth上,網站的宗旨是以照片發掘全世界,網站的logo如下:本文將要學習的開原始碼也叫Panoramio,它實現的功能就是根據使用者在地圖上選擇的地點,從Panoramio上擷取周邊的照片並以ListView形式顯示出來,使用者可以選擇某種照片進行查看。首先來看
Time of Update: 2018-12-06
如果你需要你的service與遠程進程通訊,那麼你可以使用一個Messenger來為你的service提供介面.此技術使用不必使用AIDL就能執行處理序間通訊(IPC). 下面是如何使用Messenger的概要:service實現一個接收從用戶端的每個調用引起的回調的Handler.Handler被用來建立一個Messenger對象(它是Handler的一個引用).Messenger建立一個從service的onBind()返回給用戶端的IBinder.用戶端使用IBinder來執行個體化這個
Time of Update: 2018-12-06
本文繼續講解Panoramio的實現,主要介紹ImageAdapter.java和ImageList.java 這兩個檔案,這兩個檔案實現了如下所示的介面,左圖是資料從網路載入過程中,有圖是載入完成後的效果:
Time of Update: 2018-12-06
首先,我們必須要瞭解什麼是RSS:RSS 指 Really Simple Syndication(真正簡易聯合)RSS 使您有能力彙總(syndicate)網站的內容RSS 定義了非常簡單的方法來共用和查看標題和內容RSS 檔案可被自動更新RSS 允許為不同的網站進行視圖的個人化RSS 使用 XML 編寫 RSS 被設計用來展示選定的資料。如果沒有 RSS,使用者就不得不每日都來您的網站檢查新的內容。對許多使用者來說這樣太費時了。通過 RSS feed(RSS 通常被稱為 News
Time of Update: 2018-12-06
應用產生的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;
Time of Update: 2018-12-06
UI編程通常都會伴隨事件處理,Android也不例外,它提供了兩種方式的事件處理:基於回調的事件處理和基於監聽器的事件處理。對於基於監聽器的事件處理而言,主要就是為Android介面組件綁定特定的事件監聽器;對於基於回調的事件處理而言,主要做法是重寫Android組件特定的回呼函數,Android大部分介面組件都提供了事件響應的回呼函數,我們主要重寫它們就行。一 基於監聽器的事件處理相比於基於回調的事件處理,這是更具“物件導向”性質的事件處理方式。在監聽器模型中,主要涉及三類對象:1)事件來源E
Time of Update: 2018-12-06
ConnectivityManager主要管理和網路連接相關的操作,NetworkInfo類包含了對wifi和mobile兩種網路模式串連的詳細描述,通過其getState()方法擷取的State對象則代表著串連成功與否等狀態。CONNECTEDDetailed stateCoarse-grained
Time of Update: 2018-12-06
修改main.java,調用前面的類,從intentert擷取rss列表並顯示在ui上:public final String RSS_URL = "http://blog.sina.com.cn/rss/1267454277.xml";//從網路擷取RSS地址public final String tag = "RSSReader";private RSSFeed feed = null;/** Called when the activity is first created. */
Time of Update: 2018-12-06
Android應用中使用GridView實現資料格顯示UsingGridView.java源碼:package com.sinaapp.ssun.girdview;import java.util.*;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import
Time of Update: 2018-12-06
Android SDK Android NDK 官方Android SDKWindowshttp://dl.google.com/android/android-sdk_r08-windows.ziphttp://dl.google.com/android/installer_r08-windows.exeLinux (i386)http://dl.google.com/android/android-sdk_r08-linux_86.tgzMAC OS X
Time of Update: 2018-12-06
Android中PopupWindow位置的確定一般通過showAsDropDown函數來實現,該函數有兩個重載函數,分別定義如下: public void showAsDropDown(View anchor) { showAsDropDown(anchor, 0, 0); } public void showAsDropDown(View anchor, int xoff, int yoff) { if (isShowing() ||
Time of Update: 2018-12-06
最近寫項目,遇到了,在此記錄一下。。。。import java.io.ByteArrayOutputStream;import java.io.InputStream;import android.app.Activity;import android.app.AlertDialog;import android.content.ContentResolver;import android.content.DialogInterface;import
Time of Update: 2018-12-06
現在把1.5刷到2.1 和 2.1刷到2.2