編輯:關於Android編程
我今天想分享的是FM模塊的保存方法,即FmSharedPreferences.java
FmSharedPreferences(Context context)在構造方法中加載Load()方法,
public void Load(){
Log.d(LOGTAG, "Load preferences ");
if(mContext == null)
{
return;
}
SharedPreferences sp = mContext.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
mTunedFrequency = sp.getInt(PREF_LAST_TUNED_FREQUENCY, DEFAULT_NO_FREQUENCY);
mRecordDuration = sp.getInt(LAST_RECORD_DURATION, RECORD_DUR_INDEX_0_VAL);
mAFAutoSwitch = sp.getBoolean(LAST_AF_JUMP_VALUE, true);
mAudioOutputMode = sp.getBoolean(AUDIO_OUTPUT_MODE, true);
if(sp.getInt(FMCONFIG_COUNTRY, 0) == REGIONAL_BAND_USER_DEFINED) {
mBandMinFreq = sp.getInt(FMCONFIG_MIN, mBandMinFreq);
mBandMaxFreq = sp.getInt(FMCONFIG_MAX, mBandMaxFreq);
mChanSpacing = sp.getInt(FMCONFIG_STEP, mChanSpacing);
}
int num_lists = sp.getInt(LIST_NUM, 1);
if (mListOfPlists.size() == 0) {
for (int listIter = 0; listIter < num_lists; listIter++) {
String listName = sp.getString(LIST_NAME + listIter, "FM - " + (listIter+1));
int numStations = sp.getInt(STATION_NUM + listIter, 1);
if (listIter == 0) {
createFirstPresetList(listName);
} else {
createPresetList(listName);
}
PresetList curList = mListOfPlists.get(listIter);
for (int stationIter = 0; stationIter < numStations; stationIter++) {
String stationName = sp.getString(STATION_NAME + listIter + "x" + stationIter,
DEFAULT_NO_NAME);
int stationFreq = sp.getInt(STATION_FREQUENCY + listIter + "x" + stationIter,
DEFAULT_NO_FREQUENCY);
PresetStation station = curList.addStation(stationName, stationFreq);
int stationId = sp.getInt(STATION_ID + listIter + "x" + stationIter,
DEFAULT_NO_STATIONID);
station.setPI(stationId);
int pty = sp.getInt(STATION_PTY + listIter + "x" + stationIter, DEFAULT_NO_PTY);
station.setPty(pty);
int rdsSupported = sp.getInt(STATION_RDS + listIter + "x" + stationIter,
DEFAULT_NO_RDSSUP);
if (rdsSupported != 0) {
station.setRDSSupported(true);
} else {
station.setRDSSupported(false);
}
/* Load Configuration */
setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_NORTH_AMERICA));
/* Last list the user was navigating */
mListIndex = sp.getInt(LAST_LIST_INDEX, 0);
if(mListIndex >= num_lists)
{mListIndex=0;
}
}
初始化取出sp一些數據
根據系統初始化地區設置當地頻率
/*Load Configuration */
if (Locale.getDefault().equals(Locale.CHINA)) {
setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_CHINA));
} else {
setCountry(sp.getInt(FMCONFIG_COUNTRY, REGIONAL_BAND_NORTH_AMERICA));
}
/* Last list the user was navigating */
保存頻率
public void Save()
設置默認的地區
public static void SetDefaults()
設置調整頻率
public static void setTunedFrequency(intfrequency)
獲取調整頻率
public static int getTunedFrequency()
獲取下一個頻率
public static int getNextTuneFrequency(intfrequency)
獲取上一個頻率
public static int getPrevTuneFrequency(intfrequency)
/ * *
* @param mFMConfiguration mFMConfiguration設置
* /
public static void setFMConfiguration(FmConfig mFMConfig)
/**
*@return the mFMConfiguration
*/
public static FmConfig getFMConfiguration() {
return mFMConfiguration;
}
設置fm播放的頻率范圍
public static void setRadioBand(int band)
獲取fm頻率范圍限制
public static int getRadioBand()
獲取間隔
public static int getChSpacing()
設置遠程數據服務
public static void setRdsStd(int std)
mFMConfiguration.setRdsStd(std);
獲取遠程數據服務
public static int getRdsStd()
mFMConfiguration.getRdsStd();
設置國家地區
public static void setCountry(intnCountryCode)
獲取國家地區
public static int getCountry()
設置聲音輸出模板
setAudioOutputMode
設置錄音是否持續
public static void setRecordDuration(intdurationIndex)
上一篇/kf/201412/363653.html
Android百度地圖添加覆蓋物並且彈窗顯示
本篇我們准備為地圖添加:添加覆蓋物Marker與InfoWindow的使用新增本文參考的是http://blog.csdn.net/lmj623565791/articl
Android利用ViewPager實現滑動廣告板實例源碼
•android-support-v4.jar,這是谷歌官方給我們提供的一個兼容低版本Android設備的軟件包,裡面包囊了只有在Android3.0以上可以
Android開發本地及網絡Mp3音樂播放器(十)最近播放界面與數據保存更新
實現功能:實現MyLoveMusicActivity(音樂收藏界面)實現MyRecordMusicActivity(最近播放界面)實現MyMusicListFragmen
Android5.0錄屏方案
導語 本文主要是圍繞android直播助手的功能做了一些研究,因為之前對Android多媒體相關的內容知之甚少,只有概念,於是查閱了相關資料並做以總結。由於我對音視頻相關