android程式設計實例入門 -附錄A
android程式設計實例入門 -附錄A
AndroidManifest.xml的主要設定
<uses-sdk> 執行所需要的Android SDK API層級
<uses-permission> 權限設定
<activity> 登錄Activity
<service> 登錄服務
<intent-filter> 設定意圖過濾器
<uses-library> 類別庫的追加設定
android.permission.RECORD_AUDIO 錄音
android.permission.CAMERA 相機
android.permission.INTERNET 網際網路
android.permission.WRITE_EXTENNAL_STORAGE SD卡
android.permission.ACCESS_FINE_LOCATION 位置資訊
android.permission.READ_CONTACT 聯絡者
//////////
主要的系統服務種類
SENSOR_SERVICE 感應器
LOCATION_SERVICE 位置資訊
SEARCH_SERVICE 搜尋
NOTIFICATION_SERVICE 通知區域
ALARM_SERVICE 警鈴
WINDOW_SERVICE 視窗畫面
//////////
感測器的種類(android.hardware.Sensor類別)
TYPE_ACCELEROMETER 加速度感測器
TYPE_MAGNETIC_FIELD 地磁感測器
TYPE_PROXIMITY 接近感測器
TYPE_TEMPATURE 溫度感測器
TYPE_LIGHT 照明感測器
TYPE_GRAVITY 重力感測器
TYPE_PRESSURE 壓力感測器
TYPE_GYROSCOPE 螺旋範圍
TYPE_LINEAR_ACCELERATION 直線加速感測器
TYPE_ROTATION_VECTOR 迴轉向量
//////////
主要的動作種類(android.content.Intent類別)
ACTION_MAIN 啟動
ACTION_VIEW 顯示資料
ACTION_GET_CONTENT 選擇資料後傳回
ACTION_SEARCH 搜尋資料
ACTION_EDIT 編輯資料
ACTION_SEND 傳送資料
ACTION_SENDTO 傳送訊息
ACTION_DAIL 撥號
Android SDK的主要類別
android.app.Activity類別
void onCreate() 在啟動畫面時被呼叫
void onResume() 在回到畫面時被呼叫
void onPause() 在改變成其他畫面時被呼叫
void onDestroy() 在釋放時被呼叫
boolean onCreateOptionsMenu(Menu menu) 將選單初始化
boolean onOptionsItemSelected(MenuItem mi) 在選擇選單時呼叫
Object getSystemService(String name) 取得系統服務
Window getWindow() 取得視窗
boolean requestWindowFeature(int id) 取得功能
void onActivityResult(int reqcode, int result, Intent
it) 在接收到意圖時被呼叫
Cursor managerdQuery(Uri uri, String[] projection,
String selection, String[] selectionArgs, String
sortOrder)
進行查詢以取得游標
void startManagingCursor(Cursor c) 開始管理游標
FileInputStream openFileInput(String path) 開啟輸入串流
FileOutputStream openFileOutput(String path, int
mode) 開啟輸出串流
void startActivity(Intent it) 啟動新的Activity
void startActivityForResult(Internet it, int reqcode) 在結束時啟動接收到結果的Activity
void startService(Intent it) 啟動服務
ContentResolver getContentResolver() 取得ContentResolver
//////////
android.view.View類別
void setBackgroundColor(int c) 設定視圖的背景顏色
void setEnabled(Boolean en) 設定按鈕的啟用/關閉
void startAnimation(Animation anim) 讓指定的動畫開始播放
void Invalidate() 設為無效以更新視圖
//////////
android.widget.TextView類別
TextView(Context cn) 以指定的上下文(context)建立文字
視圖
void setText(CharSequence c) 設定文字
void setTextColor(CharStateList c) 設定文字顏色
void setTextSize(float size) 設定文字大小
void setTypeFace(Typeface tf) 設定字體
//////////
android.graphics.Typeface類別
static Typeface create(int familyname, int style) 指定字體名稱、樣式以建立字型
//////////
android.widget.Button類別
Button(Context cn) 建立按鈕
//////////
android.widget.CheckBox類別
CheckBox(Context cn) 建立核取方塊
//////////
android.widget.TextView類別
CharSequence getText() 取得文字
//////////
android.widget.RadioButton類別
RadioButton(Context cn) 建立單選按鈕
//////////
android.widget.CompoundButton類別
void setChecked(Boolean c) 變更核取
//////////
android.widget.RadioGroup類別
RadioGroup(Context cn) 建立單選群組
//////////
android.widget.EditText類別
EditText(Context cn) 建立編輯文字
CharSequence getText() 取得文字
//////////
android.widget.ListView類別
ListView(Context cn) 建立列表視圖
void setAdapter(ListAdapter la) 設定配接器
//////////
android.widget.ArrayAdapter類別
ArrayAdapter<T>(Context cn, int id, T[] obj) 建立陣列配接器
View getView(int pos, View convView, ViewGroup
p)
取得包含在列表視圖中的一行份視
圖
void setDropDownViewResource(int id) 指定下拉時的形式
//////////
android.widget.Spinner類別
Spinner(Context cn) 建立Spinner
//////////
android.widget.GridView類別
GridView(Context cn) 建立格狀視圖
void setNumColumns(Int c) 設定欄位數
//////////
android.widget.AdapterView類別
long getItemAtPosition(int pos) 取得指定位置的物件
//////////
java.util.Data類別
Date() 將日期物件初始化
//////////
java.util.Calendar類別
void add(int field, int amount) 為月曆加上時間
Calendar getInstance() 取得月曆
int get(int field) 取得日、時、星期等資料
Date getTime() 取得月曆的當前時刻
void setTime(Date date) 將月曆的當前時刻設為指定日期
java.text.DataFormat類別
String format(Date date) 將指定日期格式化
java.text.SimpleDataFormat類別
SimpleDateFormat(String pattern) 以指定的模式建立日期格式
//////////
android.view.Menu介面
MenuItem add(int groupId, int id, int order,
CharSequence title) 追加選單
//////////
android.view.MenuItem介面
int getItemId() 取得選項編號
//////////
android.app.AlertDialog.Builder類別
AlertDialog.Builder(Context cn) 指定Activity建立對話框
AlertDialog.show() 顯示對話框
AlertDialog.Builder setTitle(Charsequence t) 設定標題
AlertDialog.Builder setMessage(Charsequence m) 設定訊息
AlertDialog.Builder
setPositiveButton(Charsequence m,
DialogInterface.OnClickListener c)
設定「YES(OK)」按鈕
android.app.AlertDialog.Builder類別
AlertDialog.Builder
setNegativeButton(Charsequence m,
DialogInterface.OnClickListener c)
設定「NO」按鈕
//////////
android.graphics.BitmapFactory類別
Bitmap decodeResource(Resource rs, int id) 從指定的資源、ID建立點陣圖物件
//////////
android.content.ContextWrapper類別
Resources getResources() 取得資源
//////////
android.widget.ImageView類別
ImageView(Context c) 以指定的上下文建立影像視圖
void setImageBitmap(Bitmap bmp) 設定點陣圖物件
void setAlpha(int a) 設定不透明度
//////////
android.graphics.Matrix類別
boolean postRotate(int a) 設定在指定的角度
void postScale(float sx, float sy) 以指定的倍率進行縮放
android.graphics.BitmapFactory類別
Bitmap createBitmap(Bitmap bmp, int x, int y, int w,
int h)
以指定的點陣圖、x座標位置、y座
標位置、寬度、高度來建立點陣圖
物件
//////////
android.view.animation.RotateAnimation類別
RotateAnimation(float fromD, float toD, float x,
float y)
建立從指定的角度到另一角度、以
物件上的(x, y)為中心旋轉的動畫
//////////
android.view.animation.Animation類別
void setDuration(long ms) 以毫秒為單位設定播放時間
void setRepeatMode(int mode) 設定重播模式
void setRepeatCount(int c) 設定重播次數
//////////
android.view.animation.AnimationSet類別
AnimationSet(Interpolator ip) 建立動畫集合
addAnimation(Animation anim) 追加動畫
//////////
android.view.animation.ScaleAnimation類別
ScaleAnimation(float fromX, float toX, float fromY,
float toY, float pX, float pY) 以指定的比例尺建立動畫
//////////
android.view.animation.AlphaAnimation類別
AlphaAnimation(float from, float to) 建立透明動畫
android.view.Window類別
void addFlags(int f) 追加旗標
android.view.WindowManager介面
Display getDefaultDisplay() 取得螢幕
//////////
android.graphics.Paint類別
Paint() 建立塗色物件
void setColor(int color) 設定指定的顏色
void setStyle(PaintStyle style) 設定指定的樣式
android.graphics.Canvas類別
void drawCircle(float x, float y, int rad, Paint p) 指定中心位置、直徑、塗色物件來
描繪圓形
android.widget.ViewFlipper類別
ViewFlipper(Context cn) 建立ViewFlipper物件
//////////
android.widget.ViewAnimator類別
setInAnimation(Animation anim) 指定視圖顯示在畫面上時的動畫
setOutAnimation(Animation anim) 指定視圖從畫面上消失時的動畫
void showNext() 移動到下一個視圖
void showPrecious() 移動到上一個視圖
android.view.animation.TranslateAnimation類別
TranslateAnimation(float fxd, float txd, float fyd,
float tyd) 建立指定的移動動畫
//////////
android.os.Handler類別
Handler() 建立handler
boolean postDelayed(Runnable r, long dm) 以指定的時間延遲執行
void removeCallbacks() 取消等待執行的處理
//////////
android.media.MediaPlayer類別
MediaPlayer() 建立多媒體播放器
static MeiaPlayer create(Context cn, int id) 建立播放指定資源的多媒體播放器
void prepare() 準備多媒體播放器
void start() 開始播放
void pause() 暫停播放
void stop() 停止播放
void seekTo(int m) 移動至指定的毫秒處
void release() 釋放
android.media.MediaRecorder類別
MediaRecorder() 建立多媒體記錄器
void prepare() 準備
void start() 開始錄製
void stop() 停止播放
void reset() 初始化
void release() 釋放
void setAudioSource(int source) 設定音訊來源
void setOutputFormat(int format) 設定輸出格式
void setAudioEncoder(int coder) 設定音訊編碼器
void setOutputFile(String path) 設定輸出檔
//////////
android.os.Environment類別
static File getExternalStorageDirectory() 取得外部記憶裝置的路徑
//////////
android.hardware.Camera類別
static Camera open() 開啟相機
void setPreviewDisplay(SurfaceHolder sh) 將Surface設定於預覽畫面中
void startPreview() 開始預覽
void stopPreview() 停止預覽
void takePicture(Camera.ShutterCallback
shutter, Camera.PictureCallback raw, Camera.
PictureCallback jpeg)
指定儲存JPEG時的處理進行攝影
void release() 釋放相機
void swtParameters(Camera.Parameter pr) 設定參數
//////////
android.view.SurfaceView類別
SurfaceView(Context cn) 建立Surface視圖
SurfaceHolder getHolder() 取得SurfaceHolder
//////////
android.view.SurfaceHolder介面
void addCallback(SurfaceHolder.Callback) 追加回呼
//////////
android.view.SurfaceHolder.Callback介面
void surfaceCreated(SurfaceHolder holder) 在建立Surface時呼叫
void surfaceChanged(SurfaceHolder holder, int
format, int w, int h) 在變更Surface時呼叫
void surfaceDestroyed(SurfaceHolder holder) 在釋放Surface時呼叫
//////////
android.hardware.Camera.PictureCallback介面
void onPictureTaken(byte[] data, Camera c) 在拍攝時呼叫
//////////
android.hardware.Camera.Parameters類別
List<Camera.Size> getSupportedPictureSizes() 取得有支援的大小一覽
void setPictureSize(int w, int h) 設定圖片大小
//////////
android.widget.Toast類別
static Toast makeText(Context cn, int id, int
duration) 建立Toast的文字
void show() 顯示Toast
android.media.MediaRecorder類別
MediaRecorder() 建立多媒體記錄器
void setVideoSource(int source) 設定影片來源
void setVideoEncoder(int coder) 設定影片編碼器
void setVideoFrameRate(int rate) 設定影格速率
void setVideoSize(int w, int h) 設定影片大小
//////////
android.speech.tts.TextToSpeech類別
TextToSpeech(Context cn, TextToSpeech.
OnInitListener ls) 建立文字朗讀器
int setLanguage(Locale l) 設定語言
int speak(String str, int mode, HashMap<String,
String> parm) 朗讀指定文字
//////////
android.hardware.SensorManager類別
Sensor getDefaultSensor(int type) 取得感測器
Boolean registerListener(SensorEventListener se,
Sensor s, int rate) 登錄感測器事件監聽器
void unregisterListener(SensorEventListener se) 解除感測器事件監聽器
static boolean getRotationMatrix(float[] R, float[] l,
float[] gravity, float[] geomagnetic) 取得旋轉矩陣
static Boolean remapCoordinateSystem(float[] inR,
int X, int Y, float[] outR) 轉換座標
static float[] getOrientation(float[] R, float[] v) 取得傾斜角度
//////////
android.hardware.Sensor類別
int getType() 取得感測器的種類
android.hardware.SensorEvent類別
Sensor sensor 代表感測器的欄位
float[] values 代表感測器的值的陣列
com.google.android.maps.MapActivity類別
MapActivity() 建立MapActivity
protected Boolean isRouteDisplayed() 顯示路徑時被呼叫
//////////
com.google.android.maps.MapView類別
MapView(Context cn, String key) 指定API key建立地圖視圖
void setClickable(Boolean c) 讓地圖可以被點擊
void setBuiltInZoomControls(Boolean en) 設定是否顯示縮放控制器
com.google.android.maps.GeoPoint類別
GeoPoint(int lt, int lg) 用緯度、經度建立地點
com.google.android.maps.MapView類別
MapController getController() 取得地圖控制器
com.google.android.maps.MapController類別
void animateTo(GeoPoint gp) 在指定地點播放動畫
//////////
android.location.Location類別
double getLatitude() 取得緯度
double getLongitude() 取得經度
android.location.LocationManager類別
requestLocationUpdates(String provider, long mint,
float mind, LocationListener l)
登錄提供者、最短更新時間、最短
更新距離
android.location.LocationListener介面
void onLocationChanged(Location lc) 在位置資訊變更時被呼叫
void onProviderDisabled(String pv) 在提供者失效時被呼叫
void onProviderEnabled(String pv) 在提供者有效時被呼叫
void onStatusChanged(String pv, int status, Bundle
ex) 在提供者狀態改變時被呼叫
//////////
android.content.Intent類別
Intent() 建立意圖
Intent setAction(String act) 設定動作
Intent setData(Uri uri) 設定URI資料
Intent putExtra(string name, String value) 設定延伸資料的名稱與值
android.content.BroadcastReceiver類別
void onReceiver(Context cn, Intent it) 在接受意圖時被呼叫
int getIntExtra() 取得意圖中的附加資訊
//////////
android.content.Context類別
void registerReceiver(BroadcastReceiver br, Intent
it) 登錄接受器
void unregisterReceiver(BroadcastReceiver br) 解除接受器
android.content.IntentFilter類別
IntentFilter() 建立意圖過濾器
void addAction(String act) 追加動作
android.content.ContentResolver類別
InputStream openInputStream(Uri uri) 開啟輸入串流
android.app.PendingIntent類別
static PendingIntent getService(Context cn, int
reqcode, Intent it, int flag) 取得啟動服務的PendingIntent
void cancel(PendingIntent pi) 解除指定的PendingIntent的設定
android.app.AlarmManager類別
void setRepeating(int type, long trigger, long
interval, PendingIntent op)
設定讓指定的PendingIntent以指定
的間隔反覆發送
void cancel(PendingIntent pi) 解除指定的PendingIntent的設定
android.app.Notification類別
Notification(int icon, CharSequence txt, long when) 建立通知區域
android.app.NotificationManager類別
void notify(int id, Notification nf) 在通知區域中通知
void cancel(int id) 停止通知區域上的顯示
android.appwidget.AppwidgetProvider類別
void onUpdate(Context cn, AppWidgetManager
awm, int[] wid) 在Widget被更新時呼叫
void onReceive(Context cn, Intent it) 在接收到動作時呼叫
android.appwidget.AppwidgetManager類別
void updateAppWidget(int id, RemoteView rv) 在指定的遠端視圖中設定指定的
Widget ID
//////////
android.widget.RemoteViews類別
RemoteViews(String packgename, int id) 由套件名稱和資源來建立遠端視圖
void setTexts(String packgename, int id) 在指定的視圖中設定文字
void setTextColor(int id, int color) 設定文字顏色
void setOnClickPendingIntent(int id, PendingIntent
pi) 在點擊時發送PendingIntent
void setImageViewBitmap(int id, Bitmap bmp) 在影像視圖中設定點陣圖
android.database.Cursor介面
boolean moveToNext() 移動到下一列
int getColumnIndex(String col) 指定欄位名稱取得欄位編號
String getString(int index) 指定欄位編號取得欄位名稱
//////////
android.database.sqlite.SQLiteDatabase類別
static SQLiteDatabase
openOrCreateDatabase(String path, CursorFactory
cf)
開啟或建立資料庫
void execSQL(String sql) 執行建立資料表、插入/變更/刪除
資料的SQL語句
Cursor query(String table, String col, String
selection, String[] selectionArgs, String groupBy,
String having, String orderby)
執行進行查詢的SQL語句
//////////
android.webkit.WebView類別
WebView() 建立Web視圖
void setWebViewClient(WebViewClient c) 設定Web視圖用戶端
void loadUri() 讀取指定頁面
boolean canGoBack() 調查是否有上一頁
boolean canGoForward() 調查是否有下一頁
void goBack() 回到上一頁
void goForward() 前往下一頁
void zoomIn() 放大
void zoomOut() 縮小
//////////
android.webkit.WebViewClient類別
WebViewClient() 建立Web視圖用戶端
org.apache.http.client.HttpClient介面
HttpResponse execute(HttpUriRequest req) 從請求取得回應
//////////
org.apache.http.DefaultHttpClient類別
DefaultHttpClient() 建立HTTP請求
org.apache.http.HttpGet類別
HttpGet() 建立GET請求
//////////
org.apache.http.HttpResponse介面
HttpEntity getEntity() 取得實體
//////////
org.apache.http.HttpEntity介面
InputStream getContent() 取得內容
//////////
org.xmlpull.v1.XmlPullParserFactory類別
static XmlPullParserFactory newInstance() 取得XML ParserFactory
//////////
XmlPullParser newPullParser() 取得XML Parser
org.xmlpull.v1.XmlPullParser介面
void setInput(StreamReader sr) 由輸入串流讀取
int getEventType() 取得事件類型
String nextText() 取得接下來的文字
int next() 前進