Android (안드로이드) 48

[Android] EditText InputType 정리

EditText에 적용할 수 있는 InputType 종류에 대해 알아보자.  별 것 아니지만 막상 적용하려고 하면 이게 이거였나..?하면서 자주 헷갈렸던 기억에, 미루고 미루다 이제서야 정리한다.    자주 쓰이는 InputType 종류  ✅ default  InputType을 지정하지 않은 EditText의 기본 값이다. 기본 형식은 텍스트 기반이며, 우측 하단의 버튼으로 EditText 내에서 줄바꿈을 할 수 있다.    ✅ text  default 타입과 비슷한 텍스트 기반이지만,우측 하단의 버튼이 줄바꿈이 아닌 완료 기능을 해준다.해당 버튼을 누르면 EditText가 포커스에서 벗어난다. (키패드가 내려감) 만약 화면 내에 EditText가 또 존재한다면, 다음 순서의 EditText로 포커싱이 ..

[Android] style.xml 파일 참조 / 레이아웃 xml 간소화하기

이전에 작성한 strings.xml, colors.xml 파일 참조과 비슷한 맥락의 포스팅이다.  [Android] strings.xml / colors.xml / string · color 파일 참조아직도 위와 같이 텍스트를 작성하고 있는 사람?? 노란색 경고창은 가볍게 생각하고 넘어가는 사람도 많다. 하지만 가벼운 경고라도 다 이유가 있으니 표시해 주는 게 아닐까? 경고 내용을 살펴oscarstory.tistory.com    이번 포스팅에서는 style.xml 파일을 활용하여 레이아웃 xml 파일을 다뤄보겠다.   style.xml 활용하기  간단한 예시로, 회원가입 화면 레이아웃을 짠다고 생각해보자.   동일한 형식을 가진 TextView, EditText가 반복되는 구조다. 위와 같은 형식의 U..

[Android] 화면 전환 애니메이션 효과 / 액티비티 전환 애니메이션 효과 / overridePendingTransition / overrideActivityTransition

액티비티 전환 시 애니메이션 효과를 적용해보자.   액티비티가 전환될 때 애니메이션을 적용하지 않은 기본 상태에서는 화면이 아래에서 위로 올라온다. 이번 포스팅에서는 위아래가 아닌, 좌우로 이동하는 느낌의 애니메이션을 적용해볼 것이다.   애니메이션 파일 만들기  화면 전환에 적용할 애니메이션 효과를 직접 지정해줘야 한다.  애니메이션 파일에 대한 기본 개념이 부족하다면 옛 포스팅을 참고하기 바란다.  [Android] 애니메이션 효과 / animation / View 움직임, 이동 / 트윈 애니메이션이번 포스팅에서는 View 에 애니메이션 효과를 부여함으로써, 앱에 생동감을 불어 넣어주는 작업을 해볼 것이다. 안드로이드에서 애니메이션을 적용할 수 있는 방법은 다양하다. 비트맵 애니메oscarstory...

[Android] strings.xml / colors.xml / string · color 파일 참조

아직도 위와 같이 텍스트를 작성하고 있는 사람?? 노란색 경고창은 가볍게 생각하고 넘어가는 사람도 많다. 하지만 가벼운 경고라도 다 이유가 있으니 표시해 주는 게 아닐까? 경고 내용을 살펴보면 '하드코딩 되었으니, @string 리소스를 사용해' 라는 내용이다. 이번 포스팅에서는 values 패키지에 있는 리소스 파일을 알아보자. strings.xml 안드로이드 스튜디오 좌측 프로젝트 탭에서 res > values 패키지 속에 있는 strings.xml 파일을 찾아보자. 파일을 열어보면 대충 다음과 같은 내용이 적혀 있을 것이다. 앱 이름 ... 이 파일에 앱에 들어갈 웬만한 텍스트를 정리해주면 된다. ... 제목 텍스트 완료 위와 같이 작성했다고 가정하고, 레이아웃 파일을 보자. strings.xml ..

[Android] onBackPressed / OnBackPressedDispatcher / 기기 · 시스템 뒤로가기 버튼 / 두 번 눌러서 뒤로가기

기기의 뒤로 가기 버튼을 눌렀을 때 발생하는 이벤트를 제어해보자. 안드로이드 기기라면 모두 갖고 있는 위 버튼이다. onBackPressed 기본적으로 액티비티는 AppCompatActivity를 상속하기에, 다음과 같이 onBackPressed() 메서드를 @Override하여 사용할 수 있다. @Override public void onBackPressed() { super.onBackPressed(); } 위 코드만 작성하고 실행해보면 달라진 것이 없을 것이다. super.onBackPressed()를 지워주고, 작업을 추가해보자. @Override public void onBackPressed() { Toast.makeText(this, "한 번 더 누르면 종료됩니다.", Toast.LENGTH_..

[Android] Google AdMob / 앱에 광고 붙이기 / 배너 광고

이번 포스팅에서는 앱에 광고 붙이는 방법을 알아보겠다. 광고는 Google AdMob을 사용할 것이다. Google AdMob ? Google AdMob은 앱으로 수익을 창출하려고 할 때 사용할 수 있는 모바일 광고 플랫폼이다. 개발자가 AdMob 플랫폼에 앱과 광고 단위를 등록하면 Google AdMob에서 사용자에게 알맞은 광고를 띄워준다. 즉, 개발자는 어떤 광고가 띄워질지는 모른다. 노출 수에 비례하는 수익을 창출하는 원리이며, 개발자는 AdMob 콘솔에서 광고 활동 보고서를 통해 세부 내용을 확인할 수 있다. 사용할 수 있는 광고 단위는 다음과 같다. 이번 포스팅에서는 배너 광고를 달아볼 것이다. 앱 적용 프로세스 크게 2가지 단계로 나누어 실습해보자. ✅ AdMob 콘솔에서의 작업 ● AdMo..

[Java] PaintFlag / SpannableString / 텍스트에 줄 긋기 / 밑줄 · 취소선 긋기 / 일부분만 적용

이번 포스팅에서는 텍스트에 줄 긋는 방법을 알아보겠다. ex) 밑줄 취소선 2가지 방법을 소개한다. ● View에 PaintFlag를 세팅하고 Paint 클래스 활용 ● SpannableString 클래스 활용 PaintFlag 기본 문법은 다음과 같다. TextView textView = findViewById(R.id.textView); ... textView.setPaintFlags(Paint 클래스 내 속성 값); Paint 클래스 내 속성 값은 해당 클래스를 들어가보면 확인할 수 있다. ✅ 밑줄 TextView textView = findViewById(R.id.textView); ... textView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG); 결과) ✅ 취소선..

[Android] Hilt / 힐트 / 예제 / 의존성 주입 라이브러리

지난 2편의 의존성 주입 포스팅에 이어 이번 포스팅에서는 Hilt 라이브러리에 대해 알아보자. Hilt 의존성 주입 목적 JetPack의 권장 라이브러리이며 Dagger를 기반으로 빌드되었다. Dagger와 마찬가지로 Annotation Processing을 사용한다. ✅ Dagger의 단점 부각 Dagger는 초기 DI 환경을 구축하는 비용이 비효율적이라는 의견이 많았다. Hilt를 사용하면 Dagger 관련 인프라를 간소화할 수 있다. 이는 기본적으로 Component를 제공해주기 때문이라고 볼 수 있다. Hilt의 내장 Component 관련해서는 예제를 따라가며 알아보자. 지난 Dagger 포스팅에서도 언급했지만, 공식 문서에서조차 Dagger가 아닌 Hilt 사용을 권장하고 있다. 사용해보자 ✅..