| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 알고리즘
- 삼성SW테스트
- 금융IT
- 네트워크
- 재귀함수
- IT
- 다이나믹 프로그래밍
- 현대오토에버 코딩테스트
- 자바
- BFS
- 삼성sw문제
- dfs
- 프로그래머스
- CKLU
- 모바일
- 개발
- 조합
- 익명클래스
- backjoon
- 백준
- 익명객체
- dp
- 너비탐색
- Java
- 멀티스레드
- 데이터베이스
- 안드로이드
- 백준 알고리즘
- 언더라이터
- Android
- Today
- Total
목록안드로이드 (15)
Limky 삽질블로그
이번시간은 안드로이드 마시멜로우 이상버전에서 안드로이드 시스템권한 요청 및 체크하는 방법을 알아보도록 하겠다. 실제 실무에 썼던 코드 초창기 버전인데 손봐야할 것이 많다;; 안드로이드 - Marshmallow 안드로이드 버전은 매번 새롭게 출시되는데 마시멜로우 버전부터 사용자에게 앱이 이러저러한 권한을 사용하려한다고 알려줘야하고그 권한을 사용자가 허락해야지만 정상적으로 앱이 안드로이드 시스템쪽 파일쓰기/읽기/위치정보 등과 기능을 수행할 수 있는 권한을 행사할 수있다. 따라서 반드시 왠만한 앱들이라면 권한을 허락받아야 하는 기능이 있기때문에 마시멜로우 이상버전에 안드로이드 폰에서 앱을 설치하면 반드시 처음 권한을 허락하겠냐고 물어보는 팝업창이 뜬다. 나는 최초 구동되는 Activtiy에 아래와 같은 코드를..
실무에서 안드로이드앱을 만들 때 내가 만든 앱은 전부다 하나의 액티비티에 다수의 프래그먼트 물리는 구조를 많이 선택했다. 처음에는 다이렉트로 Context를 프래그먼트에서 불러오지 못하고, 일반적으로 액티비티에서 사용하는 문법과 살짝 살짝 다르기 때문에 복잡했지만, 처음부터 프래그먼트를 이용해서 개발해서 그런지 익숙해져버렸다.... 오늘은 프래그먼트의 생명주기를 알아보도록 하겠다. 제일 정확한 프래그먼트 생명주기 사진이다. 1. onAttach() 프래그먼트가 액티비티에 붙을 때 호출된다. 하지만 아직 완벽하게 생성된 것은 아님!! (이말을 잘 생각해보면, 프래그먼트는 액티비티 없인 독단적으로 존재할 수없는 녀석이란 소리다.) 2. onCreate()본격적으로 프래그먼트가 액티비티에 호출을 받아 생성되는..
안드로이드를 구성하는 4대 컴포넌트(Activity,Service,Broadcast Receiver,Content Provider)에 대해서 알아보자. 1. 액티비티(Activity) 사용자에게 보여주는 UI화면을 구성하는 컴포넌트입니다. 웹측면에서는 HTML페이지와 같은 느낌이랄까 여하튼 View와 VIewGroup를 가지고 사용자에게 UI를 제공합니다. 하나의 어플리케이션에 반드시 최소 1개이상 액티비티가 존재해야합니다. 액티비티는 매니패스트에서 선언해줘야 합니다. 2. 서비스(Service) 서비스는 백그라운드 즉 사용자에게 보여지지 않는 뒷공간에서 실행되는 녀석입니다. 따라서 UI가 없습니다. 서비스는 프로세스와 같은 의미의 컴포넌트입니다. 항상 백그라운드에서 프로세스가 돌고 사용자에게 보여지지 ..
간단하게 안드로이드에서 동영상을 플레이하는 컴포넌트로 비디오뷰라는 녀석이있다. 혹시 비디오뷰를 사용하다가 영상을 재생할 수 없다(Can't play this video)는 다이얼로그창과 함께 영상이 멈춘다면, 에러 리스너를 따로 받아 예외 처리를 할 수 있다. videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer arg0, int arg1, int arg2) { // 예외처리 로직 .... return true; } }); -참고사이트 https://stackoverflow.com/questions/24380070/using-videoview-how-to-remo..
안드로이드에서 특정시간에 앱이 켜지고 꺼지는 동작을 취해야할 때가 있다. (특수한 경우임...) 이번 글은 앱 자체를 껐다 켰다하는 것은 아니고 앱이 꺼졌다, 켜졌다 하는 효과를 주기위한 팁정도로 이해하면 될 것 같다. 실제로 앱이 켜지고 종료되고 하는 로직을 실행하고 싶었지만, 전원이 꺼지고 다시 전원이 켜질때 무조건 최상위레벨에 앱이 실행되어야하는데 그러기 위해선 루팅권한을 얻어야하고 런처앱을 따로 만들어줘야하기 때문에 상당히 많은 공수가 들어간다. 나는 배포하는 날이.... 얼마남지 않은 상황에서...이러한 고객사의 요구사항 요청이 들어와서 할 수 없이 기획과 협의 후 실제로 앱이 꺼지고 켜지는 동작을 하지 않지만 임시적으로 실행되고 종료되는 효과를 주기로 합의했다. (다음 버전에서 릴리즈 할 때 ..
안드로이드를 개발하다보면, 시스템 OS단에서 기본적으로 제공해주는 이벤트나 서비스를 막아야 할 때가 온다. 나같은 경우에는 사용자가 내가만든 앱 이외에 어떤 화면도 보여지지 않고, 다른곳으로 갈 수 없도록 막아야 했다. 기본적으로 내가 개발한 앱단에서 백버튼,홈버튼,최근사용한앱 즉 하단 네비게이션 바 같은 경우에는 개발자 영역 수준에서 다른곳으로 Redirect 할 수 없도록 막는 것은 그리 어려운 작업은 아니다. 그러나기본적으로 제공하는 Status bar 에 대한 사용자 이벤트 처리는 앱개발 영역에서 막기가 어렵다... status bar의 색상이나 hide 숨기는 정도만 수정가능 한 것 같다. 하지만 나의 목적은 status bar를 hide하는 정도가 아니라 아예 기능자체를 사용자에게 제공하고싶지..
안드로이드 빌드APK 생성시 갑자기 아래와 같은 에러가 발생되면서 빌드가 실패하였다. Error:Unable to start the daemon process: could not reserve enough space for object heap. Please assign more memory to Gradle in the project's gradle.properties file. For example, the following line, in the gradle.properties file, sets the maximum Java heap size to 1,024 MB: org.gradle.jvmargs=-Xmx1024m 대충 해석해보면 Gradle 프로젝트의 메모리를 더 할당하라 라는 소리다. 더 정..
안드로이드앱을 개발하다보면... 홈키 또는 백키를 눌렀을 때 항상 내가 실행시키고 있는 앱이 종료되지 않고, 최상위로 실행되게 하고 싶을 때가 있다. 여러 방법이 있겠지만, 액티비티에 백키이벤트를 오버라이딩해서 내가 새롭게 백키 이벤트를 만들고 (보통 매인액티비티하나의 여러개의 프래그먼트를 구성하는 방법을 사용한다.) 매니패스트파일에서 앱을 런처앱이자 홈앱으로 설정하면 홈키를 눌러도 해당앱이 화면에서 없어지지 않게 할 수 있다. 1. 우선 백키를 오버라이딩해서 내 입맛에 맞게 적용한다. @Override public void onBackPressed(){ backButtonFunction(); } public void backButtonFunction(){ ColorManager.getInstance()..