Có một số cách để bạn có thể truy cập các biến hoặc đối tượng trong các lớp khác hoặc Hoạt động.
A. Cơ sở dữ liệu
B. tùy chọn được chia sẻ.
C. Nối tiếp đối tượng.
D. Một lớp có thể chứa dữ liệu chung có thể được đặt tên là Tiện ích chung tùy thuộc vào bạn.
E. Truyền dữ liệu thông qua ý định và giao diện linh hoạt.
Tùy thuộc vào nhu cầu của dự án của bạn.
A. Cơ sở dữ liệu
SQLite là một cơ sở dữ liệu mã nguồn mở được nhúng vào Android. SQLite hỗ trợ các tính năng cơ sở dữ liệu quan hệ chuẩn như cú pháp SQL, các giao dịch và các câu lệnh chuẩn bị.
Hướng dẫn - http://www.vogella.com/articles/AndroidSQLite/article.html
B. Shared Preferences
Giả sử bạn muốn lưu trữ tên người dùng. Vì vậy, bây giờ sẽ có hai điều Key Tên người dùng, Giá trị Giá trị.
Làm thế nào để lưu trữ
// 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();
Sử dụng putString(), putBoolean(), putInt(), putFloat(), putLong(), bạn có thể tiết kiệm dtatype mong muốn của bạn.
Làm thế nào để lấy
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String userName = sharedPref.getString("userName", "Not Available");
http://developer.android.com/reference/android/content/SharedPreferences.html
C. Object Serialization
Object serlization được sử dụng nếu chúng ta muốn lưu trạng thái đối tượng để gửi nó qua mạng hoặc bạn có thể sử dụng nó cho mục đích của bạn.
đậu Sử dụng java và lưu trữ trong nó là một trong những lĩnh vực của mình và thu khí sử dụng và setter cho rằng
JavaBeans là lớp Java có tài sản. Hãy suy nghĩ về các thuộc tính làm các biến cá thể riêng tư. Vì chúng là riêng tư, cách duy nhất chúng có thể được truy cập từ bên ngoài lớp học của chúng thông qua các phương thức trong lớp.Các phương thức thay đổi giá trị của thuộc tính được gọi là phương thức setter và các phương thức để truy lục giá trị của thuộc tính được gọi là phương thức getter.
public class VariableStorage implements Serializable {
private String inString ;
public String getInString() {
return inString;
}
public void setInString(String inString) {
this.inString = inString;
}
}
Đặt biến trong quý vị gửi phương pháp bằng cách sử dụng
VariableStorage variableStorage = new VariableStorage();
variableStorage.setInString(inString);
Sau đó sử dụng đối tượng Serialzation serialize đối tượng này và trong deserialize lớp khác của bạn đối tượng này.
Trong tuần tự hóa, một đối tượng có thể được biểu diễn dưới dạng chuỗi các byte bao gồm dữ liệu của đối tượng cũng như thông tin về loại đối tượng và loại dữ liệu được lưu trữ trong đối tượng.
Sau khi một đối tượng được tuần tự đã được ghi vào một tệp, nó có thể được đọc từ tệp và deserialized, thông tin loại và byte đại diện cho đối tượng và dữ liệu của nó có thể được sử dụng để tạo lại đối tượng trong bộ nhớ.
Nếu bạn muốn hướng dẫn cho này tham khảo liên kết này
http://javawithswaranga.blogspot.in/2011/08/serialization-in-java.html
Get variable in other classes
D. CommonUtilities
Bạn có thể tạo một lớp bằng cách tự của bạn có thể chứa dữ liệu chung mà bạn thường xuyên cần trong dự án của mình.
mẫu
public class CommonUtilities {
public static String className = "CommonUtilities";
}
E. Đi qua dữ liệu thông qua Intents
Vui lòng tham khảo hướng dẫn này cho tùy chọn này truyền dữ liệu.
http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/
Tất cả điều này làm việc cho tôi ngoại trừ 'Mục đích mới (null);' là "quá mơ hồ" và tôi đã phải thay đổi nó thành 'Mục đích mới'(); ' –
Điều này thật tuyệt vời: D –
Điều đáng chú ý là điều này sẽ chỉ hoạt động trong cùng một ngữ cảnh.Ví dụ: nếu bạn bắt đầu hoạt động từ một đoạn, nó sẽ không hoạt động vì mã requestCode sẽ khác nhau mỗi lần. Bạn sẽ cần sử dụng hàm getActivity(). StartActivityForResult() trong đoạn. – stef