如何将值从一个应用程序的活动传递到另一个应用程序的应用程序

时间:2013-07-26 10:51:21

标签: android-activity android

我们使用Intent的额外DS在活动中传递值。如果我需要将值从Activity传递到Application,那么最好的方法是什么?

我使用了SharedPreferences,但是我无法看到设置的值。

我用过

PreferenceManager.getDefaultSharedPreferences(this).edit().putString(CURRENT_AIRLINE_IATA_CODE, AIRLINE_CODE);

为了阅读它,我使用了

PreferenceManager.getDefaultSharedPreferences(this).getString(CURRENT_AIRLINE_IATA_CODE, null);

Android文档说明SharedPreferences不能用于跨不同流程传递信息Note: currently this class does not support use across multiple processes. This will be added later. http://developer.android.com/reference/android/content/SharedPreferences.html

3 个答案:

答案 0 :(得分:0)

像这样设置

    SharedPreferences settings = getSharedPreferences(NAME, 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putString("send","hello");

得到这样的

SharedPreferences prefs = getSharedPreferences(
                "newshare",
                Context.MODE_PRIVATE);
         prefs.getString("send","not found");

答案 1 :(得分:0)

如果您将值设置为此类,则可以在应用程序中存储值。

public class MyApplication extends Application {
    private static MyApplication singleton;
    private Object value;

    // Returns the application instance 
    public static TVGidsApplication getInstance() {
        return singleton;
    }

    public final void onCreate() {
        super.onCreate() 
        singleton = this;
    }  

    public Object getValue(){
        return value;
    }

    public void setValue(Object value){
        this.value = value;
    }
}

然后从任何Activity(甚至任何其他类),您可以通过调用MyApplication.getInstance().setValue(value)将值传递给应用程序 并通过调用Activity从任何MyApplication.getInstance().getValue()获取。 value当然也可以是Object

以外的任何其他类型

答案 2 :(得分:0)

    public static void record(String key,Context context,String value)
{

    SharedPreferences pref=PreferenceManager.getDefaultSharedPreferences(context);
    SharedPreferences .Editor editor=pref.edit();

    editor.putString(key,value );
    editor.commit();


}



public static String getRecord(String key,Context context)
{
    return PreferenceManager.getDefaultSharedPreferences(context).getString(key,PREF_DEFAULT_VALUE);

}

您可以使用这些方法存储和获取首选项...希望它会有所帮助。