2014-09-18 4 views
1

sharedpreference를 사용하여 int를 저장하려고했는데 사용자가 선택하는대로 ID를 변경하고 사용자가 선택하고 읽는 방법을 저장하는 방법을 모릅니다. 저장하는 방법 나중에 읽는 방법을 알아낼 것이지만 누군가이 문제를 해결하는 방법을 알려줄 수 있습니까?Sharedpreference를 사용하여 int를 저장하는 방법은 무엇입니까?

여기 내 MainActivity입니다 :

public class MainActivity extends Activity implements OnClickListener { 

static int tophone; 
ImageView display; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    tophone = R.drawable.iv1; 
    display = (ImageView) findViewById(R.id.IView); 
    ImageView image1 = (ImageView) findViewById(R.id.iv1); 
    ImageView image2 = (ImageView) findViewById(R.id.iv2); 
    ImageView image3 = (ImageView) findViewById(R.id.iv3); 
    ImageView image4 = (ImageView) findViewById(R.id.iv4); 
    Button setWp = (Button) findViewById(R.id.setWp); 

    image1.setOnClickListener(this); 
    image2.setOnClickListener(this); 
    image3.setOnClickListener(this); 
    image4.setOnClickListener(this); 
    setWp.setOnClickListener(this); 

} 


@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()){ 
    case R.id.iv1: 
     display.setImageResource(R.drawable.iv1); 
     tophone = R.drawable.iv1; 
     break; 
    case R.id.iv2: 
     display.setImageResource(R.drawable.iv2); 
     tophone = R.drawable.iv2; 
     break; 
    case R.id.iv3: 
     display.setImageResource(R.drawable.iv3); 
     tophone = R.drawable.iv3; 
     break; 
    case R.id.iv4: 
     display.setImageResource(R.drawable.iv4); 
     tophone = R.drawable.iv4; 
     break; 
    case R.id.setWp: 
     Toast WpSet = Toast.makeText(MainActivity.this,"Wallpaper Set", Toast.LENGTH_SHORT); 

     DisplayMetrics metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 
     int height = metrics.heightPixels; 
     int width = metrics.widthPixels; 
     Bitmap tempbitMap = BitmapFactory.decodeResource(getResources(), tophone); 
     Bitmap bitmap = Bitmap.createScaledBitmap(tempbitMap,width,height, true); 
     WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this); 
     wallpaperManager.setWallpaperOffsetSteps(1, 1); 
     wallpaperManager.suggestDesiredDimensions(width, height); 
     try { 
      wallpaperManager.setBitmap(bitmap); 
      } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     WpSet.show(); 
     break; 

당신은 내가 "tophone"인 이미지의 ID를 저장할 볼 수 있습니다. 브로드 캐스트 레 이버에서 참조 할 수 있도록이 ID를 저장하려고합니다. 사전에 감사

+0

SharedPrefs에 저장하려고 시도하는 코드는 어디에 있습니까? – codeMagic

+0

"int tophone"@codeMagic –

+0

하지만 SharedPrefs를 사용하려고 시도했지만 아직 무엇을 잘못하고 있는지 알려주는 코드는 표시되지 않았습니다. 당신이 예제를 원한다면 인터넷과 문서에 많은 것들이 있습니다. – codeMagic

답변

4
당신을 위해

작은 예 :

설정 :

SharedPreferences sp = getSharedPreferences("myPrefs", Activity.MODE_PRIVATE); 
SharedPreferences.Editor editor = sp.edit(); 
editor.putInt("your_int_key", yourIntValue); 
editor.commit(); 

가져 오기 :

SharedPreferences sp = getSharedPreferences("myPrefs", Activity.MODE_PRIVATE); 
int myIntValue = sp.getInt("your_int_key", 0); 

BroadReceiverSharedPrefs에서 int 값을 얻으려면 :

당신이 할 수있는의 컨텍스트 사용은 BroadReceiver입니다.

@Override 
public void onReceive(Context context, Intent arg1) 
{ 
    SharedPreferences sp = context.getSharedPreferences("myPrefs",Context.MODE_PRIVATE);             
} 
+0

int 키는 무엇인가? –

+0

예를 들어 "amount", "size"와 같은 이름 만 내 –

+0

내 방송 응답자에서 읽는 방법 –

관련 문제