한 활동에서 두 번째로 데이터를 전달하고 싶지만 두 번째 활동을 시작하지 않으려합니다. Intent를 사용하여 의도를 가지고 활동을 시작해야하기 때문에이 활동을 시작하지 않으려합니다. 어떻게해야합니까?이 두 번째 활동을 시작하지 않고 활동의 데이터를 다른 활동으로 전달하는 방법은 무엇입니까?
답변
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String myString = preferences.getString("myString", "N/A");
int myInt = preferences.getInt("myInt", -1);
U 그것은이 시작 아니지만 두 번째 활동에 데이터를 전달하는 논리적 소리를하지 않는 환경
을 공유 사용할 수 있습니다. 그러나 같은 여러 가지 방법으로 수행 할 수 있습니다 : 두 번째 활동 (나쁜 방법)의 변수 설정을 통해
;
SecondActivity.someValue = value; // for static variables
또는(new SecondActivity()).someValue = value; // for non-static variables
공유 - 환경 설정에 데이터를 넣고 다음에서 당신이 원하는 목적지 것을 사용. 첫 번째 활동에서
:
SharedPreferences.Editor prefEditor = PreferenceManager .getDefaultSharedPreferences(context).edit(); prefEditor.putString("key", "value"); prefsEditor.commit();
두 번째 활동에서 :
당신은 아마 당신의 디자인을 다시 생각해야SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context); String mValue= pref.getString("key", "default-value");
좋아요, 내가 원한 말을하지 않았기 때문에 논리적으로 들리지 않을 수도 있습니다. 프로그램하기. 연습을 위해 외국어로 된 단어를 배우기 위해 앱을 만들었습니다. 첫 번째 활동은 메뉴로, 2 개의 버튼으로 2 개의 활동을 시작합니다. 먼저 단어로 된 활동이 될 것입니다. 그리고 나는이 말이나 아는 것을 확인합니다. 그리고 나서 메뉴에는 내가 모르는 단어를 보여주는 활동을 시작하는 버튼이 될 것입니다; p 당신이 그것을 이해할 것이라고 생각합니다. – Radek
. 액티비티는 UI 구성 요소입니다. UI가 없다면 액티비티를 시작할 필요가 없습니다.
그냥 "할 일"이 필요하면 IntentService
을 사용하십시오. 액티비티를 시작하는 방법과 비슷한 의도로 시작할 수 있습니다. UI가 없습니다.
[링크] (https://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values) 다음을 수행 할 수도 있습니다. [Link] (https://stackoverflow.com/questions/7145606/how-android-sharedpreferences-save-store-object)에서 설명하는 개체 – Mahsa
그렇지 않은 경우 왜 데이터를 활동에 보내려고합니까? 그것을 시작하려고합니까? 해당 정보를 다른 활동으로 보내는 목적은 무엇입니까? 데이터를 저장하는 경우 Sqlite 또는 SharedPreference를 사용하여 설정을 지정할 수 있습니다. – Soumya
연습하려면 외국어 단어를 배우기 위해 응용 프로그램을 만들고 싶으므로 첫 번째 활동은 "메뉴"로, 메뉴에서는 2 개의 다른 활동을 시작하는 2 개의 단추가됩니다. 첫 번째 활동은 단어가있는 활동이 될 것이고, 나는이 단어 나 아는 것을 확인합니다. 그런 다음 메뉴에서 내가 선택한 단어를 보여주는 활동을 시작하는 버튼이 될 것입니다. 잘 모르겠습니다. – Radek