안녕하세요 박스여우입니다.지난번에 작업하다 만 GCM구현을 마저 해보도록 하겠습니다. 우선 push message를 전송하는 서버 프로젝트를 이클립스에서 생성하고, 위의 Json과 GCM라이브러리를 다운받아서 Build Path를 해 주세요그리고 메인 클래스를 생성한 뒤에, 아래 코드를 작성합니다. 1234567891011121314151617181920212223 String regId = "Registeration ID!"; String Text = "Test Message"; List list = new ArrayList(); //클라이언트 registeration id 리스트 list.add(regId); try { Sender sender = new Sender("API Key"); Messag..
안녕하세요 박스여우입니다.이번에는 GCM(Google Cloud Messaging)을 사용해서 안드로이드의 Push Message(푸시 알람)을 구현해 보도록 하겠습니다.이번 프로젝트는 저도 2일 동안 헤메다가 겨우 완성한 프로젝트라 조금 쉽게 소개해 드리기 위해 2번에 걸쳐서 완성해 보도록 하겠습니다. GCM을 사용하는 이유는 앱마다 독자적인 push를 구현하면 배터리 소모가 증가하고, 데이터 처리량도 많아지기 때문에 안드로이드에서 기본적으로 내장되어 있는 push 기능을 사용하는 편이 사용자들에겐 훨씬 바람직 할 것입니다. 안드로이드에 내장되어있는 push 기능을 서비스 하는 게 GCM(Google Cloud Messaging)입니다. 1 - 구조우선 구현하기에 앞서, push 메세지의 동작 과정과 ..
Java 식별자: 말 그대로 식별하는 단어,문장이다. 변수, 메소드, 클래스 등의 이름들을 개발자가 지정한 것이 식별자 이다. 타입 & 자료형 : 자료형은 int, double, float, long과 같은 기본 자료 형을 뜻 하고, 타입은 클래스의 이름으로 객체를 생성할 때 마치 자료형과 같이 사용되는 것을 말한다. int(자료형) a; Object(타입) a; 배열이란? 만약 수 많은 변수들을 모두 식별자를 지정하고 관리하고자 하면 개발자는 매우 힘들것입니다. 실제 프로그래밍을 하게 되면 다뤄야 될 변수들은 무한하고 그것들을 보다 쉽게 다루기 위해 배열 이란 것을 사용합니다. 배열은 같은 자료형, 또는 같은 타입 끼리 묶어서 index로 접근하여 사용하도록 만든 것 입니다. 목욕탕의 옷장을 예시로 들..
안녕하세요 박스여우입니다. 오늘은 탐색 알고리즘을 알아 보겠습니다. Algorithm 문제 상황 UN이 정상 회담때 각 국가의 대통령들에게 제공할 음료 100개를 준비했다. 하지만 대통령들을 암살할 목적으로 음료에 독극물을 타던 암살자가 붙잡혔다. 다행히 100개의 음료중 한 개의 음료에만 독극물이 타여졌다. 이 음료는 한개에 상상할 수 없을 만큼의 가격이고, 다시 제작할려면 3개월이나 기다려야 한다. 독극물은 매우 강력해서 독극물이 타여진 음료를 한 방울만 마셔도 즉사하게 된다. 여기서 독극물이 담긴 음료를 가장 적은 사람의 희생으로 찾을 수 있는 방법은? 단, 음료를 한번 시음한 사람은 다시 시음하여 독극물을 확인하지 않는다. 위의 문제 상황은 탐색 알고리즘을 유도할 수 있는 문제입니다. 아래에 답이..
Java 자바 언어의 탄생 배경 1990년, James Gosling에 의해 Sun Microsystems사의 Green Project 팀에서 개발되었습니다. 가정에서 사용되는 대화형 제어기를 c++로 개발하고 있었지만, c++언어의 단점으로 인하여 개발 목적에 맞지 않다는 결론을 통해 좀 더 간편한 오크(Oak) 언어를 개발하게 되었습니다. c++의 단점 플랫폼에 제한이 많았다. 메모리 할당 문제가 최적화되지 않았다. 해당 시기에는 월드와이드웹이 활발하게 사용되었을 시기였습니다. 이때 Sun Microsystems사의 창업자 Bill Joy가 월드와이드웹의 가능성을 발견 하여 James Gosling과 Patrick Naughton이 오크를 완벽한 인터넷 개발환경으로 만들어 1995년 중반, 저작권 문..
바이트코드바이트코드는 java언어로 작성된 프로그램이 실행되기 전의 JVM(Java Virvual Machine)용 기계어 코드입니다. 각각의 연산코드 즉, op code가 보통 1바이트 길이로 되어있기 때문에 바이트 코드라 불립니다. 하나의 명령어는 0~255로 표현되는 연산 코드중 하나를 가지게 됩니다. 그리고 그 뒤에는 레지스터나 메모리 주소 같은 파라미터가 붙게 됩니다.java프로그램이 바이트코드로 변환되면 네트워크를 통해 전송될 수도 있고, jvm에 의해 실행될 수 있습니다. java에서는 바이트 코드를 이용하여 JIT컴파일을 하며 이식성과 플랫폼에 대한 독립성, 그리고 빠른 컴파일 속도를 가지고 있습니다. java는 컴파일 순간에 바이트 코드로 변환한뒤에 프로그램이 실행되는 순간에 JVM에 의..
How to Video Recording in Android? English ver. is located in lower! 안녕하세요 박스여우입니다. 이번에는 안드로이드에서 카메라를 이용해 비디오를 촬영하는 방법에 대해 알아보겠습니다. 안드로이드에서 비디오를 촬영하는 방법은 여러가지가 있지만, 저는 그중에서 가장 대표적인 MediaRecorder를 다뤄보겠습니다. 먼저, 프로젝트를 생성하고, Manifast에 들어가서 아래 퍼미션들을 추가해 줍시다. 1 2 3 cs permission CAMERA는 Camera에 접근하기 위한 퍼미션 이고, permission RECORD_AUDIO 는 마이크를 통한 오디오 녹음 권한을 얻기위해 추가하는 것입니다. 그리고 permission WRITE_EXTERNAL_S..
안녕하세요 박스여우입니다.이번에는 안드로이드 엑티비티창의 상단바를 없에는 방법을 알아보도록 하겠습니다. 안드로이드 개발중에 때리고 싶을정도로 보기싫은 상단바를 지우는 방법! 상단바를 치우는 방법은 여러가지가 있습니다. 방법1 12345csAndroidManifest.xml에 가서 android:theme=부분을 저렇게 고치면 됩니다. 방법21requestWindowFeature(Widow.FEATURE_NO_TITLE);cs상단바를 없에고자 하는 엑티비티.java에서 onCreate함수안에 삽입하시면 됩니다.반드시 setContentView 위에 선언을 해야 작동을 합니다.setContentView가 화면을 뿌려주는 메소드인데 뿌린다음에 설정하면 작동하지가 않습니다. 방법3setTheme(android...
안녕하세요 박스여우입니다. 이번에는 안드로이드 스튜디오의 퍼미션에 대해서 알아보도록 하겠습니다. 우선 permission 이란? Google Play Store에서 앱을 다운받을때 뭔가 동의하는 창이 뜨는것은 아시죠? 바로 핸드폰의 어떤 부분을 사용하겠다고 권한을 동의받는겁니다. 이 퍼미션 코드로 그런 권한을 사용하겠다고 선언하는것입니다. ACCESS_CHECKIN_PROPERTIES 체크인데이터베이스의 속성테이블의 읽고 쓰기 권한 ACCESS_COARSE_LOCATION 코드(coarse)위치 권한(Cell-ID, WIFI) gps사용시 선언. ACCESS_FINE_LOCATION 파인위치(find location) 허용(gps) gps사용시 선언. ACCESS_LOCATION_EXTRA_COMMAND..
안녕하세요 박스여우입니다. 이번에는 안드로이드 스튜디오에서 AVD를 사용할때 CPU acceleration status: HAX kernel module is not installed! 오류가 발생할시 해결법에 대해 알아보겠습니다. 우선 HAX란?AXM = Hardware_Accelerated_Execution_ManagerHAX는 CPU의 인텔가상화 기술을 이용해서 에뮬레이터 속도를 빠르게 해주는 것인데 위처럼 에러가 나면서 실행이 안되는 경우가 있습니다. 그럴때는 SDK Manager에서 Extras - Intel x86 Emulator Accelerator (HAXM installer)를 설치하면 됩니다. HAX가 필요할시에는 아래와같이 오류가 뜨며, 안드로이드 가상머신 AVD가 작동하지 않습니다...