트러블 슈팅
문제
배경
검색한 데이터 결과에서 선택한 데이터를 Room을 이용해 저장해서 보관함Fragment에서 띄운다.
보관함Fragment에서 데이터를 클릭하면 선택한 데이터는 삭제한다.
문제 발생
해당 데이터의 뒤에 데이터들의 position값들이 변경되지 않는다.
원인
listAdapter를 사용해서 기존 데이터와 다른 데이터만 수정을 진행했다.
이럴 경우 선택한 데이터만 삭제되어 업데이트 된다.
해결
나머지 뒤에 있는 데이터도 변경해줘야 한다.
val updatedItems = items.mapIndexed { index, item ->
if (index > position) {
item.copy(id = item.id - 1)
} else {
item
}
}
깃 트러블 슈팅
! [remote rejected] 브랜치명 -> 브랜치명 (push declined due to email privacy restrictions)
error: failed to push some refs to '프로젝트 깃 주소'
스택오버플로에서 정답을 찾았다. 나 같은 경우 API key가 담겨 있는 문제였다.
해결
api_key를 local.properties로 옮겨주었다.
깃헙에 올리기 전에 숨기고 올려야지하고 미루다가 생각없이 push 했다가 발생했다.
local.properties에 저장하는 방법을 간단히 설명하자면.
1. local.properties
API_KEY = "Bearer 깃헙 Token 입력"
2. 앱 수준의 gradle
import java.util.Properties
val properties = Properties()
properties.load(project.rootProject.file("local.properties").inputStream())
android{
defalutConfig{
...
buildConfigField("String", "API_KEY", properties.getProperty("API_KEY"))
}
...
buildFeatures{
buildConfig = true
}
}
3. 사용할 때
@Headers("Authorization: ${BuildConfig.API_KEY}")
++ 추가로 commit 했을 경우 commit 을 지워야 한다.
git log로 커밋한 내용을 확인하고
git reset HEAD^
로 지울 수 있다.
'Kotlin > TIL' 카테고리의 다른 글
Youtube API에서 받은 영상 재생 (0) | 2024.05.22 |
---|---|
Android - Github API 검색 (TIL 05.08) (0) | 2024.05.08 |
Postman 사용하기 (TIL 05.02) (0) | 2024.05.02 |
Android -GoogleMap 사용 (TIL 05.01) (0) | 2024.05.01 |
SharedPreference (TIL 04.30) (0) | 2024.04.30 |