일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 밑줄
- Android
- EditText
- androidstudio
- Dialog
- 팝업액티비티
- nav_graph
- MaterialButton
- textview
- 안드로이드
- FRAGMENT
- ViewModel
- BottomSheetDialog
- 코틀린
- ROOM
- firebasefunctions
- 안드로이드스튜디오
- lifecyclescope
- Activity
- firebase
- Imageview
- button
- 안드로이드 스튜디오
- Kotlin
- 뷰바인딩
- ButtonWithButton
- ArrayList
- 랜덤ID
- RealtimeDB
- OutlinedButton
- Today
- Total
목록전체 글 (86)
안드로이드 앱 개발
첫 번째 방법. 람다식 사용 //all check box binding.checkAll.setOnCheckedChangeListener { buttonView, isChecked -> when (isChecked){ true -> mShowShortToast("전체 체크됨") false -> mShowShortToast("전체 체크 해제됨") } } 두 번째 방법. inner class로 리스너 만들어서 사용 (여러 개 체크박스 있을때 쓰면 사용하면 될 듯 1. inner class 만들고 inner class CheckBoxListener:CompoundButton.OnCheckedChangeListener{ override fun onCheckedChanged(buttonView: CompoundBu..
1. Module:gradle에 implementation implementation 'gun0912.ted:tedpermission:2.2.3' 2. 객체 생성 및 메서드 추가 PermissionListener permissionlistener = new PermissionListener() { @Override public void onPermissionGranted() { Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show(); } @Override public void onPermissionDenied(List deniedPermissions) { Toast.makeText(MainActivity.this..
private long time = 0; @Override public void onBackPressed(){ if(System.currentTimeMillis()-time>=2000){ time=System.currentTimeMillis(); Toast.makeText(getApplicationContext(),"뒤로 버튼을 한번 더 누르면 종료합니다.",Toast.LENGTH_SHORT).show(); }else if(System.currentTimeMillis()-time
xml파일에서 EditText의 inputType을 text로 설정했더니 줄바꿈기능이 없어져서 검색을 해보았다. 여러 줄의 텍스트를 입력하고 싶을 때는 textMultiLine 속성 추가해야한다. android:inputType="textMultiLine"
1. dependency를 추가한다. implrmentation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0" 안드로이드에는 UI thread와 Worker thread가 존재한다고 한다. 예를 들어, Room library를 사용해서 내장 DB에 접근할 때 UI thread에서 메소드를 작동하면 error로 앱이 종료된다. 2. 백그라운드에서 작업되야하는 코드를 작성한다. lifecycleScope.launch(Dispatchers.IO){ //백그라운드 작업 코드 }
//TextView 처럼 edittext.text = "테스트" 일것 같지만 에러가 뜬다. Edittext에 변수 값을 입력하려면 java와 같이 setText()함수를 활용해야한다. ex) contentEdittext.setText(memoContent)
몇 가지 검색해봤지만 stack overflow에서 해답을 찾을 수 있었다. 기본적으로 안드로이드에서 focus를 가질 수 있는 모든 뷰들에게서 clearFocus를 호출하면 focus를 가질 수 있는 첫 번째 뷰에 focus를 준다고 한다. 따라서, edittext에 clearfocus를 했는데도 focus가 살아있다면 그 edittext가 해당 액티비티의 첫번째 focusable view이기 때문 이를 해결하기 위해서는 parentLayout에 아래 두 속성을 추가해주고 android:focusable="true" android:focusableInTouchMode="true" binding.contentEdittext.clearFocus() binding.memoTitleEt.clearFocus()..
안드로이드 앱을 기획하고 만들다보면 반드시 마주하게 되는 선택의 순간이 있다. 바로 특정 데이터를 데이터를 앱 내부에 저장하고 불러올 것인가 VS 서버에 저장하고 필요할 때마다 불러올 것인가 내부에 저장한다면 네트워크와 연결없이 자유자재로 사용할 수 있다는 장점이 있지만 데이터양이 너무 많이면 앱이 무거워진다는 점, 그리고 앱이 삭제되면 해당 데이터도 같이 삭제된다는 단점이 있다. 서버에 저장한다면 앱의 무거워지는 점은 고려하지 않아도 되고 (아무리 서버에서 정렬 및 필터로 가공된 데이터를 던져준다 하더라도 물리적인 용량이 크다면 어쩔 수 없는듯?) 앱이 삭제되더라도 데이터 접근 권한만 있다면 다시 불러올 수 있다. 그러나 문제는 서버구조를 기획하기 어렵고 (필자는 firebase rtdb사용함에도 불구..
안드로이드 Bottom Navigation View 예제 (tistory.com)