안녕하세요 이번에 제가 모바일 게임 출시 작업을 하게 되었습니다. 게임 제작 초기부터 출시하기 까지 생기는 거의 모든 이슈에 대해 한번 공유해보려고 합니다. 우선 첫날 프로젝트를 생성하고 빌드가 잘 되다가 다음날 작업을 이어서 하려고 하니 갑자기 빌드 오류가 나기 시작했습니다. 정말 황당하죠. 전날만 해도 빌드를 10번은 넘게 했는데 갑자기 빌드가 안된다니요. 콘솔에 빌드 오류 로그를 자세히보면 Failed to update Android SDK package list라는 오류 문구도 있고 JAVA_HOME 환경 변수에 대한 언급도 나오네요. 그래서 제일 먼저 WINDOW의 환경변수에 JAVA_HOME이 있는지 확인해봤습니다. 역시나 JAVA_HOME이라는 환경 변수가 없습니다. 자세한 이유를 따져보니 ..
앱에서 종종 네비게이션 기능을 구현해야 할 때가 있습니다. 이 기능을 구현하려면 반드시 내위치를 따라 지도에 마커를 생성하는 기능이 있어야합니다. 오늘은 구글지도에 내위치 변화에 따라 마커를 생성하는 방법에 대해 알아보겠습니다. gps정보를 얻기 위해서는 사용자로부터 위치정보제공 동의를 받아 권한을 얻어야합니다. 권한을 얻는시점은 앱의 시작부분일수도 있고 해당 정보가 필요한 시점일수도 있지만 올바른 권장 앱설계는 해당 정보가 필요한 시점에 권한을 요청하는 것입니다. gps정보를 얻기위해 메니페스트 파일에 필요한 권한을 추가하겠습니다. 메니페스트 파일에 다음과 같은 코드를 추가합니다. 그리고 gps정보를 얻기위한 클래스를 하나 생성합니다. 이름은 자유롭게 작성해주시고 Service클래스를 상속받고 Loca..
이번에는 안드로이드에서 특정앱의 실행을 방지하는 기능을 구현하는 방법에 대해 알아보겠습니다. 간혹 아동 공부집중력 향상을 위해 게임앱이나 인터넷 앱 실행을 블록시킨다던지 아니면 비정상적인 앱 사용을 막기위해 불법 프로그램 앱의 실행을 막는다던지 어느 특정앱의 실행을 막고싶을때가 있습니다. 예를들면 게임 내에서 쉬운 성장을 위한 매크로앱 같은것이 되겠습니다. 안드로이드에서는 이러한 어느 특정앱을 지정하여서 차단시킬 수 있습니다. 그럼 어떻게 구현하는지 본격적으로 알아봅시다. 차단대상 앱이 언제 실행될지는 명시적으로 알 수가 없기 때문에 우리는 항상 차단앱이 실행되는지 감시하고 있어야합니다. 이를 위해서 안드로이드의 컴포넌트중 하나인 서비스를 이용해야합니다. 우리가 개발할 앱 내에서 차단앱의 실행을 감지하는..
이번에는 안드로이드 앱에서 서버와 http통신하는 방법에 대해 알아보겠습니다. 앱과 서버간의 연결을 유지해야 하는 서비스가 아니라면 굳이 개발과 유지보수가 어려운 소켓통신을 구현할 필요가 없죠. 가장 기본적인 예제로 간단하게 서버와 통신하는 방법에 대해 알아보고 최근 안드로이드 버전에서 발생하는 http통신 오류를 해결하는 방법에 대해서도 알아보겠습니다. 가장 먼저 http통신을 하기 위한 클래스를 생성합니다. 액티비티 클래스 안에 inner 클래스로 생성하여도 되지만 앱 전체에서 반복적으로 http통신을 원활하게 하기 위해선 따로 하나의 클래스로 생성하고 필요할때마다 인스턴스화 해서 사용하여야 합니다. package guitar.academyservice; import android.content.Co..
안드로이드 스튜디오에서 구글맵 라이브러리를 연동하여 지도를 띄우는 방법에 대해 정리해보겠습니다. 우선 구글계정이 필요합니다. 회원가입후 GCP 콘솔로 이동합니다. 상단에서 구글맵 라이브러리를 적용할 프로젝트를 선택합니다. 만약 프로젝트가 하나도 없다면 생성해야합니다. 위 표시를 해놓은 프로젝트 부분을 선택하면 이 사진과 같은 팝업창이 하나 뜨는데요. 여기서 우측 상단의 새 프로젝트를 눌러 생성할 수 있습니다. 프로젝트 이름은 자유롭게 작성해주시고 회사명은 필수사항이 아니니 입력해주지 않으셔도 무방합니다. 저는 현재 담당하여 진행중인 AcademyService 프로젝트에서 진행해보겠습니다. 프로젝트를 선택하였다면 우측 상단의 메뉴를 열고 API를 선택합니다. 이제 구글맵을 프로젝트에 추가하기 위해 API ..
0. 앱을 개발할 때 거의 모든 경우에 기본적으로 주어지는 액션바를 제거하고 본인의 의도에 맞는 액션바를 제작합니다. 이때 커스텀 액션바를 구현하기 위해 쉬운 방법으로 toolbar를 사용한 방법을 알아보겠습니다. 1. Apptheme 변경 먼저 res - values - style.xml 파일을 수정합니다. 기본적으로 앱에는 AppTheme라는 스타일이 적용되어 있는데 이 스타일을 .NoActionBar로 변경해줘야 디폴트 액션바를 없앨 수 있습니다 만약 새로 만든 커스텀 스타일을 앱에 적용한 상태라면 해당 스타일 이름의 내용을 변경해주면 됩니다. 그다음 메니페스트 파일을 수정합니다. 저는 기본적으로 작성된것을 그대로 가져왔으나 여러분은 태그 사이의 android:theme에 .NoActionBar를 ..
0. 안드로이드 앱을 개발하던중 리스트뷰가 있는 리니어레이아웃을 숨겨놨다가 버튼을 누르면 위로 들어나고 다시 버튼을 누르면 원래상태로 들어가도록 하는 디자인을 필요로 하였습니다. 근데 생각보다 순탄치가 않았어요. 구글링을 많이 해본결과 드로어레이아웃과 네비게이션뷰 등을 활용하여 레이아웃을 펼치고 닫을 수 있긴 하지만 저는 IDLE상태일 때 레이아웃이 화면에 어느 정도 드러나 있도록 디자인 하여서 드로어레이아웃은 동작할 타겟 레이아웃이 초기에 완전히 화면에 드러나지 않게 밖에 못하기 때문에 제가 원하는 구현을 할 수 없었습니다. 그리고 방법도 꽤나 복잡하기도 하였구요. 그러다가 아주 간편하고 쉬운 방법을 찾은게 ObjectAnimator클래스를 사용하는 것입니다. 이를 사용하면 팝업창이 생성되거나 레이아웃..
0. 내용은 안드로이드 스튜디오 IDE를 기본적으로 다룰줄 아는 것을 전제로 작성되었습니다. 본 글에 대한 질문은 적극적으로 받고 있습니다. 이메일을 통해 질문해주시면 더 빠른 답변을 받으실 수 있습니다. 질문시에는 반드시 질문내용과 관련된 부분의 소스코드를 첨부해주시기 바랍니다. 1. 안드로이드와 FCM연결하기 FCM을 활용하기 위해 필요한 것 1. 푸시알림을 눌렀을 때 이동할 액티비티(1개이상) 2. FCM 푸시 알림을 받기 위한 서비스를 구현할 클래스 3. 메니페스트.xml 수정 이전에는 gradle의 dependency를 수정하는 작업도 해줘야 했지만 최신 안드로이드 스튜디오에서 FCM을 연결하는 과정을 아주 간단하게 제공하면서 더 수월해졌습니다. 안드로이드 스튜디오에서 [Tools]->[Fire..
- Total
- Today
- Yesterday
- 안드로이드 구글맵
- C++
- c언어 기초
- 유니티 직소퍼즐 구현
- Connecting Jenkins Agent
- UHT
- 빌드 주기
- 언리얼
- 깃 용량문제
- 젠킨스
- 알고리즘기초
- 백준
- Add Node
- 알고리즘
- 젠킨스 에이전트 연결
- Jenkins Build Periodically
- Unreal Header Tool
- 언리얼 빌드
- 구글맵
- 안드로이드
- 유니티
- c언어강의
- 언리얼 기초
- Jenkins
- C언어기초
- refusing to run with root privileges
- Connecting Jenkins
- dfs
- 깃 허브 오류 해결
- 언리얼 사용자 정의 구조체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |