返回列表 發帖

抄錄筆記 開發重點

嗯,整理出使用這項功能可能會用到何種函式的資料,透過這些關鍵字配合google應該足以完成需要的功能了。
手機資料

取SIM卡資料
透過getSystemService(TELEPHONY_SERVICE)取得 TelephonyManager物件,在透過其方法取得SIM卡資料(先生成Adapter,在從陣列撈)
取SIM卡狀態:getSimState() 回傳1-無sim卡,2-需PIN解鎖,3-需PUK解鎖,4-需Network PIN解鎖,5-已就緒,0-狀態未知
取SIM卡卡號:getSimSerialNumber()
取SIM卡供應商代碼:getSimOperator()
取SIM卡供應商名稱:getSimOperatorName()
取SIM卡國別:getSimCountryIso()


取得電信及手機相關資訊
TelephonyManager及android.provider.Settings.System(一樣先丟陣列或物件,再取)
ex:telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
取得手機號碼:getLine1Number()
取得電信網路國別:getNetworkCountryIso()
取得電信公司名稱:getPhoneType()
取得網路類型:getNetworkType()
取得手機IMEI:getDeviceId()
取得IMEI SV:getDeviceSoftwareVersion()
取得IMSI:getSubscriberId()


來電處理
onCallStateChanged


開啟WiFI、GPS
getSystemService、WiFiManager.isWiFiEnabled()、LocationManager.isProviderEnabled()


錄音
MediaRecorder、getExternalStorageState()、File.CreateTempFile、.setAudioSorece
setAudioSamplingRate()、setAudioEncodingBitRate()、setOutputFormat()、setAudioEncoder()


控制音量
AudioManager、getStreamVolume(AudioiManager.STREAM_RING)、getRingerMode()
AudioManager.ADJUST_LOWER、AudioManager.ADJUST_RAISE、
AudioManager.RINGER_MODE_NORMAL、AudioManager.RINGER_MODE_SILENT、AudioManager.RINGER_MODE_VIBRATE

基本

切換Activity
Intent

滑動的相片
Gallery

樣式主題
Style

取Drawable寬高
Bitmap、BitmapFactory.decodeResource()、getHeight()、getWidth();

取得螢幕寬高
DisplayMetrics、getWindowManager().getDefaultDisplay().getMetrics()、widthPixels、heightPixels

TextView - Linkify
透過Linkify依不同類型的文字(電話、郵件、連結)而呼叫不同的相對應程式開啟。

浮動訊息
Toast
可透過LinearLayout放入圖片丟給Toast,toast.setView(layout)

狀態列
NotificationManager、Notification、PendingIntent
可設定icon、tickerText(文字)、defaults(提醒效果)
提醒效果有:DEFAULT_SOUND(聲音)、DEFAULT_LIGHTS(螢幕發亮)、DEFAULT_VIBRATE(振動)、DEFAULT_ALL(三種都動作)

桌面小工具(Widget)
AppWidgetProvider、BroadcastReceiver去listen、onUpdate()

圖片透明度
Paint、setAlpha




功能性

app載入前播放影片
Uri.parse()、VideoVeiw、setOnCompletionListener


手勢滑動頁面效果
ViewFlipper,簡單來說就是透過觸控壓螢幕的位置X、Y滑動後始末座標去判斷位移,最後在呼叫動畫並切換到下個頁面。
onTouchEvent()、MotionEvent.ACTION_DOWN、MotionEvent.ACTION_UP、event.getX()、event.getX()、setInAnimation()、setOutAnimation()
另一方法:ViewGroup、Scroller、VelocityTracker


多點觸控Multi-touch
onTouchEvent、MotionEvent.getAction()、MotionEvent.ACTION_DOWN(UP)、MotionEvent.ACTION_POINTER_N(1234..)_DOWN(UP)
getPointerCount()、findPointerIndex()、getX()、getY()


換手機背景圖
setWallpaper()
取目前桌布:getWallpaper


變更螢幕方向
setRequestedOrientation()、getRequestedOrientation、LANDSCAPE、PORTRAIT、onSensorChanged、mSensorListener、
透過方向感應onSensorChanged偵測變化在進行變更螢幕方向,另變化後使用onConfigurationChanged進行改變後進行的事件。


定時啟動(鬧鐘、日曆提醒)
getSystemService(ALARM_SERVICE)、TimePickerDialog、AlarmManger、set、setRepeating、BroadcastReceiver


開機執行
onReceive() 繼承BroadcastReceiver


離開跳出訊息確認
AlertDialog.Builder() .setPositiveButton()  . setNegativeButton()
離開按鈕使用setOnClickListener去呼叫AleretDialog.Builder,並設定屬性若點選關閉或返回


隱藏式側選單
SlidingDrawer.setOnDrawerOpenListener() 開啟、SldingDrawer.setOnDrawerCloseListener() 關閉、GridView


解析RSS
SAXParser、SAXParserFactory、SAXParserFactory.newInstance()、newSAXParser()、getXMLReader()、MyHandler()
getParsedData()、getRssTitle()

資料來源:
http://ezcshi.pixnet.net/blog/category/1796978

返回列表 回復 發帖