了解Android首选项存储的基本操作方法,学会使用首选项存储方法来进行信息的存储,学会“设置”界面的创建及“设置”信息的获取。
- 新建一个项目;
- 设置主活动界面如下:
- 完成首选项文件的读写操作
- 创建“设置”界面,界面效果如下(注意:字号大小和字体颜色由用户在指定列表中进行选择):
- 当启动主界面时,用户读取的信息按照用户设置的字号大小和字体颜色显示,且按照用户设置的音乐的开/关来启动对应的音乐服务。
代码如下:
package com.example.shouxuanxiang;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
public class MyService extends Service {
private MediaPlayer mp;
public MyService() {
}
@Override
public void onCreate() {
mp = MediaPlayer.create(this,R.raw.shuyazi);
mp.start();
super.onCreate();
}
//可以执行多次
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
//结束服务时调用该方法
@Override
public void onDestroy() {
if(mp!=null) {
if(mp.isPlaying()){
mp.stop();
}
mp.release();
}
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
}
package com.example.shouxuanxiang;
import android.os.Bundle;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.preference.PreferenceFragmentCompat;
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_activity);
if (savedInstanceState == null) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.settings, new SettingsFragment())
.commit();
}
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
public static class SettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.root_preferences, rootKey);
}
}
}
- 10sp
- 20sp
- 50sp
- 10
- 20
- 50
- 红色
- 蓝色
- 绿色
- red
- blue
- green
#FFBB86FC #FF6200EE #FF3700B3 #FF03DAC5 #FF018786 #FF000000 #FFFFFFFF
ShouXuanXiang SettingsActivity Messages Sync Your signature Default reply action Sync email periodically Download incoming attachments Automatically download attachments for incoming emails only download attachments when manually requested
运行界面:
保存:
读取:
进设置修改:
返回界面:
音乐自行添加。



