제가 에디트 텍스트 하나 , 이미지뷰 하나를 두고 에디특텍스트에 텍스트를 입력하고
이미지뷰에는 클릭해서 갤러리에서 사진을선택하면 이미지뷰에 들어가게 됩니다.
그렇게 하고 저장버튼을 눌렀을때 아래 코드입니다.
//Main입니다.
// 저장
bSave1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
long time1 = System.currentTimeMillis();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss");
Date dd1 = new Date(time1);
String fileName1 = sdf1.format(dd1);
String data = et.getText().toString();
FileOutputStream fos = null;
try {
File f = new File(mSDpath + "/mydir/" + fileName1 + ".txt");
fos = new FileOutputStream(f);
fos.write(data.getBytes());
fos.close();
Toast.makeText(getApplicationContext(), "메모가 저장되었습니다.", 0)
.show();
} catch (Exception e) {
e.printStackTrace();
}
long time2 = System.currentTimeMillis();
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss");
Date dd2 = new Date(time2);
String fileName2 = sdf2.format(dd2);
Drawable d = bIv.getDrawable();
final Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
FileOutputStream out = null;
try{
out=new FileOutputStream(Environment.getExternalStorageDirectory().getPath()+"/myima/" + fileName2 + ".png");
bitmap.compress(Bitmap.CompressFormat.PNG, 50, out);
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
}
});
텍스트 와 이미지뷰에 들어간 사진을 각각 현재날짜.txt , 현재날짜.png로 sdcard 안에 각각 다른 폴더에
저장을 했습니다.
그렇게 해서 아이템을클릭시 코드입니다
//List.java
bList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parentView, View view,
int position, long id) {
Intent intent = new Intent(ListActivity.this,
ResultActivity.class);
intent.putExtra("data", arraylist.get(position));
startActivityForResult(intent,0);
}
});
해당 아이템을 누르면
//Result.java
TextView bt = (TextView) findViewById(R.id.tt);
ImageView bpng = (ImageView) findViewById(R.id.png);
ImageView bdraw = (ImageView) findViewById(R.id.draw);
intent = getIntent();
String bbt1 = (intent.getStringExtra("data").toString());
bt.setText(read(bbt1));
Bitmap bbt2 = (intent.getStringExtra("data").toString())
Bitmap myBitmap = BitmapFactory.decodeFile("/sdcard/myima/.png");
bpng.setImageBitmap(myBitmap); //여기가 문제..
}
String read(String fName) {
String diaryStr = null;
FileInputStream inFs;
try {
inFs = new FileInputStream("/mnt/sdcard/mydir/" + fName);
try {
byte[] txt = new byte[inFs.available()];
inFs.read(txt);
inFs.close();
diaryStr = (new String(txt)).trim();
} catch (IOException e) {
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return diaryStr;
}
}
결과 화면에 이미지뷰 하나와 텍스트뷰 하나를 두고 거기에 저장했던 txt파일은 텍스트뷰에 들어가고
png파일은 이미지뷰에 들어가게 했습니다. 그런데 지금은 txt파일 불러들이는 거가까지는 됐는데
png파일을 어떻게 이미지뷰에 가져와야할지 모르겠습니다. 똑같은 날짜로 저장이 됐습니다.
도와주십쇼..