2013-11-28 4 views
0

공유 환경 설정에서 문자열을 가져 오는 것을 어떻게 할 수 있었는지 알고 싶습니다. (이미 설정했습니다.) 문자열 배열로 출력하여 내 이미지 가져 오기 프로그램을 만듭니다. 읽을 수 있어야합니다 (읽을 수있는 배열이어야합니다).문자열 배열에 대한 공유 환경 설정

  SharedPreferences prefs; 
     prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
     prefs.getString("imgUrl", null); //Output imgUrl to String Array somehow 


// I would like my image fetcher to read a string array that has been fetched from shared preferences. 

mImageFetcher.loadImage(Fragment3.imgUrl[position 
       - mNumColumns], imageView); 

     return imageView; 
    } 
+0

내 솔루션에서 아이디어를 얻을 수 있습니다 ... –

답변

0

정말 SharedPrerences에 배열을 저장할 수는 없지만 모든 URL을 CSV (쉼표로 구분 된 값)와 같은 문자열에 저장하고 sharePreferences에 저장할 수 있습니다. 2 가지 방법이있는 관리자를 작성할 수 있습니다. 하나는 배열을 CSV 및 저장소로 변환하고 두 번째는 CSV를 가져와 배열로 변환합니다. 두 번째 방법은 JSONArray와 같은 데이터를 저장하는 것입니다. 두 개의 메소드가있는 관리자를 작성해야합니다. 하나는 배열을 JSONArray로 변환하고 Shared Preferences에 저장하고, 두 번째는 jsonArray를 변환합니다. 귀하의 배열에.

+0

좋습니다, 조언 해 주셔서 감사합니다. – Jack

+0

곧 공유하겠습니다. – Eddy

+0

[여기 링크입니다] (https://github.com/croitor-ivan/sources/blob/master/SaveToSharedPrefs) – Eddy

0

당신이 루프

에 사용하는 문자열을 얻을 수 있습니다 : 내가 공유 환경 설정에서 문자열을 얻고 다른 클래스에서

 case R.id.FavouriteWallpaper: 

     SharedPreferences prefs; 
     prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("imgUrl", mImageUrl); 
     editor.commit(); 

    } 
    return super.onOptionsItemSelected(item); 
} 

:

하나 개의 활동에서 나는 공유 환경을 설정하고

시험판 ...

 SharedPreferences prefs; 
     prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("imgUrl", mImageUrl); 


for(int i=0; i<arraylist.size(); i++) 
{ 
editor.putString("imgUrl"+i, arraylist.get(i).toString()); 

} 
editor.commit();