Android應用中為使用者儲存喜好設定(傳智播客視頻筆記)

來源:互聯網
上載者:User

應用產生的XML檔案儲存在/data/data/應用程式套件名/shared_prefs/name.xml中

(/data/data/com.sinaapp.shared/shared_prefs/ssun.xml)

SharedPreferenceActivity.java源碼:

package com.sinaapp.shared;</p><p>import java.util.Map;</p><p>import com.sinaapp.service.Service;</p><p>import android.app.Activity;<br />import android.os.Bundle;<br />import android.view.View;<br />import android.view.View.OnClickListener;<br />import android.widget.EditText;<br />import android.widget.Toast;</p><p>public class SharedPreferenceActivity extends Activity {<br /> /** Called when the activity is first created. */<br />EditText nameText;<br />EditText ageText;<br />Service service;<br />Map<String, String> map;</p><p> @Override<br /> public void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.main);<br /> nameText = (EditText)this.findViewById(R.id.nametext);<br /> ageText = (EditText)this.findViewById(R.id.agetext);<br /> service = new Service(this);<br /> map = service.getPreference();<br /> nameText.setText(map.get("name"));<br /> ageText.setText(map.get("age"));<br /> }</p><p> public void save(View v){<br /> String name = nameText.getText().toString();<br /> int age = Integer.parseInt(ageText.getText().toString());<br /> service.save(name,age);<br /> Toast.makeText(getApplicationContext(), "save success!", Toast.LENGTH_LONG).show();<br /> }<br />}
Service.java源碼:

package com.sinaapp.service;</p><p>import java.util.HashMap;<br />import java.util.Map;</p><p>import android.content.Context;<br />import android.content.SharedPreferences;<br />import android.content.SharedPreferences.Editor;</p><p>public class Service {<br />private Context context;</p><p>public Service(Context context){<br />this.context = context;<br />}</p><p>/**<br /> * 儲存參數<br /> * @param name<br /> * @param age<br /> */<br />public void save(String name, int age){<br />SharedPreferences preferences = context.getSharedPreferences("ssun", Context.MODE_PRIVATE);<br />Editor edit = preferences.edit();<br />edit.putString("name", name);<br />edit.putInt("age", age);<br />edit.commit();<br />}</p><p>/**<br /> *<br /> * @return 以前設定的參數<br /> */<br />public Map<String,String> getPreference(){<br />SharedPreferences preferences = context.getSharedPreferences("ssun", Context.MODE_PRIVATE);<br />Map<String,String> map = new HashMap<String, String>();<br />map.put("name", preferences.getString("name", ""));<br />map.put("age", String.valueOf((preferences.getInt("age", 0))));<br />return map;<br />}<br />}<br />
main.xml檔案:

<?xml version="1.0" encoding="utf-8"?><br /><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br /> android:layout_width="fill_parent"<br /> android:layout_height="fill_parent"<br /> android:orientation="vertical" ></p><p> <TextView<br /> android:layout_width="fill_parent"<br /> android:layout_height="wrap_content"<br /> android:text="@string/name" /></p><p> <EditText<br /> android:id="@+id/nametext"<br /> android:layout_width="match_parent"<br /> android:layout_height="wrap_content"<br /> android:inputType="text"<br /> android:ems="10" ></p><p> <requestFocus /><br /> </EditText></p><p> <TextView<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="@string/age" /></p><p> <EditText<br /> android:id="@+id/agetext"<br /> android:layout_width="match_parent"<br /> android:layout_height="wrap_content"<br /> android:inputType="number"<br /> android:ems="10" /></p><p> <Button<br /> android:id="@+id/button1"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="@string/save"<br /> android:onClick="save" /></p><p></LinearLayout>
strings.xml檔案:

<?xml version="1.0" encoding="utf-8"?><br /><resources></p><p> <string name="name">姓名</string><br /> <string name="age">年齡</string><br /> <string name="app_name">使用者參數設定</string><br /><string name="save">儲存</string><br /></resources>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.