2017년 4월 21일 금요일

Android 개발 관련

Android 개발 관련 정리 및 Tip 모음.

1. signing key 확인

signing key 파일과 apk 가 같은 key 인지 확인할때 아래 명령어 사용

1.1 signing key fingerprint 확인
keytool -list -keystore xxx.jks

1.2 apk fingerprint 확인
keytool -list -printcert -jarfile xxx.apk

위 2가지의 fingerprint 같으면 동일한 key 로 서명이 된것임.

2. Log

Log 출력시, line, method name 포함하여 보여준다.
아래와 같은 식으로, level 별로 각각 만들면 됨.
LOGV_TAG 는 기존 로그와의 호환을 위해 사용.

Log.java

public class Log {
    public final static String TAG = "InputCommonTagName";

    public static final boolean LOGV = true;
    static final boolean LOGV_TAG = true;


    static int mLine=0;
    static String mName="";
    static String mPkg="";
    
    public static void v(String logMe) {
        if(LOGV) {
            StackTraceElement[] stack = (new Throwable()).getStackTrace();
            mLine = stack[1].getLineNumber();
            mName = stack[1].getMethodName();
            mPkg = stack[1].getFileName();
            android.util.Log.v(TAG, ""+mPkg+", "+mLine+" line, "+mName+"(), "+logMe);
        }
    }

    public static void v(String tag, String logMe) {
        if(LOGV_TAG) android.util.Log.v(tag, logMe);
    }
}


3. Live Templates 연동 (Android Studio)

File -> Settings -> Editor -> Live Templates -> AndroidLog

Add -> 적당한 이름 추가.






3-1. method 에 parameter 같이 출력하기.

3-1-1. android.util.Log 사용시

Template text :

Log.d("TAG_NAME", "$CLASS_NAME$ : $METHOD_NAME$()" : $content$);

$content$ 에 대한 Edit variables 작성 (그림 참고)

groovyScript("def params = _3.collect {it + ' = [\" + ' + it + ' + \"]'}.join(', '); return '\"' + _1 + ' : ' + _2 + '()' + (params.empty ? '' : ' : ' + params) + '\"'", className(), methodName(), methodParameters())


3-1-2. 2번의 Log 사용시

Log.d($content$);

groovyScript("def params = _1.collect {it + '=\"+'+it}.join('+ \"'); return '\"' + (params.empty ? '' : params)", methodParameters())

or

groovyScript("def params = _1.collect {it + ' = [\" + ' + it + ' + \"]'}.join(', '); return '\"' + (params.empty ? '' : params) + '\"'", methodParameters())


3-2. return value 같이 출력하기

3-2-1. android.util.Log 사용시

Template text :

Log.d("TAG_NAME", "$CLASS_NAME$ : $METHOD_NAME$() returned: " + $result$);

$content$ 에 대한 Edit variables 작성 (그림 참고)

variableOfType(methodReturnType())


3-2-2. 2번의 Log 사용시

Log.d("returned : $result$=" +  $result$);

$result$ 에 대한 Edit variables 작성
variableOfType(methodReturnType())


댓글 없음:

댓글 쓰기

Android Jetpack viewpager2

  Android Jetpack ViewPager2 기본 개념 및 샘플 코드 오늘은 안드로이드 개발에 있어서 굉장히 유용한 컴포넌트 중 하나인 ViewPager2에 대해 이야기해볼까 합니다. ViewPager2는 사용자 인터페이스에서 여러 화면을 좌우...