Android首選項示例含代碼

Android首選項示例

Android共享首選項被用于存儲和檢索基本信息。愛掏網 - it200.com在Android中,字符串、整數、長整數、數字等被視為基本數據類型。愛掏網 - it200.com

Android共享首選項被用于以鍵值對的方式存儲數據,以便我們可以根據鍵檢索值。愛掏網 - it200.com

它被廣泛用于獲取用戶的信息,例如在設置中。愛掏網 - it200.com

讓我們看一個簡單的Android共享首選項示例。愛掏網 - it200.com

activity_main.xml

從工具箱中拖動一個Textview和兩個按鈕。愛掏網 - it200.com

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context="example.javatpoint.com.preferences.MainActivity">  

    <TextView  
        android:id="@+id/txtPrefs"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_centerVertical="true"  
        android:text="Data:" />  

    <Button  
        android:id="@+id/storeinformation"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_below="@+id/showinformation"  
        android:layout_centerHorizontal="true"  
        android:layout_marginTop="18dp"  
        android:text="Store Information" />  

    <Button  
        android:id="@+id/showinformation"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentTop="true"  
        android:layout_centerHorizontal="true"  
        android:layout_marginTop="17dp"  
        android:text="Show Information" />  

</RelativeLayout>  

array.xml

它被創建在res/values目錄下。愛掏網 - it200.com

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <string-array name="listOptions">  
        <item>English</item>  
        <item>Hindi</item>  
        <item>Other</item>  
    </string-array>  

    <string-array name="listValues">  
        <item>English Language</item>  
        <item>Hindi Language</item>  
        <item>Other Language</item>  
    </string-array>  
</resources>  

prefs.xml

它在res/xml目錄中創建。愛掏網 - it200.com

<?xml version="1.0" encoding="utf-8"?>  
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">  
    <PreferenceCategory  
        android:summary="Username and password information"  
        android:title="Login information" >  
        <EditTextPreference  
            android:key="username"  
            android:summary="Please enter your login username"  
            android:title="Username" />  
        <EditTextPreference  
            android:key="password"  
            android:summary="Enter your password"  
            android:title="Password" />  
    </PreferenceCategory>  

    <PreferenceCategory  
        android:summary="Username and password information"  
        android:title="Settings" >  
        <CheckBoxPreference  
            android:key="checkBox"  
            android:summary="On/Off"  
            android:title="Keep me logged in" />  

        <ListPreference  
            android:entries="@array/listOptions"  
            android:entryValues="@array/listValues"  
            android:key="listpref"  
            android:summary="List preference example"  
            android:title="List preference" />  
    </PreferenceCategory>  
</PreferenceScreen>  

主要Activity類

package example.javatpoint.com.preferences;

import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button storeinformation = (Button) findViewById(R.id.storeinformation);
        Button showinformation = (Button) findViewById(R.id.showinformation);
        textView = (TextView) findViewById(R.id.txtPrefs);

        View.OnClickListener listener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (v.getId()) {
                    case R.id.storeinformation:
                        Intent intent = new Intent(MainActivity.this,PrefsActivity.class);
                        startActivity(intent);
                        break;
                    case R.id.showinformation:
                        displaySharedPreferences();
                        break;
                    default:
                        break;
                }
            }
        };
        storeinformation.setOnClickListener(listener);
        showinformation.setOnClickListener(listener);
    }


    private void displaySharedPreferences() {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
        String username = prefs.getString("username", "Default NickName");
        String passw = prefs.getString("password", "Default Password");
        boolean checkBox = prefs.getBoolean("checkBox", false);
        String listPrefs = prefs.getString("listpref", "Default list prefs");


        StringBuilder builder = new StringBuilder();
        builder.append("Username: " + username + "\n");
        builder.append("Password: " + passw + "\n");
        builder.append("Keep me logged in: " + String.valueOf(checkBox) + "\n");
        builder.append("List preference: " + listPrefs);
        textView.setText(builder.toString());

    }

}
``````

#### PrefsActivity類
```java 
package example.javatpoint.com.preferences;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class PrefsActivity extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);
    }
}
``````

#### AndroidManifest.xml
```xml
<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="example.javatpoint.com.preferences">  

    <application  
        android:allowBackup="true"  
        android:icon="@mipmap/ic_launcher"  
        android:label="@string/app_name"  
        android:roundIcon="@mipmap/ic_launcher_round"  
        android:supportsRtl="true"  
        android:theme="@style/AppTheme">  
        <activity android:name=".MainActivity">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
        <activity  android:name=".PrefsActivity"  
            android:theme="@android:style/Theme.Black.NoTitleBar" >  
        </activity>  
    </application>  

</manifest>  

輸出:

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 精品久久久无码中字| 日韩在线视频一区| 99视频免费播放| 亚洲毛片免费视频| 在线观看国产一区二区三区| 美女扒开内裤羞羞网站| 99国产精品久久| 亚洲精品国产首次亮相| 国产又大又硬又粗| 大陆老太交xxxxxhd在线| 最近高清中文国语在线观看| 你懂的手机在线视频| 亚洲小说图片视频| 国产精品一线二线三线| 极品丝袜乱系列大全集目录| 欧美亚洲日本另类人人澡gogo| 亚洲av无码日韩av无码网站冲 | 欧美国产综合在线| 18禁美女裸体网站无遮挡| 亚洲图片欧美另类| 免费黄色网址网站| 婷婷综合激情五月中文字幕| 樱桃视频高清免费观看在线播放 | 恋男乱女颖莉慰问军营是第几章 | 中文字幕亚洲欧美日韩不卡| 友田真希息与子中文字幕| 女同志videos| 欧美一级日韩一级亚洲一级| 进击的巨人第五季樱花免费版| 中文无码久久精品| 亚洲色偷偷偷综合网| 国产福利你懂的| 国模吧双双大尺度炮交gogo| 桃花影院www视频播放| 波多洁野衣一二区三区| 精品国产人成亚洲区| 伊人久热这里只精品视频| freehd182d动漫| 亚洲国产日韩欧美在线as乱码| 国产三级理论片| 外国一级黄色毛片|