SharedPreferences(手機自帶內存)讀和寫基本操做

SharedPreferences(手機自帶內存)讀和寫基本操做android

效果圖示例:app

 

一、activity_mian.xml佈局文件dom

 

代碼編輯器

 

<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" >ide

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />佈局

    <Button
        android:id="@+id/bt_writer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="寫數據"
        android:onClick="writer"/>字體

    <Button
        android:id="@+id/bt_read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="讀數據"
        android:onClick="read"/>this

</LinearLayout>xml

-----------------------------事件

 

二、menu文件下的佈局set_activity.xml佈局文件

 

代碼

 

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/font_add"
        android:title="加大字體"/>
    <item
        android:id="@+id/font_sub"
        android:title="減少字體"/>
    <item
        android:id="@+id/font_color"
        android:title="字體顏色"/>
    <item
        android:id="@+id/bg_color"
        android:title="背景顏色"/>

</menu>

==============================

 

三、MianActivity 類

代碼

 

public class MainActivity extends Activity {

 private TextView textview; private float font_size; private int font_color; private int bg_color; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);    this.textview = (TextView) this.findViewById(R.id.textview);  //一打開app 就讀 寫好的數據  read(null);    //註冊textview   registerForContextMenu(textview); }  // 建立一個上下文菜單 @Override public void onCreateContextMenu(ContextMenu menu, View v,   ContextMenuInfo menuInfo) {  super.onCreateContextMenu(menu, v, menuInfo);  getMenuInflater().inflate(R.menu.set_menu, menu); }  //重寫上寫文菜單 點擊 事件 監聽 @Override public boolean onContextItemSelected(MenuItem item) {  switch(item.getItemId()){  case R.id.font_add:   font_size+=5;   textview.setTextSize(font_size);   break;  case R.id.font_sub:   font_size-=5;   textview.setTextSize(font_size);   break;  case R.id.font_color:   font_color = Color.rgb((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255));   textview.setTextColor(font_color);   break;  case R.id.bg_color:   bg_color = Color.rgb((int)(Math.random()*255), (int)(Math.random()*255), (int)(Math.random()*255));   textview.setBackgroundColor(bg_color);   break;  }  return super.onContextItemSelected(item); } //寫數據 public void writer(View view){  //第一個參數 -- 要把數據 寫入到的文件名  //第二個參數 -- 寫入數據的時候 是什麼 模式    //數據保存在 data/data/包名  SharedPreferences preferences = getSharedPreferences("my_data", Context.MODE_PRIVATE);  //得到 編輯器  SharedPreferences.Editor editor = preferences.edit();  //用得到的編輯器 寫入數據  editor.putFloat("fontsize", font_size);  editor.putInt("fontcolor", font_color);  editor.putInt("bgcolor", bg_color);    //提交  editor.commit(); }  //讀數據 public void read(View view){  SharedPreferences preferences = getSharedPreferences("my_data", Context.MODE_PRIVATE);    //讀取 數據  font_size = preferences.getFloat("fontsize", 60);  font_color = preferences.getInt("fontcolor", Color.BLUE);  bg_color = preferences.getInt("bgcolor", Color.WHITE);    textview.setTextSize(font_size);  textview.setTextColor(font_color);  textview.setBackgroundColor(bg_color); }  //一按退出 就保存當前的數據 @Override protected void onDestroy() {  // TODO Auto-generated method stub  super.onDestroy();  //一按退出 就保存當前的數據  writer(null); }}

相關文章
相關標籤/搜索