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

안드로이드 파일 불러오기 질문드립니다. 도와주세요..

0 추천

제가 에디트 텍스트 하나 , 이미지뷰 하나를 두고 에디특텍스트에 텍스트를 입력하고

이미지뷰에는 클릭해서 갤러리에서 사진을선택하면 이미지뷰에 들어가게 됩니다.

그렇게 하고 저장버튼을 눌렀을때 아래 코드입니다.

//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파일을 어떻게 이미지뷰에 가져와야할지 모르겠습니다. 똑같은 날짜로 저장이 됐습니다.

도와주십쇼..

익명사용자 님이 2016년 10월 31일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...