Skip to main content

Log.e, Log.w…. Console를 제어 해보자

안드로이드 앱, 혹은 Java Application을 디버깅하기 위해서는 로그가 필수입니다.

잘 모르면 로그를 찍어보는게 가장 좋습니다.

보통은 다음과 같이 코드 사이에 쭉… 적어두었는데….

Log.e(MY_APP,"출력테스트"+aaa);

제품을 릴리즈 하거나, 배포 해야할 때는 불필요한 정보는 최대한 노출 시키지 않는게 좋겠죠… ?

public class myLog {
    // true 는 로그 노출 상태 , false는 로그를 출력하지 않음... 
    static final Boolean is_debug_log = true;


    /** Log Error **/
    public static final void e(String tag, String message) {
        if(is_debug_log) Log.e(tag, buildLogMsg(message));
    }

    /** Log Warning **/
    public static final void w(String tag, String message) {
        if(is_debug_log)Log.w(tag, buildLogMsg(message));
    }

    /** Log Information **/
    public static final void i(String tag, String message) {
        if(is_debug_log)Log.i(tag, buildLogMsg(message));
    }

    /** Log Debug **/
    public static final void d(String tag, String message) {
        if(is_debug_log)Log.d(tag, buildLogMsg(message));
    }

    /** Log Verbose **/
    public static final void v(String tag, String message) {
        if(is_debug_log)Log.v(tag, buildLogMsg(message));
    }

    //현제 클래스 스텍을 추적함
    public static String buildLogMsg(String message) {
        StackTraceElement ste = Thread.currentThread().getStackTrace()[4];
        StringBuilder sb = new StringBuilder();
        sb.append(ste.getFileName().replace(".java", ""));
        sb.append(".");
        sb.append(ste.getMethodName());
        sb.append(message);
        return sb generique de viagra.toString();
    }
}

is_debug_log 변수에 대해서는 BuildConfig.DEBUG를 이용하여 Android Studio에서 빌드를 선택하여

로그 출력 여부를 조정 할 수도 있습니다.

사용 방법은 어짜피 Static이기 때문에 다음 처럼 사용 할 수 있습니다.

myLog.i(TAG,"나는 로그로그");

더 좋은 아이디어 있으신분은 공유해주세엽… 뿅 -ㅅ-)/

안드로이드에서 View를 이미지로 저장하기

안드로이드 View를 이미지 파일로 저장하기 위한 메서드 입니다.

자세한 내용은 다음 코드를 참고하세요.

SD카드의 “적당한곳”에 이미지로 저장되게 된답니다.

(파일의 경로를 바꾸시거나 파일 포멧과 퀄리티를 바꾸시거나 알아서 잘…하실 겁니다. )

“적당한곳” 대신에 .cache 와 같이 . 으로 시작하는 폴더를 사용하시면, 겔러리에서 검색되지 않겠죠?

static public void MakeCache(View v,String filename){

        String StoragePath = 
               Environment.getExternalStorageDirectory().getAbsolutePath();
        String savePath = StoragePath + "/적당한곳";
        File f = new File(savePath);
        if (!f.isDirectory())f.mkdirs();

        v.buildDrawingCache();
        Bitmap bitmap = v.getDrawingCache();
        FileOutputStream fos;
        try{
            fos = new FileOutputStream(savePath+"/"+filename);
            bitmap.compress(Bitmap.CompressFormat cherche viagra a vendre.JPEG,80,fos);

        }catch (Exception e){
            e.printStackTrace();
        }
    }

테스트는 WebView에 대해서 테스트 해보았고 잘 작동하네요…

WebView이외 다른 View에도 사용 가능함으로 잘 활용해보세요. (좋네영~ )

현재는 Cache용도로 사용하고 있습니다.

ps. 이 글이 코드 하이라이트 테스트라고는 절대 말 못함.