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