今天要繼續介紹我們的摩斯發送功能,接續昨天的內容接下來要講解如何調整發送速度!!
/**change點擊*/
private void changeBtClicked(View view) {
isChange = !isChange;
if(isChange) {
change_button.setText("燈光");
} else {
change_button.setText("聲音");
}
}
/**設定seekBar*/
private void setupSeekBar() {
speed_seekBar = (SeekBar) findViewById(R.id.post_speed_seekBar);
speed_seekBar.setOnSeekBarChangeListener(speedSeekBarChangeListener());
speed_seekBar.setProgress(morseCodeSharedPreferences.getSpeed());
}
public class MorseCodeSharedPreferences {
private SharedPreferences sPref;
// 構造函數,接受一個上下文(Context)對象作為參數,用於初始化 SharedPreferences
public MorseCodeSharedPreferences(Context context){
sPref = context.getSharedPreferences(String.valueOf(R.string.app_name), MODE_PRIVATE);
}
// 方法用於獲取存儲在 SharedPreferences 中的摩斯密碼速度設置
public int getSpeed() {
return sPref.getInt("SPEED", 0);
}
// 方法用於設置摩斯密碼速度,接受一個速度值作為參數
public void setSpeed(int speed) {
// 使用 SharedPreferences 編輯器(Editor)來設置速度並提交更改
sPref.edit().putInt("SPEED", speed).apply();
}
}
/**調整速度*/
private SeekBar.OnSeekBarChangeListener speedSeekBarChangeListener() {
return new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
morseCodeSharedPreferences.setSpeed(progress);
morsePostPresenter.speedSeekBarChange(progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
};
}
下一遍就會介紹如何去發送的了~~