Android SDK 화면의 우측 하단의 Show Package Details를 체크하면 아래와 같이 세부 설정 화면이 나타나는데 여기서 설치될 시스템 이미지를 확인할 수 있으며, 추가로 다른 옵션을 선택하여 설치를 진행할 수도 있습니다.
2021년 6월 10일 목요일
안드로이드(Android) SDK 메뉴 위치, 단축키 및 SDK 설치 방법
Android SDK 화면의 우측 하단의 Show Package Details를 체크하면 아래와 같이 세부 설정 화면이 나타나는데 여기서 설치될 시스템 이미지를 확인할 수 있으며, 추가로 다른 옵션을 선택하여 설치를 진행할 수도 있습니다.
2021년 6월 1일 화요일
[안드로이드] 개발 테스트시 로그 출력 효율적으로 사용하기
안드로이드 스튜디오에서 앱을 작성하고 테스트하다 보면 디버그를 하기 위해서 로그를 출력할 때가 많이 있습니다. 조금 복잡해지다 보면 내가 로그를 어디에 넣었는지, 어느 곳의 로그가 출력된 것인지 헛갈릴 때가 종종 있습니다.
그리고 테스트가 종료되어 릴리즈를 할 경우에는 로그가 출력되지 않도록 해야 하는데 이럴 때 아래와 같이 로그 출력 클래스를 작성하여 사용하면 좀 더 효율적으로 작업을 할 수 있습니다.
로그 출력 클래스:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | public final class DLog { public static void v(String msg) { linkLog(Log.VERBOSE, msg); } public static void d(String msg) { linkLog(Log.DEBUG, msg); } public static void i(String msg) { linkLog(Log.INFO, msg); } public static void w(String msg) { linkLog(Log.WARN, msg); } public static void e(String msg) { linkLog(Log.ERROR, msg); } private static void linkLog(int priority, String msg) { // Build Config설정이 Debug모드일때만 로그를 출력한다. if (BuildConfig.DEBUG) { StringBuilder strBuilder = new StringBuilder(); // Thread에서 4번째 stacktrace를 가져오는데 // 클래스 설계에 따라 달라질 수 있다. StackTraceElement trace = Thread.currentThread().getStackTrace()[4]; String classPath = trace.getClassName(); // .위치를 찾아서 .뒷부분의 문자열(확장자)을 가져온다. String className = classPath.substring(classPath.lastIndexOf(".") + 1); strBuilder.append(className) .append(".") .append(trace.getMethodName()) .append("(") .append(trace.getFileName()) .append(":") .append(trace.getLineNumber()) .append(")"); // priority, tag, msg Log.println(priority, strBuilder.toString(), msg); } } } | cs |
위의 클래스를 프로젝트에 포함시키고 1 2 3 4 5 6 7 8 9 10 11 12 13 | public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { DLog.d("onCreate started!"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int number = 1 + 2; DLog.d("number is " + number); } } | cs |
위와 같이 DLog.d로 로그를 출력해 보면< 우선순위/클래스명.메소드명(로그출력 위치 링크): msg > 와 같이 출력되어'로그출력 위치 링크'를 눌러 로그를 출력한 곳으로 이동할 수도 있고보다 효율적으로 작업이 가능할 것이라 생각됩니다.... D/MainActivity.onCreate(MainActivity.java:11): onCreate started!
... D/MainActivity.onCreate(MainActivity.java:16): number is 32021년 5월 30일 일요일
두뇌 훈련을 통한 집중력 향상 수학 퍼즐 게임 모음
1. 하파고(Hapago) - 합하고
2. 2D 롤링 퍼즐 게임 (2D Rolling Puzzle Game)
1. START 버튼을 눌러 퍼즐 그림을 섞고 게임을 시작합니다.
2. 블록을 가로방향 또는 세로방향으로 swipe하여 블록을 이동시킵니다
3. Flip 버튼을 누르면 블록의 뒷면을 확인할 수 있습니다.
4. 설정 버튼을 이용하여 보드 이미지를 바꾸거나 퍼즐의 조각수를 바꿀 수 있으며, 소리재생 여부, 퍼즐조각에 숫자 표시 여부 등을 설정할 수 있습니다.
2021년 5월 21일 금요일
[안드로이드] 플랫폼 버전별 API 레벨 및 버전코드
1. 안드로이드 플랫폼 버전별 API 레벨 및 버전코드 (2021.5)
플랫폼 버전 | 코드 명 | API 레벨 | 버전 코드 |
Android 11 | Android 11 | 30 | R |
Android 10.0 | Android 10 | 29 | Q |
Android 9 | Pie | 28 | P |
Android 8.1 | Oreo | 27 | O_MR1 |
Android 8.0 | Oreo | 26 | O |
Android 7.1.1 | Nougat | 25 | N_MR1 |
Android 7.1 | |||
Android 7.0 | Nougat | 24 | N |
Android 6.0 | Marshmallow | 23 | M |
Android 5.0 | Lollipop | 22 | LOLLIPOP_MR1 |
Android 5.0 | Lollipop | 21 | LOLLIPOP |
Android 4.4W | KitKat Wear | 20 | KITKAT_WATCH |
Android 4.4 | KitKat | 19 | KITKAT |
Android 4.3 | Jelly Bean | 18 | JELLY_BEAN_MR2 |
Android 4.2, 4.2.2 | Jelly Bean | 17 | JELLY_BEAN_MR1 |
Android 4.1, 4.1.1 | Jelly Bean | 16 | JELLY_BEAN |
Android 4.0.3, 4.0.4 | IceCreamSandwich | 15 | ICE_CREAM_SANDWICH_MR1 |
Android 4.0, 4.0.1, 4.0.2 | IceCreamSandwich | 14 | ICE_CREAM_SANDWICH |
Android 3.2 | Honeycomb | 13 | HONEYCOMB_MR2 |
Android 3.1.x | Honeycomb | 12 | HONEYCOMB_MR1 |
Android 3.0.x | Honeycomb | 11 | HONEYCOMB |
Android 2.3.4 | Gingerbread | 10 | GINGERBREAD_MR1 |
Android 2.3.3 | |||
Android 2.3.2 | Gingerbread | 9 | GINGERBREAD |
Android 2.3.1 | |||
Android 2.3 | |||
Android 2.2.x | Froyo | 8 | FROYO |
Android 2.1.x | Eclair | 7 | ECLAIR_MR1 |
Android 2.0.1 | Eclair | 6 | ECLAIR_0_1 |
Android 2.0 | Eclair | 5 | ECLAIR |
Android 1.6 | Donut | 4 | DONUT |
Android 1.5 | Cupcake | 3 | CUPCAKE |
Android 1.1 | Base | 2 | BASE_1_1 |
Android 1.0 | Base | 1 | BASE |
[JAVA] hashMap에서 key값으로 Value값 찾기, Value값으로 key값 찾기
Java프로그램을 작성하다가 Color값 배열을 만들고 인덱스로 배열 값을 가져오다가 그 반대로 배열 값을 가지고 인덱스를 구해야 하는 상황이 발생하였다. 참고하려고 정리한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
-
안드로이드(Android)에서 Android SDK 플랫폼 버전을 추가로 설치하거나 확인해야 하는데 어디에 있는지 기억나지 않는 경우가 있습니다. Android SDK 메뉴 위치는 버전마다 조금씩 다를 수 있는데, 아래는 안드로이드 스튜디오 4.1...
-
개발을 진행하다 보면 사용자 단말의 안드로이드 버전에 따라 지원되는 기능과 지원되지 않는 기능이 있어 이를 버전별로 달리 처리해주어야 할 때가 있다. 이러한 경우를 대비하여 안드로이드 플랫폼 버전별 AP I레벨과 버전코드를 알아보고 버전별로 다른...
-
Java프로그램을 작성하다가 Color값 배열을 만들고 인덱스로 배열 값을 가져오다가 그 반대로 배열 값을 가지고 인덱스를 구해야 하는 상황이 발생하였다. 참고하려고 정리한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...










