The preferences portion of an application should be ran as a separate Activity that extends the PreferenceActivity class. In the PreferenceActivity, a PreferenceScreen object should be the root element of the layout. The PreferenceScreen contains Preference elements such as a CheckBoxPreference, EditTextPreference, ListPreference, PreferenceCategory, or RingtonePreference..."
In this tutorial we want to introduce you how to use some preference elements with their tasks in a setting activity externs the PreferenceActivity class. Those are some simple tasks setting for backup data like the photo shows in below:
1. Create layout file for preference settings
To make the setting interface we create a preference.xml file in folder res/layout/xml. All xml code to make that show below:
<?xml version="1.0"
encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 1
-->
<PreferenceCategory
android:key="category_location_backup"
android:title="Store Backup
Settings"
android:layout="@layout/textlayout" >
<CheckBoxPreference
android:key="checkboxpref_location_backup"
android:title="Store at
default location"
android:summaryOff="Check to
enable choose location backup"
android:summaryOn="Check to
disable choose location backup"
/>
<Preference android:key="pref_folder_chosen"
android:name="default_browser"
android:summary="Choose a
folder on SDCard to store backup file"
android:title="Choose
location backup"
/>
</PreferenceCategory>
<!-- 2
-->
<PreferenceCategory
android:title="Auto Backup
Settings"
android:layout="@layout/textlayout">
<CheckBoxPreference android:key="checkboxpref_auto_backup"
android:title="Enable Auto
Backup Settings"
android:summaryOff="Check to
enable automatic backup in device"
android:summaryOn="Check to
disable automatic backup in device" />
<PreferenceScreen android:title="Auto Backup
Settings"
android:summary="Setting Date
and Time for automatic backup"
android:dependency="checkboxpref_auto_backup">
<PreferenceCategory android:title="SMS BACKUP
SCHEDULE"
android:layout="@layout/textlayout">
<duytan.edu.vn.backupdemo.TimePreferenceCustom
android:key="timepref_auto_backup"
android:name="Default
notification time"
android:summary="Choose the
time to automatic backup SMS"
android:dialogLayout="@layout/time_preference"
android:title="Time to auto
backup SMS"
android:layout="@layout/mylayout"
/>
<duytan.edu.vn.backupdemo.ListPreferenceMultiSelect
android:key="daypref_auto_backup"
android:selectable="true"
android:dialogTitle="Day in week
dialog"
android:summary="Choose the
date to automatic backup SMS"
android:title="Day to auto
backup SMS"
android:entryValues="@array/array_multi_list_preference_entry_values"
android:entries="@array/array_multi_list_preference_entries"
android:layout="@layout/mylayout"
/>
</PreferenceCategory>
</PreferenceScreen>
</PreferenceCategory>
<!-- 3
-->
<PreferenceCategory
android:title="Restore Settings"
android:layout="@layout/textlayout">
<ListPreference
android:key="listpref_restore"
android:title="Restore
Type"
android:summary="Choose the
Type of restore."
android:entries="@array/array_list_preference_entries"
android:entryValues="@array/array_list_preference_entry_values"
android:defaultValue="Keep current
contains"
/>
</PreferenceCategory>
<!-- 4
-->
<PreferenceCategory
android:title="Other Settings"
android:layout="@layout/textlayout">
<Preference android:key="backup_setting_file"
android:name="backup_setting_file"
android:summary="Choose to
backup all settings to file"
android:title="Backup all
settings"
/>
</PreferenceCategory>
</PreferenceScreen>
2. Demo with all preferences element.
2.1. For the CheckBoxPreference element with android:key="checkboxpref_location_backup". This check for enable or disable users to choose the location in sdcard of device to store their backup file.
When disable
and when enable
2.2. For the Preference element with android:key="pref_folder_chosen". When user click on this setting then the app run the File explorer for choose one directory to store the backup file
When the File Explorer show up, if you choose the DCIM folder and return with back button on device
You will get the new location like that:
2.3. The CheckBoxPreference with android:key="checkboxpref_auto_backup" enable or disable autto backup.
If users enable auto bakup then they can choose the days and time for that.
and when user click on Auto Backup Settings, the new PreferenceScreen will show like that:
Now the time for user to choose the days and time for auto backup.
2.4. choose the time with the custom time preference element duytan.edu.vn.backupdemo.TimePreferenceCustom
with key timepref_auto_backup. and you can get the string for the time backup.
2.5. By the same with Date backup
Here is some demo for how to use simple preference elements in android. All reference source codes are available here. I hope this help for someone had began with preference class in android. Thanks for look at my blog. If you get confused with my poor English, please put a comment
superb really this is very informative post.....thanks for sharing information related to
ReplyDeletedevelop for android
you are welcome!!!
DeleteCan wa have the layout XML file ?
ReplyDeleteLink download all source code:
ReplyDeletehttp://www.mediafire.com/download/5j5ojjyigaxqozn/PreferenceDemo.rar
nice message
ReplyDeleteAmazon web services training in bangalore
best AWS Training institute in Bangalore
aws certification course in bangalore
devops training institutes in bangalore
devops certification course in bangalore
best training institute for data science in bangalore
data science classroom training in bangalore
best data science training institute in bangalore
data science with python training in bangalore
Resultangka88
ReplyDeleteResultangka88
Resultangka88
Resultangka88
Resultangka88
Really enjoyed reading this article. I appreciate you for sharing this wonderful post. Keep posting.
ReplyDeleteApp Development Company
i did subscribe payment how to cancel app purchase
ReplyDeleteI have not any word to appreciate this post…..Really i am impressed from this post….
ReplyDelete