プロフィール

Epic's Garden

Author:Epic's Garden
初心者による、初心者のための解説ブログ。
現在、アプリ公開中!
サークル「Epic's Garden」として活動してます。

カテゴリ

最新記事

最新コメント

月別アーカイブ

アクセスカウンター

ブログランキング

にほんブログ村 IT技術ブログへ

twitter

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文:

アプリ・ゲーム開発らぼ(旧Androidアプリ開発らぼ)
様々なプラットフォーム向けのアプリ開発らぼです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Preferenceの使い方
今回はPreferenceを使用しデータの保存、削除、復元を行う方法を解説します。
新しいプロジェクトを作成し、以下のように変更してください。

MainActivity.java


package com.yumenomaterial.preference;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener{
    private EditText et;
    private Button btn1;
    private Button btn2;
    private Button btn3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

            et=(EditText)findViewById(R.id.et);//・・・【a】
            btn1 = (Button)findViewById(R.id.b1);
            btn1.setOnClickListener(this);
            btn2 = (Button)findViewById(R.id.b2);
            btn2.setOnClickListener(this);
            btn3 = (Button)findViewById(R.id.b3);
            btn3.setOnClickListener(this);

    }

    public void onClick(View v){
        if(v == btn1){
            SharedPreferences prefer = getSharedPreferences("Preference", MODE_PRIVATE);//・・・【1】
            SharedPreferences.Editor editor = prefer.edit();//・・・【2】
            editor.putString("settings1", et.getText().toString());//・・・【3】
            editor.commit();//・・・【4】
        }else if(v == btn2){
            SharedPreferences prefer = getSharedPreferences("Preference", MODE_PRIVATE);
            et.setText(prefer.getString("settings1",""));//・・・【5】
        }else if(v == btn3){
            SharedPreferences prefer = getSharedPreferences("Preference", MODE_PRIVATE);
            SharedPreferences.Editor editor = prefer.edit();
            editor.remove("settings1");//・・・【6】
            editor.commit();
        }
    }
}


activity_main.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="" />

    <Button
        android:id="@+id/b1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn1" />

    <Button
        android:id="@+id/b2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn2" />

    <Button
        android:id="@+id/b3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn3" />

</LinearLayout>


strings.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Preference</string>
    <string name="btn1">保存</string>
    <string name="btn2">復元</string>
    <string name="btn3">消去</string>
    <string name="menu_settings">Settings</string>

</resources>


Preferenceを利用するためには、まず【1】のようにgetSharedPreferences(~,~)で SharedPreferences ○○(ここでは○○はprefer)を取得する必要があります。
そしてデータの保存か削除を行いたい場合は、【2】のように SharedPreferences.Editor ○○(ここではeditor)を取得します。
その後、データを保存したい場合は【3】のeditor.putString("保存する場所の名前(ここではsettings1)","保存したいデータ(【3】ではet.getText().toString()で、これはet(【a】)に書かれている文字を受け取り、データとして保存できるようにするためString形式に変換しています。)" )を書き、データを削除したい場合は【6】のeditor.remove("データが保存された場所(ここではsettings1)")を書いてください。
最後に【4】のeditor.commit()でデータの保存か削除が実行されます。
次に保存したデータを受け取りたい場合は、【5】のprefer.getString("データが保存された場所(ここではsettings1)","データが何も保存されていない場合に呼び出されるもの(ここでは""で、データがない時は何も表示しないようにしています)")のようにしてください。

preference01.jpg
スポンサーサイト


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。