package com.google.mcommerce.sample.android.chapter07.preferences; // This file is MainActivity.java import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; import com.google.mcommerce.sample.android.R; public class PreferencesDemoActivity extends Activity { private Resources resources; private TextView tv = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); resources = this.getResources(); tv = (TextView) findViewById(R.id.text1); setOptionText(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mainmenu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_prefs) { Intent intent = new Intent().setClass(this, MainPreferenceActivity.class); this.startActivityForResult(intent, 0); } return true; } @Override public void onActivityResult(int reqCode, int resCode, Intent data) { super.onActivityResult(reqCode, resCode, data); setOptionText(); } private void setOptionText() { String valuesText; SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(this); // This is the other way to get to the shared preferences: // SharedPreferences prefs = getSharedPreferences( // "com.androidbook.preferences.sample_preferences", 0); String option = prefs.getString( resources.getString(R.string.selected_flight_sort_option), resources.getString(R.string.flight_sort_option_default_value)); String[] optionText = resources .getStringArray(R.array.flight_sort_options); // Compile a selection of preferences to display valuesText = "option value is " + option + " (" + optionText[Integer.parseInt(option)] + ")"; valuesText += "\nShow Arrival Time: " + prefs.getBoolean("show_arrival_column_pref", false); valuesText += "\nAlert email address: " + prefs.getString("alert_email_address", ""); tv.setText(valuesText); } }