일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GitHub
- Rxjava
- livedata
- 코루틴
- Coroutine
- android
- AWS
- 프로그래머스
- textfield
- activity
- Coroutines
- 암호학
- MyVoca
- pandas
- 코드포스
- ProGuard
- 백준
- Compose
- TEST
- MiTweet
- boj
- Codeforces
- relay
- Gradle
- Python
- architecture
- Hilt
- androidStudio
- Kotlin
- 쿠링
- Today
- Total
목록프로젝트 (32)
이동식 저장소
이번 일지에서는 로컬 트윗 데이터베이스를 만들고, 타임라인을 불러와 보여주면서 데이터베이스에 저장하는 과정에 대해 서술해 본다. 사실 이번 글도 생략된 부분이 많다. 중간 과정을 보는 재미도 있긴 한데 코딩할 때는 딴 생각이 잘 안 나서.. 데이터베이스 구현 올해 초에 단어장 앱을 만들 때는 ``SQLite``를 사용했었는데, 요즘은 ``NoSQL(Not only SQL)``이 각광받고 있다고 하여 여러 구현체 중 오픈 소스 ``MongoDB Realm``을 사용해 보기로 했다. // at build.gradle(project level) dependencies { // ... classpath 'io.realm:realm-gradle-plugin:7.0.0' } // at build.gradle(app..
``TweetMiniView``를 다듬었다. ``DynamicGridImageView`` 버그 수정 오늘 사진 3개짜리 트윗을 불러오는 테스트를 했는데, 사진이 제대로 표시되지 않았다. 문제는 레이아웃이었다. 이미지 로드는 제대로 됐지만, 커스텀 뷰 ``DynamicGridImageView``의 ``width``가 ``-2``로 설정되어 있었다. 분명히 xml에서는 ``MATCH_PARENT``로 했음에도 불구하고.. 해결 방법은 수동으로 ``LayoutParams``를 설정하면 된다. // width, height image_grid_view.layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) 해결 완료! `..
트윗 작성 화면을 만들 때는 그때그때 생각나는 대로 디자인하다 보니 시간 효율이 좋지 않았다. 타임라인부터는 기획하는 흉내라도 내 보기로 했다. 일단 오늘은 타임라인 구현을 위한 기초 작업. BottomNavigationView 추가 최근 안드로이드 앱을 보면 하단에 탭을 두고 이동할 수 있도록 디자인한 모습이 보인다. 그동안 Android에서 프래그먼트 사이를 이동하려면 ``FragmentManager``로 시작하는 길고 긴 코드를 써야 했지만, Jetpack에 BottomNavigationView가 추가되어 기능을 쉽게 구현할 수 있게 되었다. 과정은 다음과 같다. 메뉴 xml 작성 레이아웃에 각 프래그먼트를 보여줄 ``host fragment``를 추가 ``host fragment``에 ``NavC..
트윗 작성 화면을 마무리했다. 투표 레이아웃 작성 트윗을 작성할 때 그나마 많이 쓸 것 같은 투표 기능을 추가하였다. 사실 난 지금까지 한 번도 쓴 적이 없지만, 플레이 스토어에 올라갈 앱인데 이정도는 해야 되지 않을까 싶어서 구현하기로 했다. 투표와 사진은 동시에 올릴 수 없도록 제한했다. 항목 오른쪽의 + 버튼을 누르면 항목을 추가할 수 있다. 맨 밑에는 투표 기간과 삭제 버튼을 달았다. 간단해 보이지만 레이아웃이랑 코드 완성하는 데 한 3시간 걸린듯? 수정을 많이 하다 보니.. 디자인이 밋밋해 보이는 건 기분 탓이 아니다. MiTweet의 디자인에 기여하고 싶으신 분들의 연락을 바랍니다. 그런데 트위터 API가 투표 업로드를 지원하지 않는다고 한다. ????????????? 놀랍게도 현재 최신 버전..
커스텀 갤러리의 사진 선택 기능을 완성하였다. 선택한 사진을 트윗 작성 화면에서 해제 가능 지금까지는 선택을 해제하기 위해 커스텀 갤러리에 들어가야 했다. 사진 미리보기 뷰에 삭제 버튼을 붙여서 사진을 쉽게 지울 수 있도록 했다. 이미지가 중복되던 버그 수정 커스텀 갤러리에 특정 이미지가 중복으로 나타나던 버그를 해결했다. 갤러리에서 사진을 가져올 때 쿼리문에 ``MediaStore.Images.Media.DATA``를 사용했는데, 아마도 이 필드가 원인이지 않을까 추정한다. 어차피 Android Q(10)부터는 Deprecated된 필드라서 새로운 방법을 찾아야 했다. 쿼리 결과로 얻은 ``cursor``를 다음과 같이 순회했다. val externalUri = MediaStore.Images.Medi..