'Android'에 해당되는 글 6건

  1. 2015.11.02 Android 4,~ 6.0 Changes
  2. 2015.06.02 Service onStartCommand
  3. 2014.07.29 gms MapView이용시 필요세팅
  4. 2007.11.20 Android 시작, Hello World
  5. 2007.11.20 Android의 설치
  6. 2007.11.16 Adroid, GPhone

Android 4,~ 6.0 Changes

Android 2015. 11. 2. 10:26

Android 6.0 (API level 23) - Marshmallow

- runtime permissions.

- App Power Saving optimization.

Doze: device

App Standby:

- ART runtime 수정.

- Android for Work changes

- Camera Service Changes

priority 추가.

 Wi-Fi & Network

기존에 다른 네트웍이 끊어졌지만, 이젠 끊어지지 않는다. (API 21이후에는 multinetwork지원)

- APK validation

- USB Connection

 

Android 5.x (Lollipop,  API Level 21)

- Android RunTime (ART), 기존 dalvik대체

1. AOT(Ahead Of Time) 컴파일

2. GC향상

3. debugging 향상
(단,

- JNI / obfuscator 쓰는 경우 주의 필요

- GC에 반하는 기술 주의 필요)

- Notification : 계정별로 noti가 됨.

- Sound / 진동

Notification.Builder를 이용해서 prioritymode를 써야 함.

- MediaSession  등장 for media control (이전의 RemoteControlClient 대신임.)

Notification.MediaStyle,   (with Notification.Builder.addAction() )

- 64bit support in NDK.

- Managed Profile

- file공유 (profile간)

- Lockscreen widget support 없어짐.  (이제 lockscreen에서 Widget이 사라지나 보네요)

 

Android 4.4 (Kitkat, API Level 19)

 

- WebView가 크롬으로 바뀜. (기존엔 WebView base였음)

- READ_EXTERNAL_STORAGE permission 추가됨. -> getExternalStoragePublicDirectory() 사용가능

 

- android.pirnt 프레임웍 추가, 로 문서 printing이 쉬워짐.

- SMS Provider 추가:  default SMS앱으로 선정되어야만 SMS수신등이 가능

 

-

 

Android 4.1, 4.2, 4.3 (Jellybean  API 16~18)

- 4.3  OpenGL ES 3.0 지원.

- WifiEnterpriseConfig 기업용 자동 Wi-Fi세팅 지원.

- MediaMuxer : 1audio + 1video mux.

- ViewOverlay: OpticalBounds 추가.

- Screen Orientation 사용자편의 옵션 3개 추가.

 

 

Android 4.0 (IcecreamSandwich, API Level 14)

 

- RemoteControlClient 등장: media control / lock screen 등의 이벤트 수신.

 

 

Posted by yongary
,

Service onStartCommand

Android 2015. 6. 2. 09:12

android로 간단한 서비스 구현시 필요한 건 다음 2~3가지 정도이다.

  1. extends Service

  2. onStartCommand  (return START_STICKY)

  3. onBind {return null;} ==>Bind형 서비스 용도  : AIDL과 함께 사용하는 참고 사이트

  4. onDestroy

 

서비스에서 제일 중요한 함수는 onStartCommand라고 할 수 있는데

최초 실행시에는 onCreate->onStartCommand순으로 호출되고

실행중 재호출시에는 onStartCommand로 바로 호출되기 때문이다..

 

 

서비스의 onStartCommand에는 3가지 return type을 가질수 있다.

 

보통은 특정파라미터가 없다면, START_STICKY를 쓰면 된다. (자동 재구동)

 

 

참고사이트:

 


START_STICKY : Service가 강제 종료되었을 경우 시스템이 다시 Service를 재시작 시켜 주지만 intent 값을 null로 초기화 시켜서 재시작 합니다.

Service 실행시 startService(Intent service) 메서드를 호출 하는데 onStartCommand(Intent intent, int flags, int startId) 메서드에 intent로 value를 넘겨 줄 수 있습니다. 기존에 intent에 value값이 설정이 되있다고 하더라도 Service 재시작시 intent 값이 null로 초기화 되서 재시작 됩니다.

START_NOT_STICKY : 이 Flag를 리턴해 주시면, 강제로 종료 된 Service가 재시작 하지 않습니다. 시스템에 의해 강제 종료되어도 괸찮은 작업을 진행 할 때 사용해 주시면 됩니다.

START_REDELIVER_INTENT : START_STICKY와 마찬가지로 Service가 종료 되었을 경우 시스템이 다시 Service를 재시작 시켜 주지만 intent 값을 그대로 유지 시켜 줍니다. startService() 메서드 호출시 Intent value값을 사용한 경우라면 해당 Flag를 사용해서 리턴값을 설정해 주면 됩니다

 

Posted by yongary
,

MapView를 사용하기 위해서 google_play_service라이브러리를 import해야한다.

방법은 아래와 같은데.. 보다 자세한 건 맨 아래 링크를 참고! 



1. SDK Manager에서 Google Play Service를 다운로드 한다.


2. import  Android   Existing_Android_Project    :  google_play_service  (extra폴더) 추가하고

속성->build밑에  goolge_play_service 추가 < 소스  COPY 옵션 check 필요>

( android-sdk-windows\extras\google\google_play_services\libproject\google-play-services_lib


3.프로젝트의 빌드 옵션에서   google API 선택 및 밑에  lib하나 추가.



참고 그림.

http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/ 

Posted by yongary
,

Android 시작, Hello World

Android 2007. 11. 20. 15:06


Android를 설치했으면, 기본 Hello World 프로젝트가 손쉽게 생성된다.

eclipse의 File->New-> Project 에서  android를 고르고, 그림과 같이 적당히 입력하면.
프로젝트가 완성된다.

사용자 삽입 이미지


실행은 RUN에가서 android 프로젝트에서 방금 만들걸 골라주기만 하면...
에뮬레이터가 아래와 같이 실행된다.

사용자 삽입 이미지


야호! Hello World가 떴다. ^^


Posted by yongary
,

Android의 설치

Android 2007. 11. 20. 14:45

--Android의 설치방법을 windows기준으로 설명해보려 한다.--


구글폰의 개발 SDK인 android는
Eclipse3.2 이상의 환경에서 개발이 가능하다.
( android 설치 등 참고사이트:  http://code.google.com/android/toolbox/google-apis.html  )


Android의 설치는 3 step으로 볼 수 있는데,
1.  Eclipse3.2이상이 깔려있어야 한다.
2.  android SDK를 다운받는다.( http://code.google.com/android/intro/installing.html  )
3.  Eclipse plugin(ADT)을 깐다. (http://code.google.com/android/intro/installing.html#installingplugin )

==> 2번항목과 3번항목이 순서는 바뀌어도 된다.



 :항목별로 설명하면, (windows 기준)

<1> eclipse설치
  eclipse는 www.eclipse.org 에서 받을 수 있다. 
  물론 이때, JDK5 ( htttp://java.sun.com/javase/downloads/index.jsp  )이상도 같이 깔도록 한다.


<2> Android SDK설치.

  A. http://code.google.com/android/download.html 
   에서 Windows버전을 다운받아서, 적당한 디렉토리에 푼다.  (예:  C:\eclipse )

  B. 내컴퓨터->우측클릭->속성->고급->환경변수 에서  PATH에     
       C:\eclipse\android_sdk_wind...\tools 를 추가한다.
 

<3> ADT 설치.
     1. Eclipse를 실행하여, Help > Software Updates > Find and Install. 메뉴를 고른다.
     2.   Search for new features to install을 고르고 "Next" 를 누른다.
     3.   "New Remote Site" 버튼을 누르고,   https://dl-ssl.google.com/android/eclipse/ 
           를 URL란에 입력한다. (이름은 아무거나하고)
     4. "Finish" 버튼을 누른다.
     5. 팝업창이 뜰텐데.. 거기서  +기호 몇번눌러 Android Development Tools x.x.x를 선택하고,
        "Next".   해서 다운로드 받는다.
     6. Eclipse가 Restart되고 난 후, Android SDK위치를 지정해준다.
         A.  Windows메뉴의 "Preference"메뉴에서 왼쪽에 +Android를 선택하고
         우측에다 SDK위치를 입력한다.     예) C:\eclipse\android_sdk_wind...


       


Posted by yongary
,

Adroid, GPhone

Android 2007. 11. 16. 13:51

애플에서 iphone을 발표했을 때, 세계의 모바일 업계는 경악을 했었다.
모바일 개발자의 입장에서는, 인제 모바일 개발이 아예 없어지겠구나
라고 생각이 될 정도였으니 말이다.

구글이 GPhone 관련 먼가 작업을 한다고 들었을 때는
당연히 애플보다 좀 늦긴 하지만, 애플을 따라하려니 생각했었다.
(SKT가 컬러링 출시하면 좀 있다가 KTF가 출시하고, 좀 더 있다가 LGT가 출시하고..
머 이런걸 보며 살아온 우리들 입장에선 당연한 생각이 아니겠는가)

그러나, GPhone은 달랐다.
휴대폰이 아닌, 휴대폰 OS를 개발한 것이었다.

Linux기반 OS에 java기반 SDK까지..

게다가 모두 오픈소스이고, Android SDK로는 폰의 기본 메뉴들까지
모두 구현할 수 있다고 한다.


해외에는 내년 말에 GPhone들이 출시될 것 같다고 하는데..
우리나라에는 과연 언제나 가능할까?

하나의 어플리케이션만 개발하면 세계의 유수한 폰들에서 돌아가는 시대!
빨리 이런시대가 왔으면 좋겠다.

하지만 안타깝게도
우리나라는 구조상 이동통신사가 절대권력을 가지고 있기 때문에,
과연 언제 GPhone이 나올지 상상하기가 힘든 수준이다.

게다가 이통사들도 자체적으로 Linux OS를 개발하고 있다고 하니,
이통사에서 Adroid를 오케이 할리가 현재로서는 만무하다.

새로운 MVNO사업자가 나타나서
GPhone으로 서비스를 하는게 가장 현실적인 방법일 것 같다.

돈만 있으면 내가 MVNO사업을 하고 싶다~~ ^^
국내 모바일업계의 발전을 위해서!



Posted by yongary
,