2012-08-14 5 views
2

내 휴대 전화에 다른 앱을 실행할 수있는 응용 프로그램이 있습니다. 길게 클릭하면 앱 선택기가 표시됩니다. 결과적으로 의도 데이터가 표시됩니다. 사용자를 저장하려면 어떻게해야합니까? 닫을 때 다시 내 응용 프로그램에 오는 동일한 바로 가기 설정을 가지고 있습니까? 당신은 객체를 문자열로 직렬화하고, 환경 설정에서 결과 문자열을 절약 할 수공유 환경 설정에 인 텐트 저장

내가이

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("Counter1", counter); 
    editor.putBoolean("FirstRun", firstRun); 
    editor.putString("Label2", label2S); 

    editor.commit(); 

같은 다른 일을 저장하지만 난 의도

답변

0

와 동일 할 수 없습니다. 쉬운 방법은 예를 들어 Google Gson을 사용하여 json 형식으로 직렬화하는 것입니다.

+0

처럼 검색 저장 방법 을 발견? 나는 그것을 의도 한 것보다 uri로 변환하는 방법을 찾았지만 아무것도 찾을 수 없다. https://groups.google.com/forum/?fromgroups#!topic/android-developers/cffRLznyto0%을 발견했다. 5B1-25 % 5D 하지만 작동하지 않습니다. 저장할 수는 있지만 사용되지 않으므로 getIntent를 사용할 수 없습니다. – DoubleP90

5

좋아, 난 당신이 나에게 대안을 제공 할 수 있습니다,이

SharedPreferences settings = getSharedPreferences(PREFERENCES, 0); 
       SharedPreferences.Editor editor = settings.edit(); 
       String uriString = data.toUri(requestCode); 
       editor.putString("Contacts_app", uriString); 
       editor.commit(); 

같은 의도는 그런 내가 GSON에 익숙하지 않아요이

SharedPreferences settings = getSharedPreferences(PREFERENCES, 0); 
    String contactsApp = settings.getString("Contacts_app", null); 
    try { 
     telApp = Intent.parseUri(contactsApp, 0); 
    } catch (URISyntaxException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
관련 문제