본문 바로가기

개발 관련 지식/안드로이드(Android)

[안드로이드] GCM, FCM 차이점 * GCM, FCM 차이점 안녕하세요 송군함대입니다.오늘은 구글 PUSH 메시지 기능인 GCM, FCM 의 차이점에 대해 알아보도록 하겠습니다. 먼저, GCM과 FCM이 어떤 것인지 간략하게 알아보겠습니다. - GCM : Google Cloud Messaging 의 약자 로 Android & IOS 를 지원한다. 구글에서 제공하는 서버와 클라이언트 APP 간에 PUSH 메시지를 보낼수 있는 서비스다. - FCM : Firebase Cloud Messaging 의 약자로 GCM의 새로운 버전이다. Android & IOS & Mobile Web 등의 다양한 플랫폼을 모두 지원한다. FCM 이 생겨나게된 이유는 위에 Mobile Web 의 중요도가 높아짐에 따라 모든 Mobile Application 만이 .. 더보기
[안드로이드] SQLite 사용 시 onCreate, onUpgrade 호출 시점 * SQLite 사용 시 onCreate, onUpgrade 호출 시점 [예시] public class MyDB extends SQLiteOpenHelper{ public MyDB(Context context) { // 생성자 함수 super(Context context, String name, CursorFactory factory, int version); } public void onCreate(SQLiteDatabase db){ // onCreate 함수 } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ // onUpgrade 함수 }} 1. 생성자 함수 호출: MyDB myDB = new MyDB(this);=.. 더보기
[안드로이드] 어플리케이션 설치 또는 제거 이벤트 확인 방법 * 어플리케이션 설치 또는 제거 이벤트 확인 방법 안녕하세요 송군함대입니다~!^-^/ 특정 어플리케이션이 설치되거나 삭제되었을때, 이를 확인할 수 있는 방법이 궁금하여 찾다보니, 마켓에서 어플리케이션을 받아 설치하거나 삭제할때 이벤트가 발생한다는 사실을 알았습니다. 이 이벤트를 받기 위해서는 BroadcastReceiver 를 이용 하면 됩니다. 자, 차근차근 알아보도록 할까요?!! 1. AndroidManifest.xml 파일에 BroadcastReceiver 등록 [AndroidManifest.xml] 2. BroadcastReceiver 를 상속받은 PackageReceiver 클래스를 생성 [PackageReceiver.java] package com.example.andtestapp; impor.. 더보기
[안드로이드] 자신의 폰번호 확인 방법 * 자신의 폰번호 확인 방법 안녕하세요 송군함대입니다~!^-^/ 안드로이드 소스를 짜다보면 자신의 핸드폰 번호를 알아야 할 때가 있을 것입니다~! 어떻게 하면 자신의 핸드폰 번호를 가져올 수 있는지 알아보도록 하지요~! 그리 어렵지 않고, 아래 두가지만 적용해주면 가능합니다~!^-^ 1. AndroidManifest.xml 파일에 권한 추가 2. 소스 코딩 추가 TelephonyManager systemService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String PhoneNumber = systemService.getLine1Number(); PhoneNumber = PhoneNumber.substring(PhoneNum.. 더보기
[안드로이드] 액티비티(Activity)가 아닌 곳에서 Intent 호출 방법 * 액티비티(Activity)가 아닌 곳에서 Intent 호출 방법 안녕하세요 송군함대입니다~!^-^/ 오늘의 포스팅 내용은 액티비티가 아닌 곳에서 Intent를 호출해야 될 경우가 있는데, 런타임 에러가 나타나게 됩니다~! 이를 해결할 수 있는 방법에 대해 적어볼까 합니다~!^-^ 먼저 액티비티가 아닌 곳에서 Intent를 호출할 경우, 에러가 나는 것을 확인할 수 있습니다. 아래와 같은 문구를 확인할 수 있는데, Intent 를 띄워야 하는 Task를 정확히 알지 못해 발생하는 에러입니다. Task 는 Activity 를 관리하는 것으로 액티비티를 띄우려면 해당 Task 를 띄워야 합니다. 액티비티가 아닌 Service, BroadcastReceiver, baseAdapter 등은 액티비티가 아니므로.. 더보기
[안드로이드] 안드로이드 애니메이션 효과 및 기능 * 안드로이드 애니메이션 효과 및 기능 안녕하세요 송군함대입니다~!^-^/ 이번 포스팅은 안드로이드에서 사용되는 애니매이션 효과를 사용하는 방법을 알아볼까 합니다~! 어려울 거라 생각했지만, 막상 구현해보니 그리 어렵지는 않더라구요~! 다같이 어떤 기능들이 있으며, 간단한 예제를 통해 구현해보도록 해보아요~! * 애니메이션 효과 : 안드로이드는 뷰의 간단한 변형을 줄 수 있는 애니메이션 처리를 지원한다. 이는 레이아웃 애니메이션과 각 구성요소의 애니메이션으로 나눌 수 있다. * 애니메이션 종류 : 종류는 아래와 같으며, () 는 클래스명으로 android.view.animation.Animation 의 하위 클래스이다. Animation 객체를 상속받아 애니메이션 효과를 구현할 수 있다. - 투명도 변환.. 더보기
[안드로이드] 전면 카메라 사용 예제 * 전면 카메라 사용 예제 안녕하세요 송군함대입니다~!^-^/ 지난 포스팅에 이어 똑같이 카메라를 이용하는 방법에 대해 알아볼텐데요~ 이번에 좀 다른 것은 전면 카메라를 이용하는 것입니다~! 지난 번에 사용되었던 예제는 후면 카메라가 보여졌을 것입니다. 그렇다면 전면 카메라를 사용하고 싶은 사람도 있을텐데 당연히 알아보아야겠지요?!! 다른 기능은 지난 예제와 다 똑같고 카메라를 후면이 아닌 전면으로 사용하는 부분만 올리도록 하겠습니다. 1. Preview 클래스 내에 아래 함수를 추가해줍니다. private int findFrontSideCamera() { int cameraId = -1; int numberOfCameras = Camera.getNumberOfCameras(); for (int i = .. 더보기
[안드로이드] 카메라 이용을 위한 SurfaceView * 카메라 이용을 위한 SurfaceView 안녕하세요 송군함대입니다~!^-^/ 간만의 포스팅이네요~!! 오늘 포스팅은 간단하게 카메라를 이용하는 방법입니다~! 조금이나마 도움이 되시길 바라며, 아래 내용을 첨부합니다. * SurfaceView 란? : 다른 View와 마찬가지로 컨텐츠를 표시할 수 있는 View 중 하나로써, 다른 View와 달리 직접 SurfaceView 가 컨텐츠를 표시하지 않고 SurfaceView 내의 Surface 객체가 표시해준다. 일반적인 View는 화면에 표시하는 연산 등을 하나의 쓰레드에서 처리하게 되어있다. 이를 통해 나타나는 현상이 ANR(Application Not Responding) 이다. ANR 은 어플리케이션이 5초 이상 동작을 멈췄을때(GUI 업데이트가 5.. 더보기
[안드로이드] GCM 서버 JSON 파라미터 정보 * GCM 서버 JSON 파라미터 정보 - registration_ids : array로 1~1000 개의 아이디 입력 가능 - collapse_key : 메시지 타입을 그룹화하는 기능으로 해당 단말이 off 일 경우 가장 최신 메세지만 전달되는 형태 - data : key-value pair - delay_while_idle : message 가 바로 전송되는 것이 아니라, phone 이 on 되었을 때 collapse_key 의 가장 마지막 메시지만 전송되도록 설정 If the device is connected but idle, the message will still be delivered right away unless the delay_while_idle flag is set to true. .. 더보기
[안드로이드] GCM 서버 구현 예제(3)_JAVA를 이용한 푸시 서버 * GCM 서버 구현 예제(3)_JAVA를 이용한 푸시 서버 - 사용할 jar 파일들 : gcm-server.jar / json-simple-1.1.1.jar 1. JAVA 프로젝트 생성 2. gcm-server.jar 파일과 json-simple-1.1.1.jar 파일을 라이브러리에 추가 3. Server Key(API) 와 단말의 RegID를 확인 4. 아래 소스에 API Key 와 RegID만 추가하여 복사해준다. [예문 소스_GcmTestServer.java] public static void main(String[] args) { // TODO Auto-generated method stub Sender sender = new Sender(“프로젝트 서버 API Key 입력"); // 서버 AP.. 더보기