【问题标题】:How do I save pictures in my app?如何在我的应用程序中保存图片?
【发布时间】:2014-02-12 19:51:09
【问题描述】:
您好,我已经做到了,因此在我的应用中,用户可以通过单击将他们定向到他们的画廊的按钮来选择个人资料图片。他们选择了图片,这很好,但是一旦我退出应用程序或从多任务中删除,个人资料图片就消失了。我怎样才能保存它?我知道我需要共享首选项,但我不完全确定如何在代码中使用它。我是初学者。
【问题讨论】:
标签:
android
android-intent
action
【解决方案1】:
您需要覆盖 onPause() 方法并将您的图片保存在那里。
当您想获取它们时,您可以调用 Shered 首选项对象上的 getString 方法,如果该方法找不到键,则第二个参数是默认值。
在这里:
package com.example.sharedpreferences;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.widget.EditText;
public class MainActivity extends Activity {
EditText et1;
EditText et2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
SharedPreferences sp = getPreferences(Activity.MODE_PRIVATE);
et1.setText(sp.getString("il.co.gal.text1", ""));
et2.setText(sp.getString("il.co.gal.text2", ""));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onPause() {
super.onPause();
SharedPreferences sp = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor=sp.edit();
editor.putString("il.co.gal.text1", et1.getText().toString());
editor.putString("il.co.gal.text2", et2.getText().toString());
editor.commit();
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
}
}