본문 바로가기

Android Project80

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.
[Android/Kotlin] 하버사인 공식 사용해, 지도에 대피소 효율적으로 표시하기 🤔 고민해본 사항우선 나는 공공API를 통해 대피소관련 데이터를 불러와서, 내위치 근처에있는 대피소를 지도에 마커로 표시해주는 앱을 구현중이였다. 근데 전체 데이터를 다 불러오면 API호출이 너무 잦고, UI면에서도 안좋을것같았다. 그리고 무엇보다 전체 데이터를 다 불러오는건 내앱 취지에 안맞았다. 그래서 사용자 위치를 기준으로 반경 5km이내의 대피소만 화면에 표시해주는 방식으로 구현했다.이 방식은 Haversine 공식을 사용해서, 사용자 위치와 대피소 위치간의 거리를 계산하여 필터링해주는 방식으로 구현했다!그리고 맵이 시작될때 CircleOverlay를 생성하여 바운더리를 만든다음, 반경5km밖에 있는 마커들은 제거해주는 방식도 같이구현해서 좀 더 깔끔하게 보이도록 했다. 💻 구현하기1. 현재위.. 2025. 5. 28.