package net.npaka.backupex;
import android.app.Activity;
import android.app.backup.BackupManager;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
//Data Backup APIの利用
public class BackupEx extends Activity
implements View.OnClickListener {
private final static int WC=LinearLayout.LayoutParams.WRAP_CONTENT;
private final static int FP=LinearLayout.LayoutParams.FILL_PARENT;
private EditText editText;
private BackupManager backupManager;
//アクティビティ起動時に呼ばれる
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//バックアップマネージャの生成
backupManager=new BackupManager(this);
//レイアウトの生成
LinearLayout layout=new LinearLayout(this);
layout.setBackgroundColor(Color.rgb(255,255,255));
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
//エディットテキストの生成
editText=new EditText(this);
editText.setText("",EditText.BufferType.NORMAL);
editText.setLayoutParams(new LinearLayout.LayoutParams(FP,WC));
layout.addView(editText);
//ボタンの生成
layout.addView(makeButton("書き込み","write"));
layout.addView(makeButton("読み込み","read"));
}
//ボタンの生成
private Button makeButton(String text,String tag) {
Button button=new Button(this);
button.setText(text);
button.setTag(tag);
button.setOnClickListener(this);
button.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
return button;
}
//ボタンクリック時に呼ばれる
public void onClick(View v) {
String tag=(String)v.getTag();
//プリファレンスへの書き込み
if (tag.equals("write")) {
SharedPreferences pref=getSharedPreferences(
"myData",MODE_PRIVATE);
SharedPreferences.Editor editor=pref.edit();
editor.putString("text",editText.getText().toString());
editor.commit();
//バックアップの要求
backupManager.dataChanged();
}
//プリファレンスからの読み込み
else if (tag.equals("read")) {
SharedPreferences pref=getSharedPreferences(
"myData",MODE_PRIVATE);
editText.setText(pref.getString("text",""));
}
}
}
|