'안드로이드'에 해당되는 글 12건

  1. 2011/12/09 모바일 기기 플랫폼 동향~
  2. 2011/10/18 안드로이드 다이어로그 만들기
  3. 2011/10/02 안드로이드 소스 오류 없는데 오류 표시되어 있는 경우 (Debug certificate expired on..)
  4. 2011/09/30 안드로이드 컨텍스트 메뉴 만들기
  5. 2011/09/29 안드로이드 옵션 메뉴 만들기
  6. 2011/09/20 모바일 어플리케이션의 성능 향상에 대해~
  7. 2011/09/08 안드로이드 dp, sp 단위에 대한 정리 (2)
  8. 2011/09/02 아이폰은 SMS 수신 메시지에 접근할 수가 없네요. -.-
  9. 2011/08/25 SKT T-Store App 소개 바로가기 URI
  10. 2011/08/24 HTC 히어로 한글 키보드 설치하기

모바일 기기 플랫폼 동향~

|


스마트폰이 확산됨에 따라 다양한 형태의 OS를 가진 폰들이 더 많이 나올 것 같습니다. 
현재와 같이 아이폰과 안드로이드가 주류를 이루겠지만
MS의 윈도우폰과 삼성의 바다폰도 만만치 않은 추격을 할 것 같은 느낌입니다.

작년에는 아이폰이 대세였다면 올해는 안드로이드가 상당히 점유율을 높이고 있습니다. 
내년에는 또 어떤 상황이 벌어질 지 기대가 되네요~ 

그래서 모바일 기기 플랫폼의 동향을 한번 정리해 보려고 합니다.

1. iOS

애플의 아이폰, 아이패드의 운영체제로 널리 알려져서 더 말할 필요는 없겠죠.
애플 TV까지 적용해서 본격적인 스마트 홈 시장까지도 노려보려고 하는 것 같습니다.  

다른 모바일 운영체제와 달리 폐쇄형 플랫폼이라는 특징이 있습니다. 
즉, 애플이 제작하는 휴대폰, 태블릿, TV에서만 사용할 수 있죠.. 
이런 애플의 폐쇄형 플랫폼이 음악, 책, 영화 등에서는 스토어를 통해 어느정도 효과를 봤는데요.
향후 오픈형 플랫폼들의 도전을 어떻게 이겨낼지 궁금하네요.. 

개발 도구는 XCode라는 통합 개발툴이 제공되고 인터페이스 빌더와 같은 것으로 UI 작업은 쉽게 할 수 있죠.. 

2. Android

구글이 2005년 안드로이드 사를 인수한 후, 모바일 운영체제로 오픈한 플랫폼입니다. 
현재 안드로이드폰의 판매가 아이폰의 판매를 넘어섰다고 합니다. 
지난 PC 시장에서처럼 후발주자인 MS 윈도우가 애플의 매킨토시를 추월하는 상황의 데자뷰 같다는 생각도 듭니다. 

리눅스 커널을 기반으로 하고 있어 운영체제와 커널은 C/C++로 개발되어 있으며, 어플리케이션은 Java로 되어 있다고 하네요. 
ADT(Android Development Tool) 플러그인을 Eclipse에 설치해서 개발을 진행할 수 있습니다. 

3. Windows Mobile 

6.x 버전까지는 실망이 컸던 모바일 운영체제였었죠..
PC 환경을 모바일로 옮겨놓은 UI를 채택함으로써 느리고 불편했던 기억이 있습니다. 

그러나 7.5 망고 버전을 보니 메트로 UI를 통해 많이 발전했습니다. 
지난번 리뷰처럼 속도, 성능, UI 측면에서 아이폰 / 안드로이드에 견주어 부족함이 없어 보입니다. 
내년에 국내에도 배포가 되면 나름 선전할 것으로 예상됩니다.
특히 기존 윈도우와 호환성이 높다는 것이 큰 장점일 것 같습니다. 

Visual Studio Express를 통해서 개발할 수 있고, 기본적으로 C#으로 프로그래밍을 합니다. 

4. 바다(Bada)

삼성이 중저가폰 시장을 겨냥해서 내놓은 스마트폰 OS로 멘토 그래픽스사의 Nucleus RTOS를 기반으로 한다고 합니다. 
유럽지역에서는 나름 선전하고 있다고 하는데요. 국내에서의 반응은 아직 높지는 않은 것 같네요. 

최근 Bada 2.0 SDK를 발표했구요 Eclipse의 플러그인으로 개발환경을 설정할 수 있습니다.
개발자들을 위한 AD Hub라는 광고 플랫폼도 함께 배포했는데요.
바다 뿐만 아니라 안드로이드에서 사용 가능한 광고 플랫폼이라고 합니다.
기존의 모바일 광고 플랫폼과 비교해 개발자 수익을 80%까지 준다는 이야기도 있더군요. 


5. 블렉베리(BlackBerry) OS

RIM(Research In Motion) 사에서 블렉베리 스마트폰을 위해 개발한 OS입니다. 
2008년에는 사용자가 1900만명에 이를 정도로 잘 나가던 모바일 플랫폼이었지만 
역시 아이폰, 안드로이드의 활성화에 따라 점차 하락하고 있는 운영체제입니다. 

6. 심비안(Symbian) OS

노키아가 개발한 운영체제로 심비안 3부터 오픈소스로 전환했습니다. 
노키아는 2010년까지 폰 시장에서 1위를 고수했었는데 점차 계속해서 점유율이 하락하고 있습니다. 
그래서인지 2012년 부터는 노키아의 주력 OS를 윈도우즈 모바일 7으로 한다는 발표도 있었습니다. 

7. 미고(MeeGo)

2010년 2월 인텔이 개발한 리눅스 기반의 모블린 플랫폼과 노키아의 마에모 플랫폼을 하나로 통일해서 개발된 플랫폼입니다. 
미고 플랫폼은 넷북용과 모바일용으로 제공되며 리눅스 재단이 개발을 주관하고 있습니다. 
QT를 기반으로 하고 있어 사용하기 편리하고 파워풀한 UI와 어플리케이션 개발을 지원한다고 합니다. 
2011년 노키아가 윈도폰에 주력하기로 함에 따라 인텔이 포기한다는 소문이 있었으나 계속적으로 지원한다고 밝힌 상태입니다.





크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

안드로이드 다이어로그 만들기

|



다이어로그는 프로그래밍에서 기본적으로 많이 사용하는 항목입니다.
javascript의 alert();이나 VC++의 MessageBox()와 같은 형태로 많이 사용되죠..

안드로이드에서는 다음과 같은 다이어로그를 사용할 수 있습니다.
- AlertDialog: 아이콘, 메시지, 버튼 3개를 가지며 가장 많이 사용됨
- DatePickerDialog: 달력에서 날짜를 제공하며 날짜 설정을 가능하게 함
- ProgressDialog: 실행 상태를 통지하는 진행 바를 포함
- TimePickerDialog: 시간을 제공하여 시간 설정을 가능하게 함
- ZoomDialog: 줌 레벨을 선택함. 주로 지도에서 사용

이 중에서 주로 사용하는 AlertDialog에 대해서 간략하게 살펴보려고 합니다.
나머지는 관련 서적이나 매뉴얼을 참고하시기 바랍니다.

AlertDialog를 사용하는 기본적인 함수의 원형은 다음과 같습니다. JavaScript의 show();와 비슷한 형태네요.. ^^

public AlertDialog show()

아이콘, 메시지, 제목을 설정하는 부분은 다음과 같이 합니다.

// 아이콘 설정
public AlertDialog.Builder setIcon (int iconId or Drawable icon)
// 메시지 설정
public AlertDialog.Builder setMessage (int messageId or CharSequence message)
// 제목 설정
public AlertDialog.Builder setTitle (int titleId or CharSequence title)

그리고 버튼 처리를 위해서는 다음 세가지를 사용할 수 있습니다.

public AlertDialog.Builder setNegativeButton (CharSequence text or int textId, DialogInterface.OnClickListener listener)
public AlertDialog.Builder setNeutralButton (CharSequence text or int textId, DialogInterface.OnClickListener listener)
public AlertDialog.Builder setPositiveButton (CharSequence text or int textId, DialogInterface.OnClickListener listener)


버튼을 식별하기 위해 위처럼 구분할 뿐, 구현할 때는 각각의 버튼에 대해 onClick 이벤트를 처리해 주기 때문에 큰 의미는 없다고 보이네요..

자.. 그러면 간단하게 다이어로그를 출력하는 예제를 살펴보도록 하지요..
먼저 아래 두 예제를 위해서 main.xml에 다음과 같이 Button을 추가하도록 합니다.



이어서 기본적인 형태의 Dialog를 출력해 보도록 하겠습니다. 주석을 달아놓았으니 이해하기 어렵지 않을 겁니다.




실행된 내역은 다음과 같습니다.
중간에 Back Button이 동작하지 않도록 세팅도 해봤습니다.

 


리스트, 체크박스, 라디오버튼 등을 Dialog에 추가할 수도 있습니다. 각각의 함수 원형은 다음과 같습니다.

public AlertDialog.Builder setItems (CharSequence[] items, DialogInterface.OnClickListener listener)
public AlertDialog.Builder setMultiChoiceItems (int itemsId or CharSequence[] items, boolean[] checkedItems, DialogInterface.OnClickListener listener)
public AlertDialog.Builder setSingleChoiceItems (int itemsId or CharSequence[] items, int checkedItem, DialogInterface.OnClickListener listener)

리스트를 추가한 예제를 한번 살펴보시기 바랍니다. XML 설정은 위와 동일합니다.
 


실행 내역은 다음과 같습니다. 설정한 값에 따라 버튼의 배경색을 지정하도록 구현되어 있네요.


 




크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

안드로이드 소스 오류 없는데 오류 표시되어 있는 경우 (Debug certificate expired on..)

|


안드로이드 개발하다보면 가끔 소스에는 전혀 오류가 없는데... 
더군다나 지난번에는 제대로 사용했는데..
오류가 나면서 컴파일이 안되는 경우가 있습니다.

이럴 때 나타나는 오류 메시지는 다음과 같습니다.
Error generating final archive: Debug certificate expired on ..


Debug와 관련된 인증 기간이 만료되어서 발생한 오류입니다. 
Debug certificate는 만들어진 후 365일이 지나면 만료되게 됩니다.
그러므로 만료된 Debug certificate를 새로 갱신해주면 되는데요.. 다음과 같은 방법으로 처리하면 됩니다.

바로 debug.keystore 파일을 찾아서 삭제한 후, 안드로이드 애플리케이션을 빌드 하면 오류는 해결됩니다.

debug.keystore 파일의 위치는 이클립스의 환경설정에서 찾을 수 있습니다. 
Window > Preferences > Android > Build 에서 'Default debug keystore' 항목을 보면 debug.keystore 파일의 위치를 알 수 있네요. 

윈도우 탐색기 등에서 해당 폴더로 이동한 후, debug.kestore 파일을 삭제하시면 잘 될 거예요.. ^^



 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

안드로이드 컨텍스트 메뉴 만들기

|


지난번에는 안드로이드 옵션 메뉴에 대해서 살펴봤는데요.
2011/09/29 - [프로그래밍/안드로이드] - 안드로이드 옵션 메뉴 만들기

이번에는 컨텍스트 메뉴를 만들어 보도록 하겠습니다.
컨텍스트 메뉴는 해당 뷰를 길게 누르고 있으면 나타나는 메뉴입니다.

기본적인 개념은 옵션메뉴와 크게 다르지는 않지만, 특정한 뷰를 기반으로 하고 있다는 점이 큰 차이라고 할 수 있습니다.
컨텍스트 메뉴와 관련된 메소드는 다음과 같습니다.

컨텍스트 메뉴 생성
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)

컨텍스트 메뉴 선택
public boolean onContextItemSelected(MenuItem item)

그리고 중요한 것이 하나 있습니다.
바로 컨텍스트 메뉴를 각각의 액티비티 혹은 뷰에 등록해야 하는데요..
다음 두 가지 구문 중 하나만 사용해서 등록하면 됩니다.

public void registerForContextMenu(View view)
public void setOnCreateContextMenuListener(View.OnCreateContextMenuListener l)

registerForContextMenu() 메소드가 내부적으로 View.OnCreateContextMenuListener()을 호출하기 때문에 둘 중에 하나만 사용해도 된다고 하네요..


소스를 테스트 하기 위해서는 기본으로 만들어진 레이아웃인 main.xml에서 <TextView>에 아이디를 부여해 주셔야 합니다.
아래 예제를 위해서는 다음과 같이 부여하면 됩니다.

android:id="@+id/textView"




다른 부분을 길게 누르면 아무 반응이 없지만 텍스트를 길게 누르면 컨텍스트 메뉴가 나타나는 것을 볼 수 있습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

안드로이드 옵션 메뉴 만들기

|



안드로이드 관련 기본적인 사항들을 나중에 찾기 쉽도록 하니씩 정리해 볼 계획입니다.
첫 번째로 옵션 메뉴에 대한 내용입니다.

안드로이드와 아이폰의 가장 큰 차이는 바로 이 옵션 메뉴가 별도로 있다는 건데요.
옵션 메뉴는 다음 그림과 같이 기본적으로 6개까지 나타낼 수 있습니다.



6개가 넘어게 만들 수도 있는데요.. 이런 경우, 마지막 항목에 "More.." 가 나타나게 되지요.

옵션 메뉴를 만들기 위해 필요한 메소드들을 먼저 정리해 봤습니다.

옵션메뉴 생성
public boolean onCreateOptionsMenu(Menu menu)

실행 중 옵션메뉴 변경
public boolean onPrepareOptionsMenu(Menu menu)

메뉴항목 선택
public boolean onOptionsItemSelected(MenuItem item)

그리고 매개변수로 사용하는 메뉴 객체를 생성하기 위한 메소드는 다음과 같습니다.

메뉴항목 추가
public abstract MenuItem add(int groupId, int itemId, int order, CharSequence title)

서브 메뉴항목 추가
public abstract SubMenu addSubMenu(int groupid, int itemId, int order, CharSequence title)

마지막에 CharSequence title 대신 int titleRes를 사용할수도 있겠죠..

간단하게 메뉴를 생성하고 선택하는 소스를 한번 살펴보도록 하시죠.
단축키로 알파벳 설정하는 부분이나 아이콘 설정하는 부분들을 유의해서 살펴보시면 도움이 됩니다.



onCreateOptionsMenu와 onOptionsItemSelected 메소드를 활용해서 간단하게 구성해봤습니다.
메뉴를 선택하면 간단한 Toast로 메시지를 출력하도록 구성했습니다.

위 예제처럼 프로그래밍으로 메뉴를 구성할 수도 있고, Resource에 Menu를 XML로 만들어서 처리할 수도 있습니다.
XML로 구성해서 처리하는 방법에 대해서 정리해 봅니다.
먼저 res/menu 폴더를 만들고 option_menu.xml을 다음과 같이 구성합니다.


그리고 난 후, 다음과 같이 코딩해 주면 됩니다.


onPrepareOptionsMenu를 사용해 보기 위해 use라는 멤버 변수를 구성했습니다.
그리고 use 값이 1인 경우에, 메뉴의 이름을 변경해 봤습니다.



최종적인 형태는 다음 그림과 같이 나타납니다.

            


 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

모바일 어플리케이션의 성능 향상에 대해~

|


아이폰에 이어 안드로이드까지 요즘 모바일 어플리케이션 개발이 대세인 듯합니다. 

일단 기존 개발자들이 개발에 대한 접근이 쉽다는 장점이 있어 더욱 많아지는 것 같습니다. 
아이폰의 경우, Objective-C라는 언어를 별도로 학습해야 하지만 안드로이드는 Java 기반 개발자들에게는 별 어려움 없이 적응 할 수 있기도 하죠.

실제로 자료를 보면 점차 안드로이드 점유율이 높아질 거라 예상하고 있기도 하네요.

 
저희도 개발하면서 느끼는 거지만 모바일 어플리케이션은 왠지 모르게 느리다는 느낌이 있습니다.
게임이나 내부에서 동작하는 어플리케이션은 조금 낫지만 서버를 접속해야 하는 경우에 특히 이런 경우가 많습니다.

아무래도 3G 네트워크 환경에서의 속도 때문인데요..
실제 개발할 때는 보통 WIFI 환경에서 개발을 진행하기 때문에 전혀 문제가 없어 보이지만,
사용자들은 대부분 이동중에 스마트폰을 보는 경향이 있어 3G 환경이 많기 때문이죠..

3G 환경에서의 네트워크 속도는 제가 예전에 올린 다음 글을 참고하시면 될 것 같습니다.

2011/09/05 - [프로그래밍] - 3G 네트워크의 속도를 알아보자. 

그러면 과연 모바일 어플리케이션의 속도를 향상시키기 위해서는 어떻게 해야 할까요?
제 나름대로의 관점(전지적 미니 시점?)에서 접근해 보면 다음 그림처럼 3가지 요소를 고려해야 한다고 봅니다.
한번 정리해 볼께요..  


1. DB 최적화
기존 웹 사이트에서도 마찬가지지만 서비스의 성능에 가장 큰 영향을 주는 것이 바로 DB 입니다.
실제로 느린 사이트나 모바일 어플리케이션의 특징 중의 하나가 DB 최적화가 안되어 있다는 것이죠.

DB에서 Query를 하나 보냈는데 처리 시간이 1초 이상이 걸린다고 하면
당연히 사용자는 그만큼 오래 기다려야 하는 거겠죠..

DB 최적화에는 여러가지가 있습니다.
인덱스 구성을 최적화해서 Select 쿼리의 속도를 향상시키는 방법이 대표적이기도 한데요.
인덱스 라는 것이 Insert, Delete에 대해서는 반대로 속도를 떨어뜨리는 기능도 있기 때문에 적절한 설계가 필요하다고 봅니다.

또한 DB 자체의 설정을 통해 동시 접속 수를 어느 정도 설정하는 것도 필요하겠죠.. 

대부분 DB와 접속하기 위해 Web Server로 톰캣과 같은 WAS를 사용할 텐데요..
DB Connection Pool 관리도 중요한 내용이 되겠죠.  


그래서 일단 모바일에서 접근하는 모든 쿼리를 0.1초 이내의 응답시간에 처리할 수 있도록 구성하면
DB 최적화는 어느정도 되었다고 할 수 있을 것 같습니다.


2. Web Server 최적화
Web Server 최적화라고는 했지만 실질적으로는 모바일 어플리케이션에 제공하는 데이터 양을 줄이라는 것에 가깝습니다.
XML이나 간단한 문자열로 전송 데이터를 설계해서 개발하면 되겠죠..

웹서비스를  이용하기 위한 SOAP 등도 활용할 수 있겠으나 부가 정보들이 추가되는 경향이 있어 별로 추천하고 싶지는 않습니다.
작은 용량이나마 낭비되는 것은 줄이는 것이 바람직하지 않을까 해서요~

또한 Web Server의 동시 접속자 수도 체크해야 겠죠.. 
많이 사용하는 Apache의 경우 동시접속자 수가 500인가로 기본값으로 설정되어 있었던 것 같습니다. 
요즘 서버 성능이면 500 이상은 거뜬히 받아 들일 수 있기 때문에 이 값을 수정하는 것도 필요하겠죠..

3. 모바일 어플리케이션 자체 성능 향상
듀얼 코어 탑재 모바일 폰들이 나오고 있지만 아직도 PC에 비해 CPU 속도나 다른 성능이 떨어지는 것이 사실입니다.  
여기에서 지도 보여주고, 카메라 증강현실 넣고, OpenGL 이용한 그래픽 이것 저것 넣으면
자체 속도도 많이 떨어집니다.

제가 생각하기에는 모바일 어플리케이션 하나에서 모든 것을 하려고 하면 안될 것 같습니다.
자신의 핵심 기능에 집중하고 사람들이 그 기능 때문에 사용하도록 해야지..
이것 저것 많이 넣어둔다고 더 많은 사용자들이 쓰는 것은 아닌 것 같습니다.

모바일 어플리케이션 관련해서 발표할 사항이 있어 해당 내용들을 정리하다가 블로그에도 올려봅니다. 
주관적인 의견이기는 하지만 많이 참고하시기 바랍니다. 


 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

안드로이드 dp, sp 단위에 대한 정리

|



기존의 웹에서는 텍스트나 이미지 크기를 나타낼 때 px(픽셀)을 주로 사용했습니다.
안드로이드 프로그래밍을 하면서 보면 여기에 dp와 sp라는 새로운 단위가 보입니다.

px: 픽셀(Pixels)
sp: Scale-independent pixel (scaled to relative pixel size on screen)
dp: Device-independent pixel
in: 인치(Inches - based on the physical size of the screen)
mm: 밀리미터(Milimeters - based on the physical size of the screen)
pt: 포인트(Points - 1/72 of an inch based on the physical size of the screen)

px은 화면 위의 점으로 디바이스의 DPI(Dots Per Inch)가 높이지면 1인치당 들어갈 수 있는 점의 수가 많아져 그림이 작아지게 됩니다. 기존의 웹에서 많이 사용하던 단위였죠..

sp는 사용자의 글꼴 크기 설정에 따라 크기가 조정될 수 있습니다. 그래서 스케일에 독립적인 픽셀이라는 겁니다.
즉, 동일한 디바이스에서도 25sp = 25px이 될 수도 있고, 25sp가 30px이 될 수도 있습니다.
안드로이드에서는 주로 텍스트의 크기에만 사용되고 있습니다.

dp는 디바이스에 독립적인 픽셀로서 어떤 화면 크기에서도 동일한 비율을 갖게 됩니다.
예를 들어, G1에서 320dp = 320px 값을 가지고 있습니다. 그러나 갤럭시S와 같은 경우에는 320dp = 480px을 갖게 되지요.
즉, 레이아웃에서 크기를 dp 단위로 설정한다면 디바이스에서의 실제 화면의 픽셀 크기를 고려하지 않고 프로그래밍을 할 수 있다는 겁니다.

결론적으로 안드로이드에서 크기 단위를 사용할 때, 다양한 크기의 디바이스를 고려한다면 px를 지양하고 dp를 사용해야 한다는 겁니다.

안드로이드 개발 문서에도 추후 나올 다양한 안드로이드 기기의 특징을 고려하여 dp와 sp를 사용하라고 이야기 하고 있네요.


http://developer.android.com/guide/practices/screens_support.html
http://developer.android.com/guide/topics/resources/available-resources.html#dimension

그런데 또 다른 의견도 있습니다.
요즘 나오는 안드로이드 디바이스를 보면, 폰/태블릿등 다양하게 나오면서 동일한 해상도인데 DPI가 다른 것도 존재합니다.
즉, 이런 경우에는 오히려 dp로 작업함으로써 이미지 크기가 작게 보이는 문제가 발생할 수 있습니다.

dp를 기준으로 작업하고 각각의 dpi에 대해 최적화 할 것인가?
아니면 px을 기준으로 작업하고 각각의 해상도에 대해 최적할 것인가?
하는 문제는 결국 어플리케이션을 개발하고 설계하는 아키텍처의 몫이 아닌가 합니다.



크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 2

아이폰은 SMS 수신 메시지에 접근할 수가 없네요. -.-

|


아이폰으로 SMS 수신 메시지를 처리하는 기능이 있는지 살펴봤습니다. 

어플리케이션이 아이폰의 SMS 메시지에 접근할 수 있는 방법이 없습니다.
샌드박스라고 하는 아이폰 고유의 영역에 저장되어 있기 때문인 것 같네요.  
만약에 SMS 메시지에 접근해서 처리하려는 어플리케이션을 사용하려면 탈옥밖에는 없는 듯 한데, 이건 불법이니 제외하구요.. 

또한 별도의 App에서 아이폰의 SMS를 발송하려면 반드시 사용자가 직접 전송버튼을 누르도록 되어 있네요. 
아마도 자동전송과 관련된 문제 때문인 것 같습니다.  

보안상의 이유라고는 하지만 스펨차단이나 여러가지 측면에서 SMS를 활용해 보고 싶은데 아쉽네요. -.-

추가로 아이폰에서 SMS 보내는 방법은 이 글을 참고하시구요.. 
SMS 보내는 클래스는 MFMessageComposeViewController 입니다.

참.. 안드로이드는 가능할 것 같습니다.
android.provider.Telephony.SMS_RECEIVED 이 있네요..
단, 설치시 사용자에게 허락을 받을 수 있도록 매니페스트에 다음을 추가해야 한다고 합니다.

<user-permission android:name="android.permission.SEND_SMS" />
<user-permission android:name="android.permission.RECEIVE_SMS" />

 

크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

SKT T-Store App 소개 바로가기 URI

|


안드로이드 마켓을 바로가기 위한 안드로이드 폰에서의 URI 형태는 다음과 같습니다. 
id에 해당 어플의 패키지명을 적어주면 됩니다. 

market://details?id=com.tgrape.android.radar

T-Store에도 이런 기능이 필요할 것 같은데요. 
첨부한 파일을 보시면 두 가지 방식으로 처리할 수 있다고 되어 있습니다.

1. SKAF App인 T-Store MobileClient와 App의 collaboration 연동 규격
2. Web Browser 기반의 URI 연동 규격


첫번째 방법은 첨부 문서의 소스 코드를 참고하면 그리 어렵지 않게 구성할 수 있으니
여기에서는 두 번째 URI 규격에 대해서만 간단하게 정리해 볼께요.


기본적인 URI/URL 형태는 다음과 같습니다.

tstore://PRODUCT_VIEW/0000116581/0

0000116581은 App에 대한 PID로서 T-Store에서 쉽게 확인할 수 있습니다.
마지막에 있는 숫자는 이용 가능한 나이를 표시하는 거라고 하네요.
0 - 전체 이용가
1 - 12세 이용가
2 - 15세 이용가
4 - 청소년 사용불가

이외에도 검색 관련된 URI도 있으니 첨부 문서를 참고하시기 바랍니다.

첨부 문서는 T-Store 개발자 센터에서 가져온 자료입니다.
생각보다 이 자료를 찾는데 시간이 많이 걸리더라구요. 
많은 개발자들이 이용할 수 있도록 공유해 봅니다.


크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

HTC 히어로 한글 키보드 설치하기

|


HTC 히어로를 하나 구해서 테스트 해보고 있네요. 

초기 버전이라 그런지 느린 감은 있지만 갤럭시 S/S2나 넥서스 S와 조금 다른 느낌입니다.
일단 화면이 작아서인지 터치하기 힘든 문제가 조금 있네요.. (디자이어는 화면이 크던데.. )

어쨌든 한글 키보드가 없어 찾아봤습니다.

구글 한글 키보드  
https://market.android.com/details?id=com.google.android.inputmethod.korean 

가장 많이 사용하지만 애석하게도 HTC 히어로의 OS인 프로요 2.1에는 설치가 안됩니다. 
아쉬움을 뒤로 하고 다시 한번 검색하니 두개가 나오더군요. 

한울2 한글입력기[천지인]
https://market.android.com/details?id=net.airplanez.hanwool2

가나다 한글입력기 Beta
https://market.android.com/details?id=com.bnl.GanadaIMEBeta 


두 가지 모두 설치는 잘 되는데..
문제점은 입력방식이 일반적인 스마트폰 키보드 배열이 아니라 천지인이나 다른 방식이라는 겁니다. 
익숙해지면 사용할 만 하겠지만.. 굳이 다른 형태의 키보드를 다시 익히고 쓰기는 싫어서 다시 검색~~

한글 키보드 Korean Hangul Keyboard
https://market.android.com/details?id=com.socialnmobile.hangulkeyboard

구글 한글 키보드와 유사하면서 쓰기도 편하더군요.. 

참고로 대부분 한글 키보드 설정은 다음과 같습니다.  
- 설정 -> 언어 및 키보드 -> '한글 접촉식 키보드' 체크
- 텍스트 박스를 오래누름 -> 입력방법 선택 -> '한글 접촉식 키보드' 선택 


 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0
prev | 1 | 2 | next