栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据存储-首选项存储

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据存储-首选项存储

了解Android首选项存储的基本操作方法,学会使用首选项存储方法来进行信息的存储,学会“设置”界面的创建及“设置”信息的获取。

  1. 新建一个项目;
  2. 设置主活动界面如下:

  1. 完成首选项文件的读写操作
  2. 创建“设置”界面,界面效果如下(注意:字号大小和字体颜色由用户在指定列表中进行选择):
  3. 当启动主界面时,用户读取的信息按照用户设置的字号大小和字体颜色显示,且按照用户设置的音乐的开/关来启动对应的音乐服务。

代码如下:

 




    
    
    
        

 

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



    



        
        

    

    

        

    

运行界面:

保存:

 

读取:

进设置修改:

返回界面:

音乐自行添加。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号