마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

도움을 부탁드립니다....ㅠ (이미지뷰 저장 관련)

0 추천
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        
        switch (resultCode) {
        case 0:
            img1.setImageResource(R.drawable.profile1);
            editor.putInt("img001", R.drawable.profile1);
            editor.commit();
            break;
        case 1:
            img1.setImageResource(R.drawable.profile2);
            editor.putInt("img001", R.drawable.profile2);
            editor.commit();
            break;
        case 2:
            img1.setImageResource(R.drawable.profile3);
            editor.putInt("img001", R.drawable.profile3);
            editor.commit();
            break;
        case 3:
            img1.setImageResource(R.drawable.profile4);
            editor.putInt("img001", R.drawable.profile4);
            editor.commit();
            break;
        case 4:
            img1.setImageResource(R.drawable.profile5);
            editor.putInt("img001", R.drawable.profile5);
            editor.commit();
            break;
        case 5:
            img1.setImageResource(R.drawable.profile6);
            editor.putInt("img001", R.drawable.profile6);
            editor.commit();
            break;
        }
    }

1activity에서 intent를 이용해서 int값을 받아서 2activity에 선택한 인트값에 대한

이미지를 뿌려줬는데요.

이 상태에서 switch문에서 뿌려준 이미지를 저장해서 타 액티비티로 넘어갔다 오더라도

그 이미지가 유지되게끔 하려고 했는데

sharedpreferences 를 사용해보려고 일주일동안 끙끙대다가 결국 못 풀었습니다 ㅠ

 

private SharedPreferences sPreferences;
private SharedPreferences.Editor editor;

 

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_profile);
        
        sPreferences = getSharedPreferences(SWT.PREF_KEY, MODE_PRIVATE);
        editor = sPreferences.edit();
        editor.apply();

 

변수를 선언하고, onCreate메소드에 저런식으로 써놨는데요.

이리저리 써봐도 도통 되지를 않네요 ㅠㅠ 부탁드립니다. 안드로이드 1달째 배우는데 멘붕이 오고 있네요 ㅠ
익명사용자 님이 2016년 12월 20일 질문
editor.putInt("img001", R.drawable.profile0001_n); 가 잘 됐는지 안됐는지는 어디서, 어떻게 확인하고 있나요?
그건 아직 확인못해봤습니다 ㅠ
2주째 이 코드로 해보려고 안간힘쓰고 있는데 힘드네여...
private SharedPreferences sPreferences;
    private SharedPreferences.Editor editor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_profile);
       
        sPreferences = getSharedPreferences( "img01" , MODE_PRIVATE);
        editor = sPreferences.edit();
        editor.apply();
       
        et1 = (EditText) findViewById(R.id.editmessage);
        et2 = (EditText) findViewById(R.id.editphone);
        et3 = (EditText) findViewById(R.id.editpw);
        et4 = (EditText) findViewById(R.id.editpwch);
        et6 = (EditText) findViewById(R.id.editemail);
        btn1 = (ImageButton) findViewById(R.id.btn_button_ok001);
        btn2 = (ImageButton) findViewById(R.id.btn_button_cancel001);
        btn3 = (ImageButton) findViewById(R.id.btn_button_signout);
        btn4 = (ImageButton) findViewById(R.id.picture_edit);
        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
        btn3.setOnClickListener(this);
        btn4.setOnClickListener(this);
       
        img1 = (ImageView) findViewById(R.id.picture_profile);
        img1.setImageResource(drawable.profile0001_n);
       
    }

    public int getImg1() {
        return sPreferences.getInt("img002", MODE_PRIVATE);
    }


    public void setImg1(ImageView img1) {
            editor.putInt("img002", MODE_PRIVATE);
            editor.apply();   
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        switch (resultCode) {
        case 0:
            img1.setImageResource(R.drawable.profile0001_n);
            
            sPreferences = getSharedPreferences("img001" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", R.drawable.profile0001_n);
            
            editor.apply();
            
            break;
           
        case 1:
            img1.setImageResource(R.drawable.profile0002_n);
            
            sPreferences = getSharedPreferences("img002" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", R.drawable.profile0002_n);
            
            editor.apply();
            
            break;
           
        case 2:
            img1.setImageResource(R.drawable.profile0003_n);
            
            sPreferences = getSharedPreferences("img003" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", R.drawable.profile0003_n);
            
            editor.apply();
            
            break;
           
        case 3:
            img1.setImageResource(R.drawable.profile0004_n);
            
            sPreferences = getSharedPreferences("img001" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", R.drawable.profile0004_n);
            
            editor.apply();
            
            break;
           
        case 4:
            img1.setImageResource(R.drawable.profile0005_n);

            sPreferences = getSharedPreferences("img001" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", R.drawable.profile0005_n);
            
            editor.apply();
            
            break;
           
        case 5:
            img1.setImageResource(R.drawable.profile0006_n);

            sPreferences = getSharedPreferences("img001" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", R.drawable.profile0005_n);
            
            editor.apply();
            
            break;
        }
    }
switch (v.getId()) {
        case R.id.btn_button_ok001:
           
            sPreferences = getSharedPreferences( "img001" , MODE_PRIVATE);
            sPreferences.getInt("img002", a);
            img1.setImageResource(a);
            
           
            finish();
            break;

        case R.id.btn_button_cancel001:
            finish();
            break;

지금 private int a; 로 선언하고

a에 리소스값 넣고, 각 switch문마다 뿌렸습니다.

img1.setImageResource(R.drawable.profile0001_n);
            a = R.drawable.profile0001_n;
            sPreferences = getSharedPreferences("img001" , MODE_PRIVATE);
            editor = sPreferences.edit();
            editor.putInt("img002", a);
            editor.apply();

그리고 ok버튼을 통해 누르려했는데 안되네요 ㅠ


그리고 이 버튼중 ok 버튼 누르면 저장이 되고 cancel버튼을 누르면 저장이 되지 않게끔 하려고 했는데 제 수준에서 너무 넘어간건가요? ㅠ 자바 안드 공부한지 한달 되갑니다
댓글에 추가한 코드를 http://www.masterqna.com/android/1 이 글을 보고 본문에 이쁘게 표시되게 수정하세요. 빠르고 정확한 답변을 받으려면 http://www.masterqna.com/android/54133 읽어보시는 게 좋아요. 어려운 질문도 아니지만 아무도 답변을 안 달고 있다는 건 질문이 좋지 않아서 입니다.

1개의 답변

0 추천
img1 = (ImageView) findViewById(R.id.picture_profile);
        img1.setImageResource(drawable.profile0001_n);
        sPreferences.getInt("image", 0);

원래 설정해놨었던 이미지뷰를 get해서 불러오게 했는데

이렇게 하면 안되는건가요?
익명사용자 님이 2016년 12월 20일 답변
...