다른 클래스 또는 활동의 변수 또는 개체에 액세스 할 수있는 몇 가지 방법이 있습니다.
A. 데이터베이스
B. 공유 선호도.
C. 객체 직렬화.
D. 공통 데이터를 보유 할 수있는 클래스는 사용자에 따라 공통 유틸리티로 명명 될 수 있습니다.
E. 인 텐트 및 Parcelable 인터페이스를 통한 데이터 전달.
프로젝트 요구 사항에 따라 다릅니다.
A. 데이터베이스
SQLite는 Android에 내장 된 오픈 소스 데이터베이스입니다. SQLite는 SQL 구문, 트랜잭션 및 준비된 문과 같은 표준 관계형 데이터베이스 기능을 지원합니다.
자습서-http: //www.vogella.com/articles/AndroidSQLite/article.html
B. 공유 기본 설정
사용자 이름을 저장한다고 가정합니다. 이제 키 사용자 이름, 값 값 이라는 두 가지가 있습니다 .
보관 방법
// Create object of SharedPreferences.
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
//now get Editor
SharedPreferences.Editor editor = sharedPref.edit();
//put your value
editor.putString("userName", "stackoverlow");
//commits your edits
editor.commit();
putString (), putBoolean (), putInt (), putFloat (), putLong ()을 사용하여 원하는 dtatype을 저장할 수 있습니다.
가져 오는 방법
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String userName = sharedPref.getString("userName", "Not Available");
http://developer.android.com/reference/android/content/SharedPreferences.html
C. 객체 직렬화
Object serlization은 객체 상태를 저장하여 네트워크를 통해 전송하거나 목적에 맞게 사용할 수있는 경우에 사용됩니다.
Java Bean을 사용하고 필드 중 하나로 저장하고 getter 및 setter를 사용하십시오.
JavaBeans는 속성이있는 Java 클래스입니다. 속성을 개인 인스턴스 변수로 생각하십시오. 비공개이므로 클래스 외부에서 액세스 할 수있는 유일한 방법은 클래스의 메서드를 통해서입니다. 속성 값을 변경하는 메서드를 setter 메서드라고하고 속성 값을 검색하는 메서드를 getter 메서드라고합니다.
public class VariableStorage implements Serializable {
private String inString ;
public String getInString() {
return inString;
}
public void setInString(String inString) {
this.inString = inString;
}
}
사용하여 메일 방법에 변수를 설정하십시오.
VariableStorage variableStorage = new VariableStorage();
variableStorage.setInString(inString);
그런 다음 개체 Serialzation을 사용하여이 개체를 직렬화하고 다른 클래스에서이 개체를 역 직렬화합니다.
직렬화에서 객체는 객체의 데이터뿐만 아니라 객체 유형 및 객체에 저장된 데이터 유형에 대한 정보를 포함하는 바이트 시퀀스로 표현 될 수 있습니다.
직렬화 된 객체가 파일에 기록 된 후에는 파일에서 읽고 직렬화 해제 할 수 있습니다. 즉, 객체와 해당 데이터를 나타내는 유형 정보와 바이트를 사용하여 메모리에서 객체를 다시 만들 수 있습니다.
이 튜토리얼을 원한다면이 링크를 참조하십시오.
http://javawithswaranga.blogspot.in/2011/08/serialization-in-java.html
다른 클래스에서 변수 가져 오기
디. CommonUtilities
프로젝트에서 자주 필요한 공통 데이터를 담을 수있는 수업을 스스로 만들 수 있습니다.
견본
public class CommonUtilities {
public static String className = "CommonUtilities";
}
E. 인 텐트를 통한 데이터 전달
이 데이터 전달 옵션에 대해서는이 튜토리얼을 참조하십시오.
http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/