분류 전체보기518 [안드로이드 kotlin] Fragment에서 Context 사용 방법: findViewById, runOnUiThread, Toast 등 보통 액티비티에서 Fragment 를 띄우는 경우, 액티비티 내부에서 사용할 수 있었던 메서드들이 Fragment에선 사용할 수 없는 경우가 많다. 또한 파라미터로 Context를 받는 메서드들도 어떻게 사용해야할지 난감할 수 있다. Fragment클래스는 Context를 상속 받지 않기 때문에 발생하는 일이다. 즉, 일반적인 방법으로는 Fragment 내부에서 아래의 메서드들을 사용하기가 어렵다. 1. Context 에 정의된 메서드 - findViewById, runOnUIThread, getApplicationContext , getSystemService, startActivity 등 2. Context를 파라미터(매개변수)로 받는 메서드 - Toast 등 # Framgment에서 Context .. 2021. 7. 21. [안드로이드 Kotlin] Fragment 에서 뷰바인딩(View Binding) 사용 방법 이 글은 Kotlin 언어로 안드로이드 앱 개발 시, Fragment에서 뷰바인딩(View Binding)을 설정하고 사용하는 방법에 대해 정리한다. 뷰바인딩을 설정하는 방법과 Activity에서 사용하는 방법은 아래 글을 참고하자. [안드로이드 Kotlin] 뷰바인딩(View Binding) 설정 및 사용 방법 build.gradle 파일에 뷰바인딩 설정을 했다고 가정하고,(위 글 참고) Fragment 에서 뷰바인딩을 구현한 코드 전문이다. class FragmentTest : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? .. 2021. 7. 20. [안드로이드] RadioGroup의 RadioButton 가운데/비율 정렬 배치 방법 RadioGroup 내에서 Radio버튼을 정렬하는 다양한 방법을 정리한다. 기본적으로 RadioGroup은 LinearLayout 이라고 보고 배치하면 된다. 아래 코드는 모두 레아아웃XML 파일에 정의하는 내용이다. RadioGroup의 layout_width 속성값을 match_parent나 고정값을 주고 시작해야 한다. (wrap_content인 경우 원하는대로 배치가 잘 되지 않을 가능성이 있다) 1. RadioButton 수직 배치 방법(디폴트) RadioGroup의 orientation속성을 vertical로 주면 RadioGroup 내에서 수직으로 배치된다. 디폴트이기 때문에 따로 설정하지 않아도 수직으로 정렬된다. android:orientation="vertical" 2. RadioBu.. 2021. 7. 20. [안드로이드] Constraint Layout의 chain weight(비율) 설정 View 배치 방법 안드로이드 레이아웃 개발 시, ConstraintLayout 에서 Button이나 TextView를 일렬로 배치하면서 비율별로 너비나 높이를 주고 싶을 때가 있다. 각 뷰들을 chain으로 묶어주고, 비율별로 weight를 설행해 주면 된다. 이 글에서는 Constraint Layout에서 뷰들을 1) 동일한 비율, 2) 다른 비율로 수평/수직 배치하는 방법을 정리한다. # 동일한 비율로 뷰를 배치하는 방법 1. 뷰(Button 등)을 여러개 배치한다. 2. chain을 걸어준다(horizontal | vertical) - Design 모드에서 뷰 여러개를 동시에 선택 > 마우스 우클릭 > chain > create horizontal | vertical chaiin 클릭 - 코드에서는 각 뷰들이 서로를.. 2021. 7. 19. [안드로이드 Kotlin] 뷰바인딩(View Binding) 설정 및 사용 방법 # 뷰바인딩이란? 원래 레이아웃 XML파일에 정의된 View에 접근하는 방법은 findViewById()메서드를 활용하는 것이었다. 이후 코틀린이 도입되면서 '코틀린 익스텐션'을 통해 쉽게 뷰를 다룰 수 있었다. 그러나 이제는 "뷰 바인딩"이 코틀린 익스텐션을 대체한다. 뷰 바인딩은 코틀린 환경의 안드로이드에서 뷰에 접근하는 새로운 방식이다. (물론 findViewById는 여전히 쓸 수 있다) # 뷰바인딩 설정 방법 1. build.gradle(Module:...) 파일 선택 2. android > buildTypes 항목에 buildFeatures { viewBinding true } 설정 추가 3. Sync Now 클릭 # 뷰바인딩 사용 방법 1. 레이아웃XML파일 생성 2. 바인딩 초기화 3. r.. 2021. 7. 19. [안드로이드] ANR(Application Not Responding) 개념과 해결 방법 # ANR이란? Activity에서 사용자 이벤트가 발생하고 5초 이내에 처리하지 못할 경우 안드로이드 시스템이 액티비티를 강제 종료하는 것을 Application Not Responding이라고 한다. 주로 오래 걸리는 작업 결과를 이용해 화면 UI를 수정하려고 할 때 발생하며, 특히 네트워크가 안 좋은 환경에서 통신을 수행할 때 자주 발생한다. # ANR 해결방법? 오래 걸릴 가능성이 있는 작업은 Activity에서 처리하지 말고, 별도의 스레드를 만들어서 병렬로 처리하는 것이다. 이렇게하면 데이터 수신 등의 오래걸리는 작업은 별도의 스레드에서 돌아가므로 액티비티는 사용자 이벤트에 5초 이내에 반응할 수 있게 되어 ANR이 발생하지 않게 된다. # 안드로이드의 스레드(Thread) 개발자가 신경써야할.. 2021. 7. 18. [안드로이드 Java/Kotlin] 시스템 효과음 재생 방법: Ringtone # 안드로이드 제공 기본 시스템 효과음 재생방법 1. 효과음 식별자(URI) 취득 종류별 효과음을 식별할 URI 객체를 취득한다. - Java: RingtoneManager.getDefaultUri(RingtoneManager.효과음상수값) - Kotlin: RingtoneManager.getDefaultUri(RingtoneManager.효과음상수값); * 상수값 종류 - RingtoneManager.TYPE_NOTIFICATION : 알림 - RingtoneManager.TYPE_ALARM: 알람 - RingtoneManager.TYPE_RINGTONE: 전화수신음 근데 TYPE_ALARM, TYPE_RINGTONE은 보통 엄청 길기 때문에 쓸 일이 별로 없다. 2. Ringstone 객체 생성 ur.. 2021. 7. 15. [안드로이드 Java/Kotlin]시스템 기본 제공 진동패턴 사용 방법: createPredefined 이 글에서는 안드로이드가 제공하는 기본 진공 패턴 사용 방법을 정리한다. 안드로이드 기본 진동 사용방법과 개발자의 커스텀 진동 패턴 생성방법은 각각 아래 글을 참고 [안드로이드: Java/Kotlin] 진동 실행 구현 방법: Vibrator, VibrationEffect [안드로이드: Java/Kotlin] 커스텀 진동 패턴 및 반복 설정 방법: createWaveform # 안드로이드 기본제공 진동패턴 사용 방법 안드로이드는 자주쓰이는 진동 패턴을 기본으로 제공한다. 아래의 createPredefined()메서드에 effectId 상수값을 설정하여 VibrationEffect 객체를 생성하면 된다. - Java: public static VibrationEffect createPredefined (in.. 2021. 7. 15. [안드로이드 Java/Kotlin] 커스텀 진동 패턴 및 반복 설정 방법: createWaveform 이 글에서는 개발자의 "사용자 정의 커스텀" 진동의 패턴 설정 및 반복 실행 방법을 정리한다. 안드로이드의 기본(1회) 진동 설정 방법은 아래글을 참고 [안드로이드: Java/Kotlin] 진동 실행 구현 방법: Vibrator, VibrationEffect 안드로이드 시스템 제공 진동패턴 사용방법은 아래글 참고 [안드로이드 Java/Kotlin]시스템 기본 제공 진동패턴 사용 방법: createPredefined 1. permission 추가 ActivityManifest.xml 파일에 진동 퍼미션을 추가한다. - 2. Vibrator 객체 얻어오기 안드로이드가 제공하는 SystemService에서 Vibrator 객체를 얻어온다. - Java: (Vibrator)getSystemService(VIBR.. 2021. 7. 15. 이전 1 ··· 17 18 19 20 21 22 23 ··· 58 다음