[Android/Java] adb로 단말에 설치된 앱 버전 구하기
·
Android
[Android/Java] adb로 단말에 설치된 앱 버전 구하기 안녕하세요. 개발 중인 정주입니다. 오늘은 adb를 이용해 단말에 설치된 앱 버전을 구해보도록 하겠습니다. adb 접속하기 단말의 IP를 알거나 케이블로 연결되어 있으면 adb로 연결이 가능합니다. adb connect [IP] adb connect [Serial] 버전 구하기 연결을 한 후 접속을 하여 아래 명령어를 치면 앱의 버전을 알 수 있습니다. dumpsys package [package] | grep versionName 접속을 하지 않고 외부에서 한다면 앞에 adb shell을 추가하면 됩니다. 여러 대의 단말이 연결되어 있다면 아래 명령어를 앞에 추가하세요. adb -s [IP] shell 아직은 초보 개발자입니다. 더 효율..
[Android/Java] Failed to find Build Tools revision XXX 해결 방법
·
Android
[Android/Java] Failed to find Build Tools revision XXX 해결 방법 안녕하세요. 개발 중인 정주입니다. 오늘은 [Android/Java] Failed to find Build Tools revision XXX 해결 방법에 대해 알아보겠습니다. 에러 이유 Failed to find Build Tools revision XXX 에러는 에러 내용에서 원인을 찾을 수 있습니다. 프로젝트에서 설정한 XXX 버전의 Build Tool을 찾을 수 없어서 나오는 에러입니다. 해결 방법 프로젝트에서 설정한 버전을 있는 버전으로 수정하거나 Build Tool을 설치하면 됩니다. 저는 Build Tool을 설치하는 방향으로 해결을 했습니다. 빨간 동그라미 아이콘을 클릭하여 SDK 도..
[Android/Java] 코드로 TTS(TextToSpeech) 엔진 설정하기
·
Android
[Android/Java] 코드로 TTS 엔진 설정하기 안녕하세요. 개발 중인 정주입니다. 오늘은 코드로 TTS(TextToSpeech) 엔진을 설정하는 방법에 대해 알아보겠습니다. 시스템 설정에서 TTS 엔진을 설정하지 않고 앱에서 바로 설정할 수 있는 방법입니다. TTS 엔진 설정하기 https://developer.android.com/reference/android/speech/tts/TextToSpeech TextToSpeech | Android Developers developer.android.com TTS 공식 문서입니다. 해당 문서에는 TextToSpeech 객체의 생성자도 기술되어 있습니다. 두 번째 생성자의 마지막 매개변수 이름이 보이시나요? 바로 여기에 engine의 패키지명을 입력..
[안드로이드/에러] Maximum auto-size text size is less or equal to minimum auto-size text size 해결 방법
·
Android
안녕하세요. 안드로이드 Textview를 다루면서 Maximum auto-size text size is less or equal to minimum auto-size text size 에러가 발생해서 해결방법에 대해 포스팅합니다. 삼성 갤럭시 시리즈로 테스트 하였습니다. 관련 Reference 문서 https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview TextView 자동 크기 조절 | Android 개발자 | Android Developers Android 8.0(API 수준 26) 이상을 사용하면 TextView의 특성 및 경계에 따라 텍스트 크기를 자동으로 확장하거나 축소하여 레이아웃을 채우도록 TextVie..
[안드로이드] Mac Address 구하기
·
Android
안녕하세요. 핸드폰의 mac address를 구하는 방법입니다. 스택 오버플로우 등에는 현재는 동작하지 않는 코드가 많더군요. 저도 그것 때문에 고생을 했는데 아래 함수는 잘 사용하고 있습니다. 핸드폰 Mac Address 구하기 public static String getMacAddress() { String interfaceName = "wlan0"; try { List interfaces = Collections.list(NetworkInterface.getNetworkInterfaces()); for (NetworkInterface intf : interfaces) { if (interfaceName != null) { if (!intf.getName().equalsIgnoreCase(interf..
[안드로이드/에러] java.lang.IllegalThreadStateException 해결 방법
·
Android
안녕하세요. Thread를 다룰 때 나오는 RunTime Exception 중 하나인 java.lang.IllegalThreadStateException 해결 방법에 대해 알아보겠습니다. Android reference https://developer.android.com/reference/java/lang/IllegalThreadStateException?hl=ko-KR IllegalThreadStateException | Android 개발자 | Android Developers developer.android.com IllegalThreadStateException의 발생 원인 생성한 Thread의 상태가 비적합할 경우 발생하는 Exception입니다. 동일한 Thread 객체에 start()를 두..
[안드로이드] SP를 PX로 변환하기
·
Android
안녕하세요. 개발을 하다 보면 반드시 SP를 사용해달라는 요청이 있을 수 있습니다. SP를 PX로 변환하는 방법에 대해 알아보겠습니다. SP를 PX로 변환하기 public static int ConvertSPtoPX(Context context, int sp) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics()); } 인자로 context와 sp값을 넘기면 px값을 return합니다. 도움 되는 사이트 관련해서 도움이 되는 사이트도 남깁니다. dp, sp, px 등을 입력하면 자동으로 치환해주는 사이트입니다. 동적으로 값을 넣어야 하는 것이 아니라면 ..
[안드로이드] DP를 PX로 변환하기
·
Android
안녕하세요. 안드로이드 개발을 하면서 동적으로 크기, margin, padding 등을 설정할 때가 있습니다. 하지만 xml에서 주로 다루는 dp 수치는 아는데 정확한 px 수치는 모르는 경우가 있습니다. 이때 dp를 px로 변환하는 함수에 대해 알려드리겠습니다. DP to PX public static int ConvertDPtoPX(Context context, int dp) { float density = context.getResources().getDisplayMetrics().density; return Math.round((float) dp * density); } 인자로 context와 dp값을 넘기면 px값을 return합니다. 도움 되는 사이트 관련해서 도움이 되는 사이트도 남깁니다. ..
[안드로이드] 상태바(statusbar) 높이(height) 구하기
·
Android
안녕하세요. 디자인을 받아 작업하다 보면 상태바(status bar)의 높이를 알아야 할 때가 있습니다. 이때 status bar의 높이를 알 수 있는 함수를 알려드리겠습니다. status bar 높이 구하기 public static int getStatusBarHeight(Context context) { int screenSizeType = (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK); int statusbar = 0; if(screenSizeType != Configuration.SCREENLAYOUT_SIZE_XLARGE) { int resourceId = context...
[안드로이드] 디바이스 화면 넓이(width), 높이(height) 구하기
·
Android
안녕하세요. 개발을 하다보면 디바이스 전체 screen의 넓이(width)와 높이(height)를 구해야할 때가 있습니다. 이럴 때 사용하면 되는 함수를 알려드리겠습니다. 넓이(width) @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1) public static int getScreenWidth(Activity activity) { Display display = activity.getWindowManager().getDefaultDisplay(); // in Activity /* getActivity().getWindowManager().getDefaultDisplay() */ // in Fragment Point size = new Point(); d..
[안드로이드] 하단바(내비게이션바) 높이 구하기
·
Android
안녕하세요. 안드로이드 UI/UX 디자인을 할 때 하단바 위에 뷰를 위치하게 하고 싶을 때가 있습니다. 하지만 하단바 처리가 여간 까다로운 것이 아니죠. 기종에 따라 소프트웨어 하단바와 하드웨어 하단바로 나뉘기까지 하니까요. 오늘은 소프트웨어 하단바를 가지고 있다면 그 높이를, 없다면 0을 return하는 함수를 알려드리려고 합니다. public static boolean isUseBottomNavigation(Context context) { int id = context.getResources().getIdentifier("config_showNavigationBar", "bool", "android"); boolean useSoftNavigation = context.getResources().ge..
[안드로이드] Glide - URL 링크로 이미지 로드하기
·
Android
안녕하세요. url을 이용해서 이미지를 로드할 수 있는 Glide 라이브러리에 대해 알아보겠습니다. 해당 포스팅은 Glide git에 올라온 버전으로 작성하였습니다. Glide Git https://github.com/bumptech/glide GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling An image loading and caching library for Android focused on smooth scrolling - GitHub - bumptech/glide: An image loading and caching library for Android focuse..
[안드로이드] 며칠 뒤 날짜/시간 출력하기
·
Android
안녕하세요. 며칠 뒤의 날짜를 얻는 방법에 대해 알아보겠습니다. 하루 뒤, 일주일 뒤 날짜를 출력하는 것도 이 방법으로 가능합니다. "현재 날짜/시간 출력하기"를 다룬 이전 포스팅을 보고 오면 이해가 더 쉽습니다! 이전 포스팅 보러 가기 https://jeong9216.tistory.com/11 Android API reference https://developer.android.com/reference/java/util/Date?authuser=1 Date | Android 개발자 | Android Developers developer.android.com 1. 출력 포맷 선언하기 이번에는 2021-07-31로 날짜만 출력을 해보겠습니다 public static String format_yyyyMMdd..
[안드로이드] 현재 날짜/시간 출력하기
·
Android
안녕하세요. 오늘은 현재 날짜, 시간을 다양한 포맷으로 출력해보겠습니다. "며칠 뒤 날짜/시간 출력하기" 포스팅 보러가기 https://jeong9216.tistory.com/12 Android API reference https://developer.android.com/reference/java/util/Date?authuser=1 Date | Android 개발자 | Android Developers developer.android.com 1. 포맷 선언 출력할 포맷을 선언합니다. 예를 들어, 날짜를 2021-07-30처럼 출력하고 싶다고 한다면 "yyyy-MM-dd"로 포맷을 선언해야 합니다. 시간도 마찬가지로 12:00:00라면 "hh:mm:ss"로 선언하면 됩니다. 포맷이 yyyyMMdd-hh..
[안드로이드/기초] 앱 이름 변경하는 방법
·
Android
안녕하세요. 오늘은 안드로이드 기초, 앱 이름을 변경하는 방법에 대해 알아보겠습니다. 1. AndroidManifest 파일 열기 AndroidManifest.xml에서 작업을 합니다. AndroidManifest.xml의 위치를 모르시는 분은 위 사진을 참고하세요! AndroidManifest는 기본적으로 이렇게 작성이 되어 있습니다. 앱 이름을 변경하는 방법은 label 속성을 바꾸는 것입니다. 2. label 속성으로 앱 이름 변경하기 위 사진을 자세히 보셨다면 label 속성의 텍스트만 회색 배경이라는 것을 눈치채셨을겁니다. label 속성의 텍스트를 클릭하면 아래 코드로 변경이 됩니다. android:label="@string/app_name" string의 app_name을 label의 속성을..
유정주
'Android' 카테고리의 글 목록