dev/aos 42

[AOS] adb연결 및 환경 변수 설정(GRADLE, SDK추가)

OS : Window (Mac은 .bash_profile을 source명령어로 실행시켜주면 되기 때문에 더? 간단했었다) 먼저 'adb.exe'실행 파일의 위치를 찾아야 한다. 보통 사용자(User)폴더의 숨은 폴더인 AppData의 Android폴더에 내장되어 있다. adb.exe위치 : \AppData\Local\Android\Sdk\platform-tools 해당 위치를 복사하여 이제 환경 변수에서 설정을 해준다 윈도우 검색 : 시스템 환경 변수 편집 환경 변수 클릭 위의 user에 대한 사용자 변수의 'Path'변수 편집 이전 adb.exe파일을 가지고 있는 폴더의 위치를 추가 시켜주면 끝 : \AppData\Local\Android\Sdk\platform-tools Gradle 환경 변수 설정 ..

dev/aos 2023.11.08

[AOS] Permission정리

Manifest.permission.READ_PHONE_STATE : Android기기의 휴대전화 상태 및 정보에 접근할 수 있도록 하는 권한 : 전화번호, 네트워크 상태, SIM카드 정보 : 주로 통화 관련 앱, 통신 관련 앱 및 식별 용도로 사용됨 : 사용자의 개인정보 보호와 관련이 깊다. Manifest.permission.WRITE_EXTERNAL_STORAGE : 앱이 외부 저장소에 파일을 작성할 수 있음 : 외부라는 것은 휴대기기의 저장소를 뜻 함 Manifest.permission.INTERNET : 인터넷 연결을 허용하여 '원격서버'와의 통신이 가능해짐 Manifest.permission.CAMERA : 카메라 장치에 접근하여 사진 및 동영상 촬영을 가능하게 함 : 플래시 기능도 가능 Ma..

dev/aos 2023.11.07

[AOS] 암시적 Intent의 Activity확인 방법

암시적으로 날리게 되는 'Intent'의 Activity가 도저히 무엇인지 모르는 상황이 찾아왔다. Manifest에는 수많은 액티비티들이 잔존하고 있었고, 그 중 90%이상은 사용 중이지 않다. 겹치는 Intent Filter도 많아서 곤욕이었지만, 역시 안드로이드의 없는 기능은 없다. ※intent안에 여러 action, intent-filter가 add된 이후 체크하는 방법 Intent intent = new Intent() intent.addCategory(Intent.CATEGORY_...); intent.putExtra(..., ...); intent.setPackage(...); // check Activity ComponentName componentName = intent.resolveA..

dev/aos 2023.11.07

[AOS] launchMode정리

A액티비티 → B액티비티로 이동 B액티비티에서 뒤로 가기 누른 뒤 작업 창에서 다시 해당 앱을 누르면 'B액티비티'가 이어서 표출하길 원했다. 하지만, A액티비티가 표출되었고, FLAG로 조절하는 줄 알았던 나의 오랜 기억을 다시 정리한다. 'launchMode' standard(기본값:생략) : 기본 값이다. TASK에 새로운 액티비티 인스턴스 스택이 쌓이게 된다. singleTop : 맨 위에 쌓인 액티비티 인스턴스를 재사용한다. 맨 위에 쌓였던 인스턴스가 아니면 새로 생성되게 된다. singleTask : 액티비티가 고유한 TASK에서 실행된다. 각 TASK에 하나만 존재하게 된다. singleInstance : 액티비티가 고유한 TASK에서 실행된다. singleTask와의 차이점은 TASK안에 ..

dev/aos 2023.10.30

[AOS] 다른 화면 띄우기 (Activity)

아주 간단한 앱이라면 한 화면에서 모든 처리가 가능하지만, 점점 규모나 살이 붙기 시작하면, 각 화면(페이지)마다 역할이 필요하기 마련이다. 대표적으로 두 가지 방법이 있다. Activity를 새로 띄우는 것과 Fragment방식으로 화면을 대체시키는 것 다시 정리하자면, Activity : 새로운 화면이 띄어짐 Fragment : 동일한 화면에 다른 화면이 띄어짐 웹을 배운 사람이라면 동적, 정적 페이지라는 의미와 비슷?한 느낌? Button을 클릭하면 새로운 Activity를 띄울 것이다. 언어 : Kotlin 동작 : MainActivity ▶ CalculateActivity [activity_main.xml] 버튼 하나만 중앙에 배치한 단순한 레이아웃 [activity_calculate.xml] ..

dev/aos 2023.10.26

[AOS] 웹뷰 WebView Guide

하이브리드의 꽃, 안드로이드와 웹뷰를 매우 잘 알고 사용하기 위해 정리 가이드 링크 : https://developer.android.com/guide/webapps/webview?hl=ko WebView에서 웹 앱 빌드 | Android 개발자 | Android Developers WebView에서 웹 앱 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경 developer.android.com WebView는 View의 확장 개념이며, 안드로이드에서 웹 페이지를 보기 위함 1. 로컬 페이지를 띄우는 것이 아니면 인터넷 권한 획득 ... 내부 이미지 로드 android:usesCleartext..

dev/aos 2023.10.23

[AOS] DataBinding XML이벤트 주고 받기

XML과 ViewModel이 서로 정의한 변수와 함수를 주고 받는 방식이다. 굉장히 선호하는 방식이고, 코드가 좀 더 간결하고 깨끗해진다. 총 두 가지 예시를 들 것이고, 토글 버튼(ToggleButton)과 일반 버튼(Button) UI를 사용할 것이다. 언어 : Kotlin 1. ToggleButton Binding : 토글 버튼 클릭시 'isToggleChecked'데이터가 갱신되고, : 'isToggleChecked'를 바라보고 있던 다른 UI가 즉시 갱신되도록 함 [코드 영역] val isToggleChecked = MutableLiveData(false) fun onCheckedChanged(isChecked: Boolean) { isToggleChecked.value = isChecked }..

dev/aos 2023.10.18

[AOS] 라이브러리(Library) 추가 방법

처음 직접 클래스와 함수를 만들고 Android SDK 영역 내에서 충분히 개발이 가능했지만, 시간이 지날수록 반복 사용되거나 통신 부분을 개발할 때 라이브러리를 찾게 된다. 초심자에게 라이브러리란 뭔가 어려운 존재처럼 느껴질 수 있으나, 지금까지 사용 하였던 모든 기능들은 프레임 워크와 더불어 android studio가 친절하게 gradle에 선언시켜 놓았기 때문에 사용이 가능했던 것들이다. 이젠 직접 라이브러리를 추가하여 봄으로써 그 무서움을 깼으면 좋겠다. Log를 간편하게 작성하고 출력시키는 라이브러리를 사용할 것이다. (나만 디버그 용도로 사용하려 만든 라이브러리이다) 라이브러리 저장소 위치 : https://github.com/b3lon9/NLog GitHub - b3lon9/NLog: an..

dev/aos 2023.10.15
728x90
반응형