0

私はアンドロイド開発が初めてです。別のパッケージからクラスを拡張する方法はありますか? 同じパッケージ内のクラス間で共有設定にアクセスできますが、別のパッケージから共有設定を取得しようとしています。ただし、別のパッケージでは、editor.commit() を実行する方法や、別のパッケージにある共有設定を編集する方法がわかりません。助けてください。

4

2 に答える 2

0
共有設定を使用して 2 つのアクティビティ間でデータを共有する例を示します。
このコードを使用すると、共有設定がどのように機能するかがわかります。
同じアプリケーション内の異なるパッケージにある 2 つのアクティビティ間でデータを共有することもできます。
PracSharePrefActivity クラス
package com.sharedpref;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class PracSharePrefActivity extends Activity {

    private SharedPreferences settings;
    private String name,subject;
    private Button btnSave;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        settings = PreferenceManager.getDefaultSharedPreferences(this);

        name = settings.getString("Name","");
        subject = settings.getString("Subject", "");

        Log.e("Name0==",name);
        Log.e("Subject0==",subject);


        String yourName="Deval";
        String yourSubject="Android";

        SharedPreferences.Editor editor = settings.edit();

        editor.putString("Name",yourName);
        editor.putString("Subject", yourSubject);

        editor.commit();

        Log.e("Name 1==",settings.getString("Name", ""));
        Log.e("Subject 1==",settings.getString("Subject", ""));       


        btnSave=(Button)findViewById(R.id.btnsave);
        btnSave.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i=new Intent(PracSharePrefActivity.this,GetSharedPref.class);
                startActivity(i);
            }
        });

    }



}
「GetSharedPref」クラス
package com.sharedpref;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;

public class GetSharedPref extends Activity {
    private SharedPreferences preferences;
    private String name,subject;
     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.pref);          

            preferences = PreferenceManager.getDefaultSharedPreferences(this);
            name = preferences.getString("Name", "");
            subject=preferences.getString("Subject", "");

            Log.e("Name:  ",preferences.getString("Name", ""));
            Log.e("Subject:  ",preferences.getString("Subject",""));

            preferences = PreferenceManager.getDefaultSharedPreferences(this);    
     }
}
于 2012-05-14T05:33:06.753 に答える
-2

このコードを試してください

文字列を sharedpreference に入れる

    SharedPreferences USERNAME_and_PASSWORD;
            SharedPreferences.Editor editor;

USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key,
                MODE_PRIVATE);
        editor = USERNAME_and_PASSWORD.edit();
                editor.putString(user_name_key, userName);
                editor.commit();

共有設定から文字列を取得する

    SharedPreferences USERNAME_and_PASSWORD;
 USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key,
                    MODE_PRIVATE);
     USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key,
                        MODE_PRIVATE);
    String Return_Password = USERNAME_and_PASSWORD.getString(pass_word_key,
                    "Guest");
于 2012-05-14T05:32:05.257 に答える