공부/안드로이드 17

[안드로이드] 브로드캐스트 리시버(BroadcastReceiver)

브로드캐스트. 네트워크 수업에서 배웠듯이 불특정 다수에게 송신하는 것이다. 안드로이드에서는 특정 요소에게만 송신하는 경우도 있다. 브로드캐스트 리시버는 이러한 신호를 receive하는 것이다. 안드로이드의 receiver는 기기의 상태 변화나 다른 앱이 송신하는 신호들을 받아서 처리한다. 예를 들면 기기를 충전기에 꽂았다 하면 충전중이라는 신호를 받을 수 있다. 브로드캐스트 수신하기 manifest에 선언된 리시버 manifest에 broadcast receiver를 선언하면 브로드캐스트가 전송될 때 앱이 아직 실행중이 아니라면 시스템에서 앱을 실행합니다. 1. 앱의 menifest에서 요소를 지정합니다. 인텐트 필터는 리시버가 subscribe할 브로드캐스트 작업을 지정합니다. 2. BroadcastR..

[안드로이드] 서비스(Service)

서비스란? ● Service는 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 애플리케이션 컴포넌트이며 사용자 인터페이스를 제공하지 않습니다. ● 다른 애플리케이션 구성 요소가 서비스를 시작할 수 있으며, 이는 사용자가 다른 애플리케이션으로 전환하더라도 백그라운드에서 계속해서 실행됩니다. ● 컴포넌트를 서비스에 바인딩하여 서비스와 상호작용할 수 있으며, 프로세스 간 통신(IPC)도 수행할 수 있습니다. 서비스 유형 ● 포그라운드 서비스 ○ 포그라운드 서비스는 사용자에게 보이는 작업을 수행합니다. 오디오 앱이라면 오디오 트랙을 재생할 때 포그라운드 서비스를 사용합니다. 포그라운드 서비스는 알림을 표시해야 합니다. 포그라운드 서비스는 사용자가 앱과 상호작용하지 않을 때도 계속 실행됩니다. ● 백그라운드 ..

[안드로이드] 비밀번호 암호화 후 DB에 저장하기

데이터베이스가 MySQL이면 MD5함수를 활용한다. 하지만 MD5와 SHA-1과 같은 단방향 해쉬 알고리즘은 해커의 공격으로부터 위험. 따라서 비크립트(bcrypt) 암호해시함수를 사용한다. 위키백과 설명 bcypt는 블로피시 암호에 기반을 둔 암호 해시 함수로서 Niels Provos와 David Mazières가 설계하였으며 1999년 USENIX에서 발표되었다.[1] 레인보 테이블 공격 방지를 위해 솔트를 통합한 bcrypt는 적응형 함수의 하나이다. 시간이 지남에 따라 속도 저하를 위해 반복 횟수가 증가가 수반될 수 있으므로 연산 파워의 증가에도 브루트 포스 검색 공격에 대한 저항을 유지하게 된다. bcrypt 함수는OpenBSD[2]및수세 리눅스등의 일부리눅스 배포판을 포함한 기타 시스템용 기본..

[안드로이드] 앱 제작 단계

서비스 구상 및 프로젝트 구성 1. 아이디어 정리 먼저 아이디어를 구체적으로 정리합니다. 어떤 사용자를 타겟으로 할 것인지, 사용자의 니즈는 무엇인지, 제공해줄 가치는 어떤 것인지 그리고 목표는 무엇 인지를 정리합니다. 예를 들어 출퇴근 날씨 정보를 알려주는 앱을 구상하고 있다면, 타겟 사용자는 30대 남성 직장인, 사용자의 니즈와 제공 가치는 출퇴근 전 빠른 날씨 확인, 목표는 광고를 통한 수익으로 정리할 수 있습니다. 타겟, 사용자의 니즈, 제공 가치, 목표는 최대한 구체화하고 측정가능할 수 있도록 수치화 합니다. 2. 시나리오 정리 사용자가 앱을 사용하는 시나리오를 정리합니다. 타겟별로 시나리오를 작성하거나 시간대 별, 지역별로 구분해서 작성할 수도 있습니다. 예를 들어 출퇴근 날씨 어플이라면, '..

[안드로이드] 프로젝트 루틴, 로드맵

https://jhpop.tistory.com/105?category=859167 안드로이드 프로젝트 루틴 프로젝트를 만드게 되면 진행하는 일련의 과정을 루틴으로 만들고 계속 개선하려고 한다. 1. 프로젝트 생성, GIT 연결 2. 개발환경 설정 3. 개발 구조 4. 테스트 프로젝트 시작 프로젝트 생성 - 패 jhpop.tistory.com https://jhpop.tistory.com/121?category=859167 안드로이드 개발자 로드맵 안드로이드 개발자로서 잘하는 개발자가 되기 위해선 무엇이 필요할까? 체워도 체워도 언제나 고민이다. 우연히 찾게된 안드로이드 개발자 로드맵 PPT이다. 네이버 테크 콘서트에서 발표한 내용 jhpop.tistory.com

[안드로이드] 나인패치 이미지

나인패치(9Patch) 이미지 버튼이나 텍스트뷰의 배경으로 이미지를 설정하면 그 이미지는 자동으로 버튼이나 텍스트뷰의 크기에 맞춰진다. 안드로이드에서 자동으로 크기를 맞춰주기 때문이다. 편리하지만 이미지의 크기가 늘어날 때 깨지는 현상이 있다. 나인패치 이미지는 이런 문제를 해결하기 위해 만들어진 것으로, 원래 이미지보다 한 픽셀씩 크게 만들고 가장자리 픽셀에는 늘어날 수 있는지, 없는지를 구분하여 넣어준다. 이미지 파일 이름에 .9라는 글자를 붙인다. (ex. image.9.png) 안드로이드에서는 R.drawable.image로 다른 이미지 파일과 똑같이 인식한다. 나인패치 이미지를 인식하여 이미지를 늘릴 경우에는 깨질 가능성이 있는 부분은 늘리지 않는다.

[안드로이드] 토스트, 스낵바, 알림 대화상자

토스트(Toast) 토스트는 간단한 메시지를 잠깐 보여줬다가 없어지는 뷰로, 앱 화면에 종속되지 않는다. 앱 실행 중간에 디버깅을 위한 메시지를 출력하고 싶은 경우에 Log클래스를 이용해 콘솔에 메시지를 출력할 수 있고, 토스트를 사용해 화면에 출력할 수 있다. 실행영역보다 앞쪽에 보이는 뷰이기 때문에 앱이 화면에 보이지 않는 상태에서도 토스트가 보일 수 있다. Toast.makeText(Context context, String message, int duration).show(); 토스트 만들기 토스트 위치 바꾸는 메소드 : setGravity, setMargin 토스트 모양 바꾸는 메소드 : setView를 사용하여 토스트 객체에 XML레이아웃을 설정한다. 스낵바(Snackbar) 스낵바는 아래쪽에..