My issue was simpler than that. I was trying to get any setting to read, write, save, then recall under any condition. What I was doing wrong was I didn't have the xml file set up right. It appears to work fine now.
Thanks, it was from studying your code that I figured out what was wrong. So far, it works with power down, and a re-install, does it also work with upgrades? Here's the source code: package ree.sharedpreferences.share; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class actor extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main ); Button setter = (Button) findViewById(R.id.setter ); Button readinger = (Button) findViewById(R.id.readinger ); setter.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { SharedPreferences preferences = getSharedPreferences ("first_preferencescreen" , MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("eyesight", "Radar"); // value to store editor.commit(); } }); readinger.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { SharedPreferences preferences = getSharedPreferences ("first_preferencescreen" , MODE_PRIVATE); String j = preferences.getString("eyesight", "radio"); TextView k = (TextView) findViewById(R.id.lets_read ); k.setText(j); } }); } } /*<Button android:id="@+id/setter" android:text="SetSetting" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="22px" /> <Button android:id="@+id/readinger" android:text="ReadSetting" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="22px" /> */ And here's the xml, which is almost verbatim yours: <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/ android" android:key="first_preferencescreen"> <PreferenceCategory android:title="PrefCategory" android:order="1"> <EditTextPreference android:key="eyesight" android:title="eyes" android:summary="degree of resolution" android:singleLine="true" android:dialogMessage="Resolution" android:persistent="true"/> </PreferenceCategory> </PreferenceScreen> On Jan 26, 9:09 pm, Christoph Studer <chstu...@gmail.com> wrote: > If you do not store values with special characters in your settings, > it might be interesting to see some of your code in order to analyze > why you're losing them. > > If we're only talking about the problem with special characters, you > should be fine with Base64 encoding values that potentially lead to > problems. I think this puts the least overhead on the device and on > you as the developer. A simple wrapper class around these values that > encodes and decodes them in front of the SharedPreferences would be > enough. > > Especially putting it onto the SD card adds a lot of special cases > that you'd have to handle yourself, e.g. SD card not mounted or being > unmounted (which will kill your process if you don't handle it > correctly). > > Christoph > > On Tue, Jan 27, 2009 at 2:54 AM, radiolistener > > <radioliste...@optonline.net> wrote: > > > I've been struggling with these shared preferences. I want to save a > > resolution setting, so that people with different degrees of vision > > can see the screen. With a Diabetes application, this is a very > > important feature. > > > What I've found thus far, however I cut the cake, I lose my settings > > with either a cold boot or a re-install. This isn't readily tenable. > > So, I'm thinking of either writing them to the database or writing > > them to the sdcard. I'm weighing those two options now. > > > Any insights would be appreciated. > > > Thanks, > > > John aka Radiolistener > > > On Jan 25, 5:03 pm, Christoph Studer <chstu...@gmail.com> wrote: > >> Yeah, Base64 encoding would certainly help until the platform bug is fixed. > > >> I guess a lot of people with strong passwords (i.e. passwords > >> containing special characters) are in trouble with a lot of apps right > >> now. > > >> It's funny you mention two apps I share parts of the codebase with. I > >> stripped down ImapStore for my app and included it as a jar in my > >> package. But it's very very unlikely that this would have an impact. > > >> Christoph > > >> On Sun, Jan 25, 2009 at 5:53 PM, Daniel <android-...@danapple.com> wrote: > > >> > This has been a recurring problem with K-9: > >> >http://code.google.com/p/k9mail/issues/detail?id=143 > >> > and apparently the core Email as well: > >> >http://www.androidforums.com/showthread.php?p=16842 > >> > and possibly other apps, too: > >> >http://groups.google.com/group/android-developers/browse_thread/threa... > >> >http://www.mail-archive.com/android-developers@googlegroups.com/msg13... > > >> > Your observation about the < and > makes sense to me, as one reason > >> > the preferences can fail to save or load is due to XML generation or > >> > parsing problems. I've thought that perhaps Base64 encoding all of > >> > the preference values might be a smart move. > > >> > Dan. > > >> > On Jan 24, 11:56 am, Christoph Studer <chstu...@gmail.com> wrote: > >> >> Hello, > > >> >> I'm making use of SharedPreferences in my application. One part is a > >> >> PreferenceActivity and the other part is a backend that accesses the > >> >> preferences using PreferenceManager.getDefaultSharedPreferences(...). > >> >> Both parts are running in the same process, but potentially in > >> >> different threads. > > >> >> Now, from time to time, I encounter a reset of all the preferences. It > >> >> looks to me like this happens when my process is killed (e.g. when > >> >> installing a new version or starting the activity or service the first > >> >> time after a long time). However, it is not reproducible by killing > >> >> the process manually and it does not happen consistently. > > >> >> Are there other people who have the same problem? Is there a race > >> >> condition that could lead to something like this? > > >> >> The source code of my app can be found > >> >> here:http://code.google.com/p/android-sms/source/browse/ > > >> >> The relevant files > >> >> are:http://code.google.com/p/android-sms/source/browse/trunk/android-clie... > >> >> andhttp://code.google.com/p/android-sms/source/browse/trunk/android-clie... > > >> >> Thank you, > > >> >> Christoph --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---