2017年2月26日 星期日

Auto Complete

 Auto Complete


 Auto Complete:當使用者在打入文字/數字,會跑出相關字/數字出來,供使用者選擇。您可以通過AutoCompleteTextView做到這一點。




Auto Complete會用到的方法:

   
    getAdapter():自動道系統(android)取得Adapter

    getCompletionHint():取得在下拉式清單顯示的標題。

    getDropDownAnchor(int)取得下拉式清單的位置。

   getListSelection(int):取得下拉式清單選擇的項目位置。

    isPopupShowing(boolean):是否支援彈出視窗。

   setText(CharSequence text, boolean filter):???
   
   showDropDown():顯示下拉式清單在畫面上。

  setTokenizer:設定每個值之間的分隔符號。可支持選擇多個值(多次輸入),分別用逗號(英文)分開。



  參考文獻


  Android - Auto Complete

Android自動完成教程

Android AutoCompleteTextView(自動完成)實例

AutoCompleteTextView

  


Audio Manager

Audio Manager


Audio Manager:音量調整主要是透過AudioManager來對手機音量進行調整,可以調整的模式有:正常模式、靜音模式…等


      為了要用AudioManager 類別,必須要有getSystemService方法。
   例子:
 private AudioManager mmAudioManager;//建AudioManager名稱。

mmAudioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE); //取得AudioManager

   有了AudioManager 類別,就可以使用setRingerMode來設置音量或是鈴聲的模式。
     例子:
mmAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);//鈴聲設為震動模式

  setRingerMode(改變鈴聲模式)的三個屬性:


     RINGER_MODE_VIBRATE:設定為震動模式。

         RINGER_MODE_NORMAL設定為正常模式。

         RINGER_MODE_SILENT設定為無聲模式。

 設定好模式之後,需要呼叫getRingerMode,取得系統的設置。
    int mod = mmAudioManager.getRingerMode();



 getRingerMode的方法:


       adjustVolume(int direction, int flags):控制手機音量大小。
      AudioManager.ADJUST_LOWER :可將音量轉小一個單位。
      AudioManager.ADJUST_RAISE :可將音量轉大一個單位。

       getMode():返回當前音頻模式。

       getStreamMaxVolume(int streamType)取得目前手機的最大音量。

       getStreamVolume(int streamType)取得目前手機的音量。7為最大值。0為最小值,手機自動轉成震動模式。
    
getStreamMaxVolume、getStreamVolume是來取得系統音量、鈴聲音量、音樂音量、提示音樂音量....等的最大值和目前的音量。

       isMusicActive(boolean):檢查任何音樂是否有效。

       startBluetoothSco():啟動藍芽Sco音頻連結。
    需要權限:MODIFY_AUDIO_SETTINGS。

       stopBluetoothSco()結束藍芽Sco音頻連結。




參考文獻


Android - Audio Manager


Android音頻管理器教程

Android學習筆記 - 音量調整(AudioManager)


android AudioManager 音量控制

音量調整(audiomanager)
http://brook111878.pixnet.net/blog/post/33058582-%E9%9F%B3%E9%87%8F%E8%AA%BF%E6%95%B4(audiomanager)

Android音頻管理器實例
http://tw.gitbook.net/android/android_audiomanager.html

Android 小項目之--使用【AudioManager】類控制音量(2)(詳細)
http://fanli7.net/a/bianchengyuyan/C__/20140526/508331.html

關於安卓系統媒體音量設置
http://fanli7.net/a/JAVAbiancheng/JAVAzonghe/20121028/244079.html

android 鈴聲和音量的獲取程式碼
http://fecbob.pixnet.net/blog/post/35602821-android-%E9%88%B4%E8%81%B2%E5%92%8C%E9%9F%B3%E9%87%8F%E7%9A%84%E7%8D%B2%E5%8F%96%E7%A8%8B%E5%BC%8F%E7%A2%BC


Android里的音量调节
http://lzyfn123.iteye.com/blog/1840001

Android系統的音量控制
http://www.itread01.com/articles/1478578506.html

[Android] 撥放音效(play audio)
http://pianovv510.blogspot.tw/2013/04/android-play-audio.html

Android多媒體分析(四)AudioManager(startBluetoothSco、stopBluetoothSco)
http://fanli7.net/a/JAVAbiancheng/ANT/20111214/152691.html

通过AudioManager 设置调整系统各项音量(铃声 媒体等)(getStreamMaxVolume)
https://www.pocketdigi.com/20110717/398.html

藍芽無線技術概觀 (藍芽Sco)
https://sls.weco.net/blog/cannon/31-may-2007/4881

Audio Capture

Audio Capture


Audio Capture:音樂採集。


 android 提供 MediaRecorder 類別,紀錄音樂或影像。
   

     第一,要先建一個MediaRecorder 類別

 MediaRecorder AudioRecorder = new MediaRecorder();


     第二,設音樂或影像來源,設定輸出和編碼格式,再輸出檔案。

         AudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//錄音來源是從麥克風

AudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//輸出格式為3GP

AudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);//AMR_NB(窄帶)音頻編解碼器

AudioRecorder.setOutputFile(outputFile);//輸出檔案路徑


   第三,準備開始音樂或影片。


      AudioRecorder.prepare();


       AudioRecorder.start();

  第四,androidManifest.xml要新增三個

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>//寫入外部記憶體(SD卡)


<uses-permission android:name="android.permission.RECORD_AUDIO" />
  允許錄音功能
   

  MediaRecorder類別

    setAudioSource(int):指音樂來源。

       setVideoSource(int)影像來源。

       setOutputFormat(int):指輸出檔案的格式。

      setAudioEncoder(int):指音頻編碼器的格式

      setOutputFile(String)輸出檔案路徑。

    start:開始錄製。

      stop:停止錄製。
      
      release:結束時,要釋放資源。

    pause:暫停錄製。     

    reset:重置。
  
   setMaxDuration(int):最大紀錄的時間。單位是毫秒。

   setMaxFileSize(long):檔案的最大容量。單位是byte。

     setOnErrorListener(MediaRecorder.OnErrorListener l):錯誤訊息監聽。

   setPreviewDisplay(Surface sv):設置預覽介面。


參考文獻

Android - Audio Capture

Android音頻採集教程

筆記 Android MediaRecorder 媒體錄製類別 - 簡易錄音機(setOutputFormat)

Android學習筆記 - 錄音(MediaRecorder)(setAudioEncoder)

Android 錄音功能教學(很詳細)

Android MediaPlayer 音樂播放器(release、reset)

Android MediaPlayer播放mp3的實例--簡易mp3播放器(reset)(很詳細)


Android - SD Card

Java API 分類導覽 - java.awt.Component setEnabled()

e.printStackTrace() ; 是什么意思?

Android 6.0的Permission權限設計

 Android MediaRecorder 媒體錄製類別 - 簡易錄音機(MediaRecorder.AudioSource.MIC)

总结android音频视频操作(MediaRecorder.OutputFormat.THREE_GPP)

3GP

音频编码AAC与AMR_NB的区别。

MediaRecorder.AudioEncoder(AMR_NB)






    

Animations

Animations 

Animations:動畫。


Tween Animation(補間動畫):動畫參數有開始時間、結束時間、持續時間和旋轉角度...等。

  系統啟動動畫:
 Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move);

必須在建一個anim的資料夾,放入繪動畫的xml檔案
例如:你想 移動 元件,在anim新建move.xml放入參數就可以移動。
        res/anim/move.xml

Animations的方法(放在.java裡面)

   start():開始動畫。

     setDuration(long duration):設置動畫持續時間。

    getDuration()取得動畫持續時間。

    end():結束動畫。

      為了讓此動畫應用到物件,我們只是調用該物件的startAnimation()方法。

      ImageView image1 = (ImageView)findViewById(R.id.imageView1);

image.startAnimation(animation);

要讓元件放大縮小的屬性:<scale>寫在xml


   fromXScale動畫開始時,x座標上的伸縮尺寸。

   toXScale動畫結束時,x座標上的伸縮尺寸。
   
   fromYScale:動畫開始時,y座標上的伸縮尺寸。

  toYScale:動畫結束時,y座標上的伸縮尺寸。

   以上四個屬性:0.0伸縮到無、1.0正常無伸縮、值<1.0
 收縮、值>1.0放大  

   duration:表示動畫的持續時間。單位:毫秒。

   pivotX:動畫相對x座標的起始位置。

   pivotY:動畫相對y座標的起始位置。

   以上兩個屬性,值可以是數字、幾%或是幾%p
              值是50%,父類別50%,自己50%。
                         
    startOffset:設置動畫開始時間。單位:毫秒。
  例如  androidstartOffset="5000",代表5000毫秒開始動畫。
   
      fillAfter:如為true,動畫結束之後,保持動畫結束的狀態。

      fillBefore:如為true,動畫結束之後,還原到開始動畫前的狀態。


 

要讓元件順時針轉的屬性:<rotate>寫在xml

     fromDegrees:表示動畫開始時的角度。正值:順時針。負值:逆時針。
    
     toDegrees:屬性工作表示動畫結束時旋轉的角度,可以大於360度。正值:順時針。負值:逆時針。

    pivotX:動畫相對x座標的起始位置。

    pivotY:動畫相對y座標的起始位置。

    duration:表示動畫縮放的持續時間。單位:毫秒。

    startOffset:設置動畫縮放開始時間。單位:毫秒。
  例如  androidstartOffset="5000",代表5000毫秒開始動畫。



要讓元件漸漸退色的屬性:<alpha>寫在xml 

    fromAlpha:動畫開始的透明度。0.0~1.0之間。

    toAlpha:動畫結束的透明度。0.0~1.0之間。
      以上兩個屬性,0.0是全透明,1.0是不透明。

    duration:表示動畫透明到不透明的持續時間。單位:毫秒。

   startOffset:設置動畫透明度開始時間。單位:毫秒。
  例如  androidstartOffset="5000",代表5000毫秒開始動畫。



要讓元件閃一下的屬性:<alpha>寫在xml 

    fromAlpha:動畫開始的透明度。0.0~1.0之間。

    toAlpha:動畫結束的透明度。0.0~1.0之間。
   以上兩個屬性,0.0是全透明,1.0是不透明。

   Interpolator動畫插入器(加速、減速插入器)。
更多Interpolator請看以下
https://read01.com/yOE2K.html
    AccelerateInterpolator 在動畫開始的地方速率改變比較慢,然後開始加速。
 
  duration:表示動畫透明到不透明的持續時間。單位:毫秒。

   repeatMode動畫重複次數。
    它有兩個值
        1. restart:動畫每次執行完,就會重新執行。透明到不透明恢復速度較快。
        2. reverse:動畫每次執行完,不會重新執行,直接繼續執行。透明到不透明恢復速度較慢。

    repeatCount順序重複/倒序重複。值是Infinite:無窮重複。默認:0




要讓元件移動的屬性:< translate>寫在xml 

    fromXDelta:動畫開始的點離當前View X坐標上的差值。單位:%p、%、數值

   toXDelta:動畫結束的點離當前View X坐標上的差值。單位:%p、%、數值

 

   duration:表示動畫移動的持續時間。單位:毫秒。




要讓元件滑過的屬性:< scale>寫在xml

  duration:表示動畫滑過的持續時間。單位:毫秒。

   fromXScale:動畫開始時,x座標上的伸縮尺寸。

  toXScale:動畫結束時,x座標上的伸縮尺寸。

  fromYScale:動畫開始時,y座標上的伸縮尺寸。

  toYScale:動畫結束時,y座標上的伸縮尺寸。

  Interpolator動畫插入器(加速、減速插入器)。
更多Interpolator請看以下網址https://read01.com/yOE2K.html
     
   LinearInterpolator 以常量速率改變。

參考文獻


Android - Animations

Android動畫教程


Android動畫效果之Tween Animation(補間動畫)

Android動畫學習——Tween Animation

[教學]Android Animation () Property Animation(start)

Android學習筆記14Tween Animation動畫的實現

Adobe Animate 說明 / 如何建立移動補間動畫

[擒猿筆記篇] Android 動畫神器:Property Animation

Animation


Android Animation(動畫)實例

Android中實現圖片及動畫的縮放和旋轉(轉)( fromXScale)

Android Animation学习笔记


animation.setFillAfter(true);//讓動畫結束的是時候保持現狀,不會回到動畫開始的顯示狀態

Android amimation @ 狼翔天地

Android基礎動畫

Animation 詳解(interpolator)

android之tween動畫詳解- 壹讀 (repeatMode)

Android 之Animation动画(三)之 Property Animation的XML属性和使用示例(repeatCount)

TranslateAnimation動畫(fromXDelta)

Android動畫之Translate(fromXDelta)

Animation動畫詳解——Interpolator插值器

Android 動畫 Interpolator插值器

動畫插值器Interpolation