분류 전체보기184 [Android/Kotlin] Paging3란? # Paging3란? 페이징 라이브러리는 로컬 데이터베이스 또는 네트워크(Remote)의 데이터를 페이지 단위로 UI에 쉽게 표현할 수 있도록 도와주는 라이브러리다. 라이브러리를 사용하지 않고 기존에 ScrollListener을 사용해서 무한스크롤을 구현하기 위해서는 RecyclerView와 같은 리스트 UI가 상단 또는 하단에 도달했는지 판단하는 코드를 작성하고, 다음 페이지를 로드(or Refresh)하는 코드를 또 작성해야만 했다.(이땐 네트워크오류, 스크롤 감지 이상과 같은 현상이 발생할 가능성 있음) 페이징은 데이터를 가져올 때 한 번에 모든 데이터를 가져오는 것이 아니라, 일정한 덩어리(페이지)로 나눠서 가져온다예를 들어, 구글에서 어떤 키워드로 검색하게 되면 결과의 모든 데이터를 한 번에 .. 2025. 7. 3. ChatGpt API 사용하기 💻 구현하기https://platform.openai.com/settings/proj_zzb8f03TCYi7XeHCuL1KIZtZ/api-keys여기 사이트 들어가서, 왼쪽 바에서 API Keys 클릭하면 아래와 같은 화면이 나올것이다. Create new secret key 클릭해서 키를 생성해주자키는 한번 발급하면 재발급해야되므로 메모장에 저장해두자 그리고 이 API는 결제를 해줘야 API호출을 할 수 있어서 카드를 등록해 결제해줘야한다ㅠㅠ https://platform.openai.com/settings/organization/billing/overview해당 사이트 들어가서 카드를 등록해주자.나는 일단 기본 5달러가 청구되도록 설정해두었다. 약 7천몇백원정도가 빠져나갔다 💻 Postma.. 2025. 6. 8. [Android/Kotlin] Room DB를 사용해 대피소 검색기능 구현하기 ❓ Room이란??Room에 대해서 자세한 개념과 설명은 아래 포스팅에 따로 작성해놨다![Room의 3요소와 역할은 뭘까?] 🤔 고민해본 사항검색기능 구현할때 고민해봤던 사항전체 대피시설 정보를 미리 가지고 있어야함그래서 검색 API를 사용하고싶었지만, 내가 사용하는 API는 실시간 검색하는 기능을 제공하지 않았다. (심지어 얘로 검색이 된다고해도 실시간으로 결과를 출력해야되고, 매번 서버로 요청을 보내야하기 때문에 속도나 서버부하 측면에서 안좋을 수 있는문제가 있음) 2. 그럼 어떡해??데이터를 로컬 데이터베이스(Room)에 저장한 후에 검색기능을 구현하기로 결정! 했다(어느방식이 더 적합한지 앱의 요구사항에 따라 결정하면 된다.) 💻 구현하기1. Room을 사용해 데이터 관리 Entity 정.. 2025. 6. 7. [IP제한 해제] 공공데이터 유저IP값 제한없이 사용하는 방법 갑자기 잘 되던 데이터가 안불러와지는 문제가 발생했다 그래서 재난안전데이터 공유플랫폼에 문의해봄 재난안전문자를 받아왔는데 갑자기 등록되지 않는 ip라고 떴음긍까 뭐냐면 개인ip로 등록을해서 집에서하면 데이터가 잘 호출이 됐는데, 밖에서 하면 호출이 안됐음 이때는 카페에서 하고있을때라서 카페 공인 ip를 등록해줬더니 데이터가 잘 떴다.(위에 답변주신것처럼 네이버에 공인ip 검색하면 내가 현재사용하는 공인ip주소가 나와서 등록해주니깐 잘 나왔다) 근데 이앱이 나만 사용하는 앱이라면 문제가 없지만, 플레이스토어에 배포할 목적으로 만든 앱이였기때문에 ip가 제한이 없어야만 했다그래서 다시 문의를 해봤더니 아래와 같이 답변을 받았다. 모든 ip에 대해 허용을 하고싶으면 유저아이피값을 *.*.*.* 로 변경.. 2025. 5. 28. [Android 배포] 플레이스토어 앱배포 aab 파일 업로드 오류 [Android App Bundle이 잘못된 키로 서명되었습니다. 제대로 된 서명 키로 App Bundle에 서명한 다음 다시 시도해 보세요.] ⚠️ 에러사항플레이스토어 배포를 하려고 aab 파일을 생성해서 업로드를 했는데 아래와 같은 에러가 떴다. 구체적 에러내용Android App Bundle이 잘못된 키로 서명되었습니다. 제대로 된 서명 키로 App Bundle에 서명한 다음 다시 시도해 보세요.SHA1: 0C:A8:CD:78:8D:D3:07:8E:4D:F3:1B:8D:BB:91:E2:D9:01:9D:95:56지문이 포함된 인증서로 App Bundle에 서명해야 하지만, 업로드한 App Bundle 서명에 사용된 인증서의 지문은SHA1: BE:38:3E:FC:32:77:B3:5E:C1:C5:BF:CC:35:DD:5C:B6:71:3C:4B:C5입니다. 구글에서 원하는 키는 0C:A8:CD:78:8D:D3:07:8E:4D:F3:1B:8D:BB.. 2025. 5. 28. [Android/Kotlin] 데이터 캐싱을 통해 API호출 최적화하기 🤔 고민해본 사항원래는 Fragment를 호출할때마다 API를 호출하도록 로직을 작성했었다.근데 이렇게하면 내가 발급받은 API의 일일호출량은 최대 1000개로 제한되어있어서, Fragment를 몇번만 접속해도 API호출량을 초과하는 문제가 발생할 수 있었다. 심지어 배포예정 앱이였기 때문에 여러명의 사용자들이 동시에 앱을 접속할 경우, 일일호출량을 쉽게 넘어버려 호출에러가 발생할 수 있었다... 실제 배포앱에서는 굉장히 치명적인 오류라고 할수있다. 따라서 앱을 처음 다운로드하거나, 위치가 크게 변경했을경우에만 API를 호출하고그렇지 않은 경우에는 로컬 데이터베이스 캐싱을 적용하는 방식으로 결정했다.또한 로컬데이터베이스에 저장하면 오프라인상태에서도 이용가능하기 때문에, 재난관리앱에서는 특히 유용하다고 .. 2025. 5. 28. 이전 1 2 3 4 ··· 31 다음