掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
首選項(xiàng)是指用戶在系統(tǒng)中可以自定義的一些設(shè)置,通常用于調(diào)整應(yīng)用程序的行為、外觀和功能,在Android應(yīng)用中,首選項(xiàng)通常以對(duì)話框的形式展示給用戶,用戶可以通過點(diǎn)擊對(duì)話框中的按鈕來修改設(shè)置,首選項(xiàng)的保存和讀取是通過SharedPreferences類來實(shí)現(xiàn)的。

成都創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為謝家集企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),謝家集網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
1、在res/xml目錄下創(chuàng)建一個(gè)名為preferences.xml的文件,用于定義首選項(xiàng)界面的布局。
2、在Java代碼中創(chuàng)建一個(gè)繼承自PreferenceActivity的類,并重寫onCreate方法。
import android.os.Bundle;
import androidx.preference.PreferenceActivity;
import androidx.preference.PreferenceFragmentCompat;
import com.example.myapplication.R;
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
3、在AndroidManifest.xml文件中注冊(cè)SettingsActivity。
在Android中,首選項(xiàng)的保存和讀取是通過SharedPreferences類來實(shí)現(xiàn)的,以下是一個(gè)簡單的示例:
1、在PreferenceFragmentCompat中添加SharedPreferences實(shí)例。
import androidx.preference.PreferenceManager;
import com.example.myapplication.R;
import com.example.myapplication.preferences.MyPreferenceFragment;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
public class MyPreferenceFragment extends PreferenceFragmentCompat {
private AtomicInteger counter = new AtomicInteger(0);
private List keys = new ArrayList<>(); // 存儲(chǔ)已添加的首選項(xiàng)鍵值對(duì)的鍵名列表,避免重復(fù)添加相同的鍵值對(duì)時(shí)覆蓋舊值。
private SharedPreferences sharedPreferences; // SharedPreferences實(shí)例。
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences, rootKey); // 從XML文件中加載首選項(xiàng)界面布局。
init(); // 初始化SharedPreferences實(shí)例。
}
private void init() { // 初始化SharedPreferences實(shí)例,在此處添加SharedPreferences的相關(guān)配置,如文件路徑、版本號(hào)等,具體請(qǐng)參考官方文檔。 https://developer.android.com/guide/topics/data/data-storagepreferrences-files-get-set-and-save-data。
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()); // 通過Context獲取默認(rèn)的SharedPreferences實(shí)例,若需要指定文件路徑等參數(shù),請(qǐng)使用其他構(gòu)造方法創(chuàng)建SharedPreferences實(shí)例,如:SharedPreferences preferences = getSharedPreferences("my_preferences", Context.MODE_PRIVATE);,為了避免重復(fù)添加相同的鍵值對(duì)時(shí)覆蓋舊值,需要將已添加的鍵名存儲(chǔ)在一個(gè)列表中,在此示例中,keys列表用于存儲(chǔ)已添加的鍵名,當(dāng)添加新的首選項(xiàng)時(shí),先判斷該鍵名是否已存在于列表中,若不存在則將其添加到列表中并添加到SharedPreferences中,否則,提示用戶該首選項(xiàng)已存在且未被覆蓋,更新UI顯示新添加的首選項(xiàng)及其當(dāng)前值,具體實(shí)現(xiàn)細(xì)節(jié)請(qǐng)參考官方文檔。 https://developer.android.com/guide/topics/data/data-storagepreferrences-files-get-set-and-save-data。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流