목록전체 글 (132)
Foggy day
안드로이드 fcm을 수신하는 방법을 간략히 정리했습니다. 1. 파이어베이스 2. Android 코드 구현 1. 파이어베이스 Fcm을 수신하기 위해서는 파이어베이스에 등록 작업을 해야 합니다. 사진은 생략하고 처리 해야 할 항목만 나열하겠습니다. - 프로젝트 생성 - google-services.json 파일 다운로드 및 프로젝트에 추가 - 안드로이드 앱 추가 - 앱을 추가한 후에 프로젝트 설정 -> 일반 -> Sha 인증서 추가 sha1 키 발급 방법 https://jinhan38.com/14 Android(안드로이드) - How to get debug/release SHA-1 Sha key is needed when we use api like google and kakao and so on. So, ..
Android studio에서 갑자기 [Syntax highlighting has been temporarily turned of because of an internal error] 오류가 발생할 때가 있습니다. Invalidate caches, project clean, Repair IDE, Android Studio 최신 버전으로 업데이트 전부 실행해 봤지만 소용이 없었습니다. * 해결책 보통 이 에러는 특정 파일에서 발생했었습니다. 그래서 해당 파일을 다른데 복사한 후에 에러 나는 파일을 삭제하고, 복사해둔 파일을 다시 집어 넣었더니 해결 됐습니다.
Git 계정을 여러개 사용하다보면 새로 프로젝트를 클론하거나 만들 때 아래와 같은 오류를 볼 수 있습니다. remote: Permission to ~~ denied to ~~. 이는 사용하려는 git 계정 대신 다른 계정으로 사용하려고 시도했기 때문입니다. 이런 경우에는 제어판 -> 사용자 계정 -> 자격 증명 관리자 -> git:https://github.com 으로 등록된 자격 증명을 삭제한 후에 다시 시도하면 됩니다. git push나 pull이 가 정상적으로 된 후에 다시 자경 증명 관리자를 확인해 보면 수정한 날짜: 오늘 로 다시 git:https://github.com 항목이 생성된 것을 볼 수 있습니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uimfT/btszbizLrrL/BcjkUSV4zRRSUCM7pjohQ1/img.png)
Flutter 프로젝트를 진행하다보면 android로 빌드를 하면 this and base files have different roots: 오류가 종종 발생합니다. 이럴 때 임시방편으로 시도해 해결책이 있습니다. flutter clean을 실행 한 후에 gradle sync now를 실행하면 정상적으로 빌드가 됩니다. 1. flutter clean 2. android gradle sync 3. flutter pub get *확인 할 사항 android -> local.properties -> sdk.dir 경로를 확인해주세요 window와 mac의 경로가 달라서 git으로 협업을 할 때 경로가 달라질 수도 있습니다.
1. 빌드 실행 시 web security 해제 Edit Configuration-> Additional run args -> --web-browser-flag "--disable-web-security" 추가 2. flutter sdk에서 web security 해제 - flutter\bin\cache 로 이동, flutter_tools.stamp 파일 삭제 - flutter\packages\flutter_tools\lib\src\web 이동 -> chrome.dart 파일 오픈 기존에 있는 --disable-extensions 주석 or 제거 '--disable-web-security' 추가( 끝에 ,도 잊지 말것) // '--disable-extensions', '--disable-web-secur..
UsageStatsManager 클래스를 사용하기 위해 PACKAGE_USAGE_STATS 권한을 요청해야 했습니다. 1. manifest에 permission 추가 2. 런타임 권한 요청 private fun checkPermissionUsage(): Boolean { val appOps = applicationContext .getSystemService(APP_OPS_SERVICE) as AppOpsManager val mode = appOps.checkOpNoThrow( AppOpsManager.OPSTR_GET_USAGE_STATS, Process.myUid(), applicationContext.packageName ) val granted = if (mode == AppOpsManager.M..
android.permission.SYSTEM_ALERT_WINDOW 권한은 overlay View를 사용하기 위해 필요합니다. 1. manifest 에 permission 추가 2. 런타임 권한 요청 checkPermissionOverlay 함수로 권한을 요청하면 권한 허용 시스템 창으로 이동하게 됩니다. 그리고 다시 화면으로 돌아왔을 때 onActivityResult에서 권한을 허용 했는지 아닌지 확인할 수 있습니다. const val overlayPermission = 100 .... private fun checkPermissionOverlay(): Boolean { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Settings.canDra..
Dart언어로 위경도 좌표를 TM 좌표로 변환하는 클래스입니다. import 'dart:math'; /// 장반경 const double _longRadius = 6378137; /// 단반경 const double _shortRadius = 6356752.31425; /// 투영원점 경도 const double originLong = 127; /// 투영원점 위도 const double originLat = 38; class TMCalculation { /// [lat] 위도 /// [long] 경도 /// [callback] 위경도를 TM 좌표 값으로 변환해서 전달하는 콜백 /// 위도 -> TM 좌표 E /// 경도 -> TM 좌표 N TMCalculation({ required double lat..
이번 포스팅에서는 Flutter와 IOS Native가 통신하는 방법을 알아보겠습니다. Flutter는 MethodChannel을 사용해서 각 플랫폼과 통신할 수 있습니다. 메소드 채널은 비동기방식이며 FIFO 순서를 보장합니다. 1. Flutter -> IOS 2. IOS -> Flutter 1. Flutter -> IOS 먼저 할 것은 메소드채널 클래스를 만들어주고, 채널명과 호출할 함수의 이름을 정하는 것입니다. 예제에서 채널명은 iosMethodChannel이고, 함수명은 talk입니다. Dart에서 talk라는 함수를 호출하면 IOS에서 String 문자열을 리턴할 예정입니다. Dart static const platform = MethodChannel('iosMethodChannel'); St..
해결방법 - Xcode에서 빌드 Flutter 프로젝트를 진행하면서 IOS 네이티브 쪽을 작업해야 할 경우가 있습니다. 그런데 Xcode에서 프로젝트를 열어보면 import Flutter 라인에서 no Such module 'Flutter'라는 에러 문구가 발생합니다. 물론 에러가 나온다고 Flutter 앱이 IOS에서 빌드가 안되는 것은 아니지만 코드 작업을 할 때 어려움이 있습니다. 이 문제를 해결하기 위해서 구글링을 많이 해보면서 여러가지 시도를 해봤지만 가장 확실한 방법은 Xcode에서 빌드를 돌리는 것입니다. 오류문구가 나온다 해도 시뮬레이터로 빌드를 돌려보면 오류가 곧 사라집니다. 빌드를 한 후에야 Flutter SDK가 인식되는 것 같습니다. 어떤 이유에서 발생한 문제인지 정확히 알 수 없지..