프로그래밍 538

안드로이드 - GCM 활용해서 푸시 메세지 전송기

GCM의 특징 GCM의 특징은 아래와 같다. Android 애플리케이션에 메시지를 보낼 수있는 3'rd Party 애플리케이션 서버를 허용한다. GCM은 메시지의 전달과 순서를 보장하지 않는다. 메시지를 수신하기 위해 Android 디바이스의 Android 애플리케이션이 실행되고 있을 필요는 없다. 애플리케이션이 적절한 broadcast receiver와 권한을 설정하는 경우, 메시지가 도착했을 때, 시스템은 Intent broadcast가 Android 앱을 깨운다. 메시지 데이터를 위해 내장 사용자 인터페이스 및 기타 다른 처리는 제공하지 않고 있다. GCM은 단순히 원시 메시지 데이터를 그대로 Android 앱에 전달하고, 메시지의 처리는 앱이 완벽하게 제어 할 수 있다. 예를 들어 애플리케이션은 ..

안드로이드 - XmlPullParser 사용시 유의법(규칙)

XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance(); XmlPullParser parser = parserCreator.newPullParser(); parser.setInput(xmlInput, "utf-8"); parser.next(); int parserEvent = parser.getEventType(); while(parserEvent !=XmlPullParser.END_DOCUMENT) { switch(parserEvent) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: break; case XmlPullParser.END_TAG: ..

php 배열조작함수 list, each, foreach key, val ...펌

1. list() list($key, $value) - list() 함수는 배열로 받은 것을 키와 배열 값으로 나누어 준다. 2. each() each($array) - each() 는 배열을 받아서 키와 값으로 되돌려 주는 역할을 한다. - 배열 값을 가지고 올 때 처음부터 가지고 오며, 그 다음이 불러지면 자동으로 다음 배열을 가지고 온다. 따라서 while 문이 계속 돌아간다. each()에서 받은 배열을 list에서 키와 배열 값으로 나누어 주는 것이다. /* 예제 */ /* 예제 설명 */ reset($colors); → $colors 배열의 처음으로 포인터 이동. list($key, $value); → 배열의 key와 value 값을 부름. (여기서는 "ext"와 "blue"를 부름) each..

프로그래밍/PHP 2013.12.15

php $_SERVER 함수

$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 => /webapp/include $_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 받식 => gzip, deflate $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 => ko $_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 => Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705 $_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP => xxx.xxx.xxx.xxx $_SERVER['HTTP_REFERER'] = 현제 페이지로 오기전의 페이지..

프로그래밍/PHP 2013.12.15

HTML - div와 span 태그의 차이점

일단 div와 span 태그의 차이점을 알아보시죠. div block 형식으로 공간 분할 span inline 형식으로 공간 분할 block과 inline이 뭔지도 모르실 분들이 많을텐데요. 한번 직접 보고 확인해보세요. div태그부터 시작하겠습니다. http://kurien.tistory.com http://kurien.tistory.com http://kurien.tistory.com http://kurien.tistory.com http://kurien.tistory.com http://kurien.tistory.com 어떤식으로 나오는지 확인시켜드리기 위해서 일부러 배경색을 넣었습니다. 먼저 div는 기본적으로 width=100%로 나오구요. 물론 설정으로 조절이 가능합니다. block태그는 이러..

안드로이드 - ImageDownloader 분석

[이 포스트는 Gilles Debunne 에 의해 작성되었습니다. 그는 멀티 태스킹을 사랑하는 안드로이드 엔지니어 입니다. — Tim Bray] 빠르게 반응하는 어플리케이션을 만들기 위해서는 메인 UI 스레드가 가능한 최소한의 일만을 수행하도록 해야합니다. 수행하는데 오랜 시간이 걸릴 가능성이 있는 작업들은 반드시 메인 스레드가 아닌 다른 스레드에서 수행되어야합니다. 이러한 좋은 예가 바로 네트워크 작업입니다. 네트워크 작업은 어느정도의 시간이 걸릴지 예측하기 힘들기 때문에, 조심스럽게 처리하지 않으면 사용자들은 잠깐 잠깐씩 어플리케이션이 버벅거린다고 느끼거나, 어떤 경우에는 아예 멈추어버린 것 처럼 느낄 수도 있습니다. 이번 포스트에서는 이러한 문제를 해결할 수 있는 방법을 살펴보기 위해, 이미지를 다..

안드로이드/Android AsyncTask 사용법

안드로이드 AsyncTask 사용법에 대해 알아 보겠습니다. 안드로이드에는 UI 를 총괄하는 메인Thread가 존재 한고 있는데요.([안드로이드/Android Android에서 Thread(쓰레드) 란 무엇 인가?]) 메인Thread 외에는 일반Thread들이 안드로이드 UI 화면을 처리할 수 없습니다. 그렇기 때문에 메인Thread와 일반Thread 를 잘 핸들링 해서 사용해야 하는데, 여간 번거로운 일이 아닙니다. 그렇기 때문에, Android 에서는 AsyncTask 라는 객체를 지원하는데요. AsyncTask는 UI 처리 및 Background 작업 등 을 하나의 클래스에서 작업 할 수 있게 지원해 줍니다. 쉽게말해 메인Thread와 일반Thread를 가지고 Handler를 사용하여 핸들링하지 않..

안드로이드 - listView 항목에 Audio Albumart(thumbnail)을 지연 없이 나타내기 LinkedHashMap과 SoftReference사용 [캐시 처리]

LinkedHashMap과 SoftReference사용 Cache처리를 하는 로직이다. 한번 디스크에서 읽은 bitmap을 키값에 대응하여 저장한다. 인터넷의 아래 소스를 퍼왔다. http://code.google.com/p/android-imagedownloader/source/browse/trunk/src/com/example/android/imagedownloader/ImageDownloader.java 구조는 LinkedHashMap을 사용한 HARD CASH와 SoftReference를 사용하여 메모리가 부족할때 GC의 대상이 될수 있도록 한 HashMap 2가지가 유기적으로 동작한다. private static final int HARD_CACHE_CAPACITY = 10; private fi..