전체 글 213

Imagview + Textview 형태 레이아웃 만들기

- 준비물 - 1. icon_user.png (아무이미지나 상관없음) 위와 같은 형태의 레이아웃은 보통 리스트아이템 형태로 레이아웃을 만든다. 이때, 여러가지 방법중 기본방법으로 만들게 되면 아래와 같이 만들게 된다. 근데 이미지와 텍스트의 구분동작이 따로 나뉘어 있지 않다면 TextView 하나로 퉁치는 방법이 있는데, 방법은 아래와 같다. !!단 위의 방법은 이미지 사이즈를 원본 그대로 써야한다는 단점이 있다. -> 위의 방법에서 사이즈 조절 하는 방법 알아보러가기(https://85chong.tistory.com/211) - 끝 -

Android Study 2023.09.08

EditText 패스워드 <-> 일반 Text 전환 함수

* 패스워드 입력시 눈 모양 아이콘을 눌러서 패스워드를 보여주게 만들고, 패스워드를 숨기는 기능이 들어가있다. 이때 도움에 가능한 유틸 함수를 하나 공유하려고함. /* isShow - t:문자열 보여주기 , f:문자열 숨기기 */ fun transformPasswordView(isShow: Boolean, edtView: EditText) { if (isShow) { edtView.transformationMethod = HideReturnsTransformationMethod.getInstance() } else { edtView.transformationMethod = PasswordTransformationMethod.getInstance() } edtView.setSelection(edtView...

Android Study 2023.09.06

App Finish 종료 방법

* 이슈 상황 : 앱을 두번눌러 종료 시킨다 > 바로 앱을 실행한다. > 앱이 재시작 되지 않는 이슈 -> 앱을 종료후 바로 앱을 실행 하였을때, 앱이 정상 실행 되도록 하기 1. 앱 종료시 완전히 종료 되었다는 변수를(static / companion object )등의 체크 한다 companion object { var isFinishedApp = false } 2. 종료할때 finish 로 종료해준다. fun finishApop() { finish() } 3. BaseActivity 공용 베이스 액티비티가 있다면 해당 액티비티에서 또는 종료 할 액티비티에서 해당 값을 체크해서 앱이 종료가 확실시 되었을때, 해당 액티비이에서 onDestory() 호출시 System.exit 를 이용하여 완전히 종료 ..

Android Study 2023.09.04

Home Brew 설치 방법

mac 은 윈도우와 환경이 달라서, 프로그램 설치시 복잡한 경우가 있다. 그래서 mac 에서 프로그램 을 쉽게 설치 할 수 있도록 도와주는 패키지 프로그램 Home Brew 를 설치하여 보다 쉽게 mac 에서 프로그램을 설치 할 수 있게 된다. - 준비물 - (mac book 만 있으면 됨) * 방법 - 1 1. home brew 설치 구글에서 hombrew 검색 > https://brew.sh/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 들어가서 아래와 같이 크게 쓰여있는 글씨 아래에 터미널 명령어 가 있는데 우측에 복사하기 버튼을 누른다. Install Homebrew 2. 설치할 mac 에 터미널을 연다. > 붙여넣기 한다..

MAC Book Menual 2023.09.03

Flexbox + Recyclerview

- 준비물 - 1. 준비된 Recyclerview , Adapter (추후 작성 예정) 2. library implementation 'com.google.android.flexbox:flexbox:3.0.0' 1. 준비된 RecyclerView 를 아래와 같이 세팅해 준다 2. 클래스단 세팅 ... val rcvMyList = findViewById(R.id.rcvMyList) rcvMyList.layoutManager = FlexboxLayoutManager(this).apply { flexWrap = FlexWrap.WRAP flexDirection = FlexDirection.ROW justifyContent = JustifyContent.FLEX_START } //myAdapter 는 준비된 사..

Android Study 2023.08.31

GlideApp 사용시 웹상에 나와있는 대부분 코드가 안될때 시도 방법

1. build.gradle(:app) kapt 사용 추가 plugins { ... id 'kotlin-kapt' } 2. build.gradl(:app) dependency 추가 dependencies { ... implementation 'com.github.bumptech.glide:glide:4.12.0' kapt 'com.github.bumptech.glide:compiler:4.12.0' ... } 3. Glide Module 파일 생성 MyGlideModule.kt (그냥 파일 생성해서 사용 가능하게끔만 해주면 끝) @GlideModule class MyGlideModule: AppGlideModule() - 위의 셋팅과 작업을 해 주어야만 아래의 코드 사용이 가능하다 (웹상 자료 중에는 세..

Android Study 2023.08.30

Android WebView 연동시키기 step-1

안드로이드 웹뷰 연동은 아래 3가지가 필요함 * 단순하게 디바이스의 기본 브라우저로 웹뷰를 보여주기만 하기 위함은 더욱 간단함 보통 웹뷰를 네이티브에 붙일때에는 아래와 같이 사용함 1. WebClient : 웹페이지 url load 의 시작, 진행, 끝 의 호출 되는 함수 연동시 사용함 2. AndroiBridge : 웹페이지와 통신할때 사용함 3. WebChromeClient : 웹페이지 파일 전송 , 웹페이지 팝업 창 연동할때 사용함 !! 웹뷰와 통신하거나 웹페이지 팝업 등의 컨트롤이 필요하지 않다면 1. 만 적용해도 됨 1-1. 기본적으로 필요한 WebClient 클래스 생성 (CustomWebview.kt) class CustomWebviewClient(val context: Context, va..

Android Study 2023.08.28