2012'12.06.Thu
プリファレンス
参照:http://androlab.blogspot.jp/2011/01/blog-post_20.html
実験対象バージョン:Android2.3.3
getメソッドsetメソッドです。
チェックは入っていません。残念ながらw
(以下参照HPより)
今回は、作成したアプリのみの読み書きにしています。
アプリのみの読み書きだと他にも方法があります。
参照:http://androidhacker.blog94.fc2.com/blog-entry-88.html
◆Getメソッド
コメントアウトしている部分で確認も出来ます。
セットしていない場合は、「0」が表示されます。
◆Delメソッド
ファイルは消えません。
プレファレンスキーにしているものが消えます。
◆セットする時
◆取得する時
◆削除する時
参照:http://webya.in/archives/3577
このページの後半より「ファイル・エクスプローラーで確認してみる」に詳しく載っています。
ちなみにファイル名は、「Setei.xml」が出来ていると思います。
その為、「Setei」を変えると好きなファイル名に出来ます。
参照:http://androlab.blogspot.jp/2011/01/blog-post_20.html
実験対象バージョン:Android2.3.3
あくまで、私的内容です。
これがいいとは限らないと思います。
参照ページは、もう少し分かりやすいですw
外から呼び出し用で、getメソッド、setメソッドにしています。
変数は気にしてはダメですw
SystemChi.java
getメソッドsetメソッドです。チェックは入っていません。残念ながらw
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class SystemChi
{
//設定ファイル名
final String FILE_NAME = "Setei";
//***************************************************
// setメソッド
//
// sKey : プレファレンス名
// sValue : String型値
//
//***************************************************
//--------------------------------
// 文字列
//--------------------------------
public void set(Context context,String sKey,String sValue)
{
try
{
SharedPreferences sp = context.getSharedPreferences(sFILE,Context.MODE_PRIVATE);
Editor e = sp.edit();
e.putString(sKey, sValue);
e.commit();
//確認用
// Toast.makeText(context.getApplicationContext(), "保存", Toast.LENGTH_SHORT).show();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//*****************************************************
// getメソッド
//
// sKey : プレファレンス名
//
//*****************************************************
public String get(Context context, String sKey)
{
try
{
SharedPreferences sp = context.getSharedPreferences(sFILE,Context.MODE_PRIVATE);
//確認用
//Toast.makeText(context.getApplicationContext(), sp.getString(sKey, "0"), Toast.LENGTH_SHORT).show();
return sp.getString(sKey, "0");
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
//***********************************************************
// 削除メソッド
//
// sKey : プレファレンス名
//
//***********************************************************
public void Del(Context context,String sKey)
{
try
{
SharedPreferences sp = context.getSharedPreferences(sFILE,Context.MODE_PRIVATE);
Editor e = sp.edit();
//プレファレンス削除処理
e.remove(sKey);
e.commit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
◆Setメソッド(以下参照HPより)
定数 | 説明 |
---|---|
MODE_PRIVATE | 作成したアプリのみ読み書きできる |
MODE_WORLD_READABLE | 他アプリに読み込み権を与える |
MODE_WORLD_WRITEABLE | 他アプリに書き込み権を与える |
今回は、作成したアプリのみの読み書きにしています。
アプリのみの読み書きだと他にも方法があります。
参照:http://androidhacker.blog94.fc2.com/blog-entry-88.html
◆Getメソッド
コメントアウトしている部分で確認も出来ます。
セットしていない場合は、「0」が表示されます。
◆Delメソッド
ファイルは消えません。
プレファレンスキーにしているものが消えます。
メインで呼び出し方法
◆セットする時
new SystemChi().set(this,"プレファレンスキー名",”プレファレンス内容");
◆取得する時
new SystemChi().get(this,"プレファレンスキー名");
※取得する変数をお忘れなく。◆削除する時
new SystemChi().Del(this,"プレファレンスキー名");
確認方法
参照:http://webya.in/archives/3577このページの後半より「ファイル・エクスプローラーで確認してみる」に詳しく載っています。
ちなみにファイル名は、「Setei.xml」が出来ていると思います。
その為、「Setei」を変えると好きなファイル名に出来ます。
PR
2012'12.06.Thu
サブMENU処理を他メソッド化
参照:http://d.hatena.ne.jp/murakaming/20110427/1303885394
実験対象バージョン:Android2.3.3
メニューの設定内容です。
メニューが押されたときにどんな処理をするのかを記入します。
今回は、終了ボタンが押されると画面をバックグランドにする処理が入っています。
XMLの記述は、あんまり上手くないので微妙な部分もあるかも知れません。
変数は適当過ぎですw
http://andante.in/i/android%E3%82%A2%E3%83%97%E3%83%AAtips/%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E7%94%A8%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E4%B8%80%E8%A6%A7ic_menu_/
呼びだす時は以下で呼んでいます。
画面遷移をしても、遷移先で同じ以下の記述をしておけば、上記の処理を毎回行ってくれます。
参照:http://d.hatena.ne.jp/murakaming/20110427/1303885394
実験対象バージョン:Android2.3.3
あくまで、私的内容です。
これがいいとは限らないと思います。
参照ページは、もう少し使い勝手を良くされているので、是非参考にして下さい。
また、変数は気にしたら負けですw
MenuManager.java
メニューの設定内容です。メニューが押されたときにどんな処理をするのかを記入します。
今回は、終了ボタンが押されると画面をバックグランドにする処理が入っています。
import android.app.Activity;
import android.view.InflateException;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
//************************************************************************
// サブメニュー表示欄(アプリ終了・継続表記)
//************************************************************************
public class MenuManager
{
//----------------------------------
// Menu表示イベント
//----------------------------------
public boolean createOptionsMenu(Activity activity, Menu menu)
{
// 呼び出し側ActivityへMenu設定
MenuInflater inflater = activity.getMenuInflater();
try
{
//メニュー表示(menu.xml)表示
inflater.inflate(R.menu.menu, menu);
}
catch (InflateException e)
{
return false;
}
return true;
}
//-------------------------------
// Menu選択イベント
//-------------------------------
public boolean optionsItemSelected(Activity activity, MenuItem item)
{
switch (item.getItemId())
{
case R.id.it_shuryou:
// アクティビティをバックグラウンドに移動する
activity.moveTaskToBack(true);
return true;
case R.id.it_zokkou:
//何もしないで戻る
return true;
default:
return false;
}
}
res/menu/menu.xml
XMLの記述は、あんまり上手くないので微妙な部分もあるかも知れません。変数は適当過ぎですw
メニューアイコンについては、以下を参照
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 終了 -->
<item
android:id="@+id/it_shuryou"
android:title="@string/shuryou"
android:icon="@android:drawable/ic_menu_close_clear_cancel"
></item>
<!-- 戻る -->
<item
android:id="@+id/it_zokkou"
android:title="@string/zokkou"
android:icon="@android:drawable/ic_menu_revert"
></item>
</menu>
http://andante.in/i/android%E3%82%A2%E3%83%97%E3%83%AAtips/%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E7%94%A8%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E4%B8%80%E8%A6%A7ic_menu_/
呼び出すjava内
呼びだす時は以下で呼んでいます。画面遷移をしても、遷移先で同じ以下の記述をしておけば、上記の処理を毎回行ってくれます。
//***************************************************************
// メニュー画面(終了画面)
//***************************************************************
//----------------------
//メニュー画面呼び出し
//----------------------
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
return new MenuManager().createOptionsMenu(this, menu);
}
//----------------------
// Menu選択イベント
//----------------------
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// 共通処理
return new MenuManager().optionsItemSelected(this, item);
}
カテゴリー
最新記事
リンク
ブログ内検索
広告