Ignite와 같은 자동으로 슬라이드가 넘어가는 발표를 위한 타이머 앱입니다. 사용자가 설정한 시간마다 진동을 통해서 시간을 알려줍니다. 발표를 하는 동안 손에 쥐고 있으면 뒤를 돌아 슬라이드를 보지 않아도 슬라이드가 넘어가는 것을 알 수 있습니다.


프로젝트 구글코드 URL : http://code.google.com/p/ppt-timer/

개발자가 자신이 원하는 위치에서의 임의로 콜스택을 볼수 있는 코드입니다. 원하는 위치에 복사 붙여넣기를 하시면 해당 위치에서 콜스택을 확인하실 수 있습니다.


StringBuffer stacktrace = new StringBuffer();
StackTraceElement[] stackTrace = new Exception().getStackTrace();
 
for(int x=0; x<stackTrace.length; x++)
{
 stacktrace.append(stackTrace[x].toString() + " ");
}
 
Log.e(TAG, "stacktrace");
Log.e(TAG, stacktrace.toString());



 장소에 기반한 서비스를 제공하기 위하여 스마트TV를 중심으로 스마트폰을 대상으로한 서비스를 제공하는 프레임워크 개발 프로젝트이다.


/////////////////////////////////////////////////////////////////////////////////////////////////


2012 공개소프트웨어 경진대회 동상


6th Open Source Software World Challenge 2012

Bronze Prize : http://project.oss.kr

/////////////////////////////////////////////////////////////////////////////////////////////////







프로젝트 구글코드 URL : http://code.google.com/p/hansunghorn/

데모영상 : http://youtu.be/lIqxdkcXXcQ



/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Project description

// Name: Sharing On Display

// Description: This system can connect between smart phone and smart tv. system is consist of framework for providing service and smart phone app for using service. This framework supports Android, and is utilized HTML5. If you want to use the service made of this frame work, you should install SOD app on your Android and iOS device.

// Author: Breaking Jobs

// Site: http://code.google.com/p/hansunghorn/

Copyright (c) 2012 Breaking Jobs. All rights reserved.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Licensetype: GNU General Public License (GPL)

// This program is free software: you can redistribute it and/or modify

// it under the terms of the GNU General Public License as published by

// the Free Software Foundation, version 2.0.

// This program is distributed in the hope that it will be useful,

// but WITHOUT ANY WARRANTY; without even the implied warranty of

// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

// GNU General Public License 2.0 for more details.

// A copy of the GPL 2.0 should have been included with the program.

// If not, see http://www.gnu.org/licenses/

// Official SVN repository and contact information can be found at

// http://code.google.com/p/hansunghorn/

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




 안드로이드폰이 느려지거나 배터리 관련해서 관리법에 신경쓰는 분들이 점점 많아지는 추세이다. 심지어 가끔 보면 전공자인 필자보다 더욱 많은 정보를 가지고 계신 분도 볼 수 있다. 물론 맞는 것도 있고 틀린것도 있지만 말이다. 

 여기에다가 필자가 알고 있는  안드로이드폰 에 관한 관리법을 적어놓으려고 한다. 물론 맞는 것도 있고 틀린 것도 있을것이다. 만약에 틀린것이 있다면 그에 관한 것은 댓글로 남겨주시면 수정하겠습니다.


1. 최신  OS 버전 업데이트

 최신 OS로 버전을 유지해줘야 한다. 물론 가끔 OS버전에 치명적인 오류가 발생하여 손해를 보는 경우가 있다. 하지만 최신 OS만이 보안, 자원관리, 호환성 측면에서 가장 최신의 정보를 유지하고 운영하기 때문에 최신의 버전을 유지하는것이 스마트폰의 자원 관리와 보안적인 측면에서 가장 최선의 선택이다.


2. 백그라운드앱중에 사용을 안 하는 앱은 종료(안드로이드 4.0(Icecream Sandwitch) 이상)

 모든 모바일OS들이 그러하듯이 메모리 관리 정책이 다 느슨하다. 왜냐하면 메모리를 상시 확인하면서 할당, 해제를 반복하기에는 모바일 플랫폼 자체가 데스크탑에 비해 너무 가볍기 때문이다. 안드로이드도 모바일OS 중에 하나로 메모리 관리를 상당히 느슨하게 한다. 하지만 메모리에 상주되어 있는 앱들이 많을 수록 전기의 소모는 많아진다. 전기의 소모를 줄이기 위해 백그라운드에 작동하고 있는 앱들을 죽여줄 필요가 있다. 안드로이드 4.0 이상 즉, 아이스크림 샌드위치 이상은 TaskManager를 OS상에서 지원해준다.  물론 제조사에 따라 하위버전에서도 지원하는 경우도 간혹 있다. 하지만 정식으론 아이스크림 샌드위치 이상에서만 지원을 한다. 자신이 작동하고 있는 앱이 많다면 TaskManager를 이용해서 쓸 때없이 작동하고 있는 앱들은 작동을 죽여주면 쓸모없는 전기 소모를 줄일 수 있다.


참고) 안드로이드 버전

1.5.X : 컵케잌

1.6.X : 도넛

2.0.X ~ 2.1.X : 이클레어

2.2.X : 프로요

2.3.X : 진저브레드

3.0.X ~ 3.2.X : 허니콤

4.0.X : 아이스크림 샌드위치

4.1.X ~ 4.2.X : 젤리빈

5.0.X : 키라임파이(미 출시)


3. TaskKiller의 사용은 최소화

 메모리를 비우기위해 TaskKiller를 이용하여 메모리를 강제로 비우는 사람들이 많다. 하지만 이러한 방법은 좋은 방법이 아니다. 모든 OS에는 각자 자신의 메모리 관리 방법이 있다. 그리고 아키텍처는 해당 OS의 생리에 맞게 설계되어 있다. 그렇기 때문에 모든 자원 관리와 스케줄링 등은 OS에게 맡기는 것이 가장 바람직하고 시스템에 리스크를 주지 않는다. 그렇기 때문에 3D게임과 같이 메모리를 많이 잡아 먹는 작업을 하게 되는 경우를 제외하고는 TaskKiller의 사용은 바람직하지 못하다. 그렇기 때문에 안드로이드가 메모리를 자체적으로 알아서 관리하도록하는 방법이 가장 바람직하다.


4. 그냥 편하게 막 써라!!

 가끔 스마트폰을 모시고 사는 분들이 보인다. 그런 분들을 보면 필자는 전혀 이해가 안된다. 왜??

스마트폰은 도구다. 도구를 모시려고 사는 사람은 거의 없다. 하지만 결과적으로 스마트폰에 흠집날까봐 배터리가 달까봐 모시는 사람들이 종종있다. 필자는 그 사람들에게 말하고 싶다. 그냥 막 써라!! 이미 구글의 개발자들은 사용자들이 막 사용하는 환경을 이미 고려하고 테스트를 거쳐서 나왔기 때문에 아주 이상한 사용을 하지 않는 이상은 안드로이드는 이미 다 대처할 준비가 되어있다. 편하게 막 써라. 막 쓰는 것이 모시는 것보다 훨씬 오래 사용하는 경우가 많다.


5. '너무 느려졌다' 싶으면 공장초기화도 하나의 방법

 모든 물건이 그러하듯이 스마트폰도 첫 전원을 킨 이후로 계속해서 자기자신을 망가트리기 시작한다. 모든 소모품이 그러하듯이 점점 고물이 되어간다. 하드웨어는 물론 점점 낡아 간다. 하지만 소프트웨어 또한 낡아간다. OS를 오래 사용할 수록 로그는 쌓여가고 앱들이 얽히고 섥히고 OS는 점점 느려진다. 하드웨어는 다른 스마트폰을 구입해야지만 해결되지만 소프트웨어인 OS는 공장초기화라는 방법을 사용하면 마치 스마트폰을 처음 켰을때와 비슷한 효과를 얻을 수 있다. 하지만 여기서 중요한 점은 공장초기화하기 전에 스마트폰의 자료들을 백업해야 한다는 것이다. 백업은 각 제조사에서 제공하는 경우가 대부분이며 각 제조사의 메뉴얼에 따라서 한다면 별 무리 없이 백업을 할 수 있을 것이다. 각 모델의 공장초기화 방법은 밑에 URL을 남길테니 참고하기 바란다.


모델별 공장초기화 방법 : http://blog.naver.com/wpx?Redirect=Log&logNo=162807798


6. 튜닝의 궁극체는 순정!!

 자신의 스마트폰을 간혹 혹사시키는 사람들을 볼 수 있다. 커롬(커스텀 롬 : 개발자들이 임의로 안드로이드를 개조해서 올리는 버전)이나 루팅(루팅 : 개발자들이 커널의 루트권한을 획득하여 감춰져있는 기능을 활성화 시키는 것) 등을 통하여 자신의 안드로이드 폰을 튜닝을 한다. 하지만 각 개인의 개발자 혹은 개발 팀들이 만든 커롬이나 루팅등은 구글과 같은 회사의 체계적인 테스트나 개발환경을 갖추지 못한 경우가 대부분이다. 이런 확실하지 못한 행위들로 자신의 스마트폰을 오버클록(오버클로킹 : 사용자의 임의로 CPU(Central Proccessing Unit) 혹은 AP(Application Proccessor)의 처리속도를 높이는 행위)한다는 또는 숨겨진 기능을 활성화 한다는 일을 하지 않았으면 좋겠다. 물론 자신이 필자처럼 개발자라서 개발 목적 혹은 테스트 목적으로 사용한다면 굳이 만류할 필요가 없다. 하지만 일반 사용자들이 이런 행위들을 하는것처럼 개발자 입장에서 미련해 보이는 행위가 없다. "튜닝의 끝은 순정"이란 말이 있다. 확실하게 보장되고 신뢰 받는 OS를 사용하자. 너무 성능에 얽메이다 보면 다른 가치들과 Trade-off를 해야하는 상황이 온다. 그냥 순정으로 잘 활용하는 것이 스마트폰을 해치지 않는 가장 좋은 사용방법이다.

이메일 : Gangtai.goh@gmail.com

페이스북 :  /gangtai.goh

 

copy & paste : 개발의 기초

 

걷고 뛸 준비를 하는 중

초심에서 시작하는 마음으로 개발

 

개발자SDK 래퍼런스를 꼼꼼히 읽어볼 것.

버퍼의 크기 등의 제약 조건까지 꼼꼼히 읽어보면 문제가 의외로 쉽게 풀릴 수 있다.

 

시나리오 / 스토리 / 유스케이스

명확하게 눈으로 보여야한다. => 꼼꼼히!!

기업은 모든게 보고서로 시작해서 보고서로 끝난다.

 

기술적인 문제들은 회피하여 작동핟록하는 방법은 많다.

그래서 사용자에게 어떻게 보여질지가 가장 중요하다.

 

결과는 노력에 비례하지 않는다. 사용자 입장에서의 스토리가 중요하다.

개발자가 만들고 싶은 것이 아닌 소비자가 원하는 것을 만들어야 한다.

 

2011년에는 유틸리티 중심의 앱이 각광 받았지만 2012년에는 컨텐츠 중심으로 발전하고 있다. (Cauly 자료 기반)

 

무의식 소비 : ‘쇼핑 중에 정보 처리는 무의식에 가깝다.’

긍정적 선택 : 좋은 것을 추려내는 선택 과정

부정적 선택 : 덜 나쁜 것을 추려내는 선택 과정

 

안드로이드 서포트 라이브러리 : 3.0부터 지원. 1.5에서 4.1까지 호환되는 앱을 만들 수 있다. => fragment를 이용해서 activity로 해결이 안되는 부분을 해결 가능하다.

 

SDK 리비전 20부터 서포트 라이브러리를 자동으로 추가가능.

=>액티비티로 구현하는 부분을 fragment만 추가하면 된다.

=>fragment도 생명주기를 가지기 때문에 그 부분만 신경쓰면 된다.

 

인터넷의 발전으로 많은 것이 가능해졌다. => javascript의 공부는 필수적이다.

 

스마트TV라는 용어는 2009년 삼성에서 브랜드화

삼성 : samsungdforum.com  samsungapps.com

엘지 : developer.lgappstv.com

구글 : 구글TV

노키아 : MeeGo

우분투 : 우분투TV

오페라 : 오페라TV

한국은 일반적으로 7시간48분 정도의 시청시간

스마트TVUI 3~4m정도 떨어져 있다는 가정하에 개발을 해야한다.

 

 

안드로이드를 이용할 시에 OSMU가 가능 => 다양한 플랫폼

구글TV는 이미 이용가능한 단말들이 많이 나와있다.

 

구글TV 개발 환경

Linux OS with KVM에서 개발 가능

 

VM ware에서 virtualize intel VT –x/EPT옵션으로 개발가능하다.

안드로이드 SDK에 구글TV애드온을 설치하면 된다.

 

구글TV는 기본적으로 720p를 지원1080p도 지원

manifest에 지원가능한 스크림의 크기를 정의 => 대상 단말에 맞춰서 정의

3.2이상에서는 식발자가 추가되어 식별자를 이용하여 최소로 지원할 수 있는 단말을 지정하여 개발 가능

 

support screen을 써야 단말의 제한이 가능하다

+ Recent posts