sitelink1 https://jess0718.blog.me/40122824255 
sitelink2  
sitelink3  

아래의 코드에서 '디렉토리명' '파일명' 부분에 자신이 원하는 디렉토리명과 파일명을 입력해주면 되겠다. 

 

 

 

private void screenshot(Bitmap bm) {

try {

     File path = new File("/디렉토리명");

                   

          if(! path.isDirectory()) {

     path.mkdirs();

          }

          

String temp = "/디렉토리명/";

temp = temp + "파일명";

          temp = temp + ".jpg";

            

FileOutputStream out = new FileOutputStream(temp);

            bm.compress(Bitmap.CompressFormat.JPEG, 100, out);

                   

            sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,

          Uri.parse("file://" + Environment.getExternalStorageDirectory())));

} catch (FileNotFoundException e) {

          Log.d("FileNotFoundException:", e.getMessage());

     }           

}

 

 

 

간단하게 코드를 설명하자면 path에 디렉토리 경로를 저장하고 만약 디렉토리가 존재하지 않으면 디렉토리를 생성하게 한다.

 

그 다음으로 디렉토리명에 파일명을 붙여 저장될 파일명을 지정하는 과정을 거쳐 파일 출력을 통해 JPEG파일의 형태로 저장하게 된다.

 

그 다음으로 브로드캐스트를 통해 새로운 파일을 검색하도록하여 갤러리에서 저장된 그림 파일을 확인할 수 있게 해준다.

 

 

 

위의 메소드만 실행해서는 파일이 저장되었는지 확일 할 수 없으므로 위의 뇌구조 테스트 어플에서 처럼

 

어떠한 파일명으로 저장되었는지 확인 출력해주는 토스트 메시지를 하나 간단하게 띄워주면 더욱 좋을 것 같다.

 

 

button.setOnClickListener(new OnClickListener() {

                     

@Override

     public void onClick(View v) {

     try {

          View v1 = layout.getRootView();

               v1.setDrawingCacheEnabled(true);

               bm = v1.getDrawingCache();

               screenshot(bm);

               Toast.makeText(MainActivity.this, "저장되었습니다.", Toast.LENGTH_SHORT).show();

          } catch (Exception e) {

          e.printStackTrace();

          }

     }

});

 

 

  

 

위의 스크린샷 메소드를 사용하는 부분의 소스코드이다.  try-catch문의 스크린샷 메소드 호출 전에 루트뷰를 얻는 부분과

 

메소드 아래의 토스트 메시지를 띄워 저장이 되었음을 알려주는 부분으로 나눠볼 수 있을 것 같다.

번호 제목 글쓴이 날짜 조회 수
48 [안드로이드 웹뷰] 파일 시스템으로 부터 HTML 로딩 황제낙엽 2018.08.21 87
47 내부 저장소 접근 함수 API 와 실제 저장소 경로 황제낙엽 2018.08.21 85
46 뷰 캡처하여 이미지 파일로 저장하기(화면 캡처)-06 file 황제낙엽 2018.08.19 991
45 안드로이드 파일 객체 생성자 황제낙엽 2018.08.19 90
44 파일 입출력(내장 메모리, 외장메모리) 황제낙엽 2018.08.19 720
43 뷰 캡처하여 이미지 파일로 저장하기(화면 캡처)-05 황제낙엽 2018.08.19 132
42 뷰 캡처하여 이미지 파일로 저장하기(화면 캡처)-04 file 황제낙엽 2018.08.12 1711
41 뷰 캡처하여 이미지 파일로 저장하기(SD카드로 화면 캡처)-03 file 황제낙엽 2018.08.12 150
40 뷰 캡처하여 이미지 파일로 저장하기(화면 캡처)-02 황제낙엽 2018.08.12 133
39 뷰 캡처하여 이미지 파일로 저장하기(화면 캡처)-01 황제낙엽 2018.08.12 86
» 뷰 캡처하여 이미지 파일로 저장하기(화면 캡처)-00 황제낙엽 2018.08.12 109
37 [HttpURLConnection] 서버와 세션 유지 황제낙엽 2018.08.12 58
36 [HttpURLConnection] 세션 관리 황제낙엽 2018.08.12 27
35 이미지 크기 변경(Image resize) file 황제낙엽 2018.08.09 108
34 Emulator: audio: Failed to create voice `adc' 황제낙엽 2018.08.06 1007
33 install_failed_invalid_apk file 황제낙엽 2018.08.06 49
32 Image to byte Array (바로 사용가능한 JPEG 파일) 황제낙엽 2018.07.24 612
31 안드로이드 스튜디오(Android Studio) 최적화 file 황제낙엽 2018.02.07 433
30 Android Studio for beginners, Part 4: Advanced tools and plugins (2) file 황제낙엽 2018.02.02 14
29 Android Studio for beginners, Part 4: Advanced tools and plugins (1) file 황제낙엽 2018.02.02 26