2016-11-12 10 views
0

画像ビューで画像を保存して表示するにはどうすればいいですか?アンドロイドスタジオに画像を保存して表示する

私のアプリには2つのボタンがあり、ボタンを押したときに画像ビューに画像が表示されます。私がしたいことは、その画像を保存することです、そして、私が再びアプリケーションを開いたとき、選ばれた画像はまだそこにあります。

私が何かを保存することを知っている唯一の方法は、共有設定ですが、この場合、それは動作しません。

誰かが私を助けることができますか?

public class MainActivity extends AppCompatActivity { 

ImageView imagen; 
Button boton; 

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

    imagen = (ImageView) findViewById(R.id.imagen); 
    boton = (Button) findViewById(R.id.boton); 

    SharedPreferences preferences= getSharedPreferences("Preferencias", MODE_PRIVATE); 
    String imagen= preferences.getString("Imagen", null); 
} 

public void boton1(View view){ 

    imagen.setImageResource(R.drawable.imagen1); 

    SharedPreferences preferences = getSharedPreferences("Preferencias", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putString("Imagen", imagen.getResources().toString()); 
    editor.apply(); 
} 

public void boton2(View view){ 

    imagen.setImageResource(R.drawable.imagen2); 

    SharedPreferences preferences = getSharedPreferences("Preferencias", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putString("Imagen", imagen.getResources().toString()); 
    editor.apply(); 
} 

}

答えて

0

あなたの共有優先して描画可能の文字列形式でURIを救うことができる:これは私のコードである

をありがとうございます。このように(描画可能名でyourImageNameの名前を変更):

SharedPreferences preferences = getSharedPreferences("Preferencias", Context.MODE_PRIVATE); 
String imageUri = preferences.getString("imageUri",null); 

if (imageUri != null) { 
    Uri uri = Uri.parse(imageUri); 
    yourImageView.setImageURI(uri); 
} 
+0

こんにちは、それは場合を除いて動作します(imageUri:あなたのMainActivityで

Uri imageUri = Uri.parse("android.resource://"+context.getPackageName()+"/drawable/yourImageName"); String uri_toString = imageUri.toString(); SharedPreferences preferences = getSharedPreferences("Preferencias", Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("imageUri", uri_toString); editor.apply(); 

は、onResumeにこのようなあなたのImageViewののイメージソースを設定! = null){ imagen.setImageURI(imageUri); } –

関連する問題