2009년 10월 30일 금요일

Android - Apps without borders



http://www.youtube.com/watch?v=3LkNlTNHZzE

Android "Browser tricks"



안녕하세요, Android browser를 만들고 있는 Grace입니다.
오늘은 Andorid browser의 숨은 기능을 알아보겠습니다.
Google에 있는 친구를 만나러 간다고 해보죠, 웹상에서 주소는 찾았지만,
highlight는 되어 있지않습니다.
어떻게 찾아갈까요? 간단합니다. 걱정할 필요가 없습니다.
주소를 click해보세요.
지도가 연결되죠, back button을 누른뒤에 전화를 걸어보죠.
또한 손가락을 통하여 기사를 손쉽게 읽을수 있는 기능도 있군요... from Grace
http://www.youtube.com/watch?v=B2FpDDEVWtk

2009년 10월 27일 화요일

What is Android?



Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

-.Application framework enabling reuse and replacement of components
-.Dalvik virtual machine optimized for mobile devices
-.Integrated browser based on the open source
WebKit engine
-.Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
-.SQLite for structured data storage
-.Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
-.GSM Telephony (hardware dependent)
-.Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
-.Camera, GPS, compass, and accelerometer (hardware dependent)
Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE


The following diagram shows the major components of the Android operating system. Each section is described in more detail in the above.
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Underlying all applications is a set of services and systems, including:
A rich and extensible set of
Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
A
Notification Manager that enables all applications to display custom alerts in the status bar
An
Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
For more details and a walkthrough of an application, see the
Notepad Tutorial.
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:
-.System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
-.Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
-.Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
-.LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
-.SGL - the underlying 2D graphics engine
-.3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
-.FreeType - bitmap and vector font rendering
-.SQLite - a powerful and lightweight relational database engine available to all applications

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.


Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

Android는 모바일 기기를 위해 운영체제,미들웨어등 핵심 Application을 포함하는 소프트웨어의 집합체라고 할수있다. Android SDK는 자바 프로그래밍 언어를 사용하는 Android 플래폼상에서 application을 개발하기에 필요한 tools과 API를 제공한다.
이 그림은 Android운영체제의 주요 부분을 보여주고 있으며 각각에 대한 자세한 설명은 다음을 참고하기 바란다.Android는 일련의 주요Application들, 이메일,SMS,달력,지도,브라우저,연락처 등등을 포함할 것이고,모든 Application에 대해서는 자바 프로그래밍 언어로 표현되고 있다.
개발자들에게는 핵심Applications들이 사용하는 동일한 프레임웍의 API에 모두 접근할수 있는 권한이 주어지며, 이러한 Application 구조는 components의 재사용이 가능하게 디자인되었다.
CP:Application이 다른 application을 이용하여 data접근이 가능
(예를들면, 연락처기능)하고 공유도 가능케 한다
Resource Manager : non-code자료 접근가능, 예를들면 localized strings, graphics,layout files
Notification Manager : 모든 application이 status bar에 alert기능
Activity Manager : application의 lifecycle을 관리하고 일반적인 navigation backstack을 제공
풍부하고 확장가능한 일련의 Views는 application Build,lists, grids, text boxes, buttons, 심지어는 Embeddable한 web browser에 사용이 가능하다.
Android는 시스템상에서 구현되는 다양한 component에 호출되는 일련의 C/C++ libraries를 포함하고,이러한 기능들은 개발자들에게는 Android application framework을 통해 열려있는데,
그중의 핵심이 되는 libraries는 아래와 같다.
Android는 java programming language의 핵심 libraries에서의 대부분의 기능구현이 가능한 일련의Core libraries를 포함한다.
모든 Android application은 Dalvik에서 자체의 instance 가지고 자체 프로세스를 구동한다.하나의 기계에서 여러 개의 VM을 효과적으로 구동하기 위해서 Dalvik이 사용되어지고 있고 최소한의 메모리 최적화를 위해 .dex의 file format으로 파일을 실행시키는 것이 특징이다. 이VM는 Java language compiler로 compiled된 classes를 실행시키고 “dx” tool를 이용하여 .dex 형태로 바꿔주는 과정을 거치게 된다. 참고로 Dalvik VM은 threading과 low-level메모리 관리에 기반을 둔 Linux Kernel방식이며 좀 더 설명을 하자면 보안,메모리관리,프로세스관리,network stack,driver model등의 core system service인 Linux 2.6 version을 기초로 하고 있으며 이러한 커널은 하드웨어와 소프트웨어 사이에서 abstraction 계층으로의 역할을 하고 있다.

Into the heat of the iPhone(1): ‘Features of iPhone/iPod Touch Series’ - 아이폰의 열기 속으로: ‘아이폰/아이팟터치 시리즈의 하드웨어 특징’

Into the heat of the iPhone(1): Features of iPhone/iPod Touch Series

Hi. We, the todmobile, are the mobile specialists like the smart phone-junkies, based on Seoul. Today we arranged the features of iPhone/iPod Touch series as the table below. Through the inspection in detail, you can see the big differences and updates in the H/W abilities of the iPhone/iPod Touch. So, we can expect that the next generation of iPod Touch will be equipped with built-in mic, high-resolution camera with video recording, compass sensor and GPS feature on the next year.

Apples AppStore is the most hottest on the wheel in the worldwide including Korea. The number of official registered Apps on it is over 80,000! The leading developers in the world as you are now rushing to this gold market for their success. In this situation, if you understand all the sensors and feature of the iPhone/iPod Touch, then you can find the killer service of your own to take you more close to the success.

Next time, we will discuss all the Best seller books for developing iPhone/iPod Touch. We will rank them as a table, so you can reference it for selecting the best development book for you. At this year in Korea, we can see many new-published books about iPhone/Android development books, too. That is, we will cover these books for this hot ranking, too.

See you soon. And please coming to todmobile again! We will support lots of articles about iPhone/Android/AppStore/Web Services/OpenGL or more. Thanks.


Features of iPhone/iPod Touch Series


iPhone 2.5G (Original)

iPhone 3G

iPhone 3GS

Touch

1st-gen.

Touch

2nd-gen.

Touch

3rd-gen.

Released date

June 29, 2007

July 11, 2008

June 19, 2009

September 18, 2007

September 9, 2008

September 9, 2009

(32&64 GB)

Speaker & physical volume control

Yes

Yes

Yes

No

Yes

Yes

Built-in microphone

Yes

Yes

Yes

No

No

No

Flush-mounted headphone jack

No

Yes

Yes

Yes

Yes

Yes

Remote volume control using the iPod earbuds with remote and mic

No

No

Yes

No

Yes

Yes

3-axis accelerometer

Yes

Yes

Yes

Yes

Yes

Yes

Proximity sensor

Yes

Yes

Yes

No

No

No

Ambient light sensor

Yes

Yes

Yes

Yes

Yes

Yes

Vibration and ring/silent switch

Yes

Yes

Yes

No

No

No

Wi-Fi (802.11b/g)

Yes

Yes

Yes

Yes

Yes

Yes

Bluetooth

Yes

Yes

Yes

No

Yes

Yes

EDGE network

Yes

Yes

Yes

No

No

No

3G network

No

Yes

Yes

No

No

No

Assisted GPS

No

Yes

Yes

No

No

No

Digital compass

No

No

Yes

No

No

No

Cellular location

Yes

Yes

Yes

No

No

No

Wi-Fi location

Yes

Yes

Yes

Yes

Yes

Yes

2.0 mpx still camera

Yes

Yes

No

No

No

No

3.0 mpx still and video camera

No

No

Yes

(auto focus)

No

No

No

Safari, email, multimedia, maps

Yes

Yes

Yes

Yes

Yes

Yes

Voice Control

No

No

Yes

No

No

Yes

Nike+iPod

No

No

Yes

No

Yes

Yes

System memory (DRAM)

128MB

128MB

256MB

128MB

128MB

256MB

CPU (ARM)163 ppi

412MHz

412MHz

600MHz

412MHz

533MHz

600MHz

GPU (3D)

PowerVR

MBX Lite

PowerVR

MBX Lite

PowerVR

SGX

PowerVR

MBX Lite

PowerVR

MBX Lite

PowerVR

SGX

OpenGL

ES 1.1

ES 1.1

ES 2.0

ES 1.1

ES 1.1

ES 2.0

Screen size (glossy glass covered touch)

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

[data source: Wikipedia]


[Korean version of this article is below]


아이폰의 열기 속으로(1): 아이폰/아이팟터치 시리즈의 하드웨어 특징

안녕하세요? 저희 todmobile은 서울에 근거한 모바일 전문가 팀으로 스마트폰에 미쳐 있습니다. 오늘은 아래 표와 같이 아이폰/아이팟터치 시리즈의 특징들을 정리해서 말해볼까 합니다. 표를 자세히 살펴보시면, 아이폰/아이팟터치의 하드웨어 성능에서 큰 차이점들과 갱신사항들을 보실 수가 있습니다. , 내년에 나올 차세대 아이팟터치는 내장 마이크, 고해상도 동영상/정지영상 카메라, 나침반 센서 및 GPS와 같은 기능들을 탑재할 것으로 생각됩니다.

애플의 앱스토어는 현재 국내를 포함하여 전세계적으로 가장 뜨거운 화두가 되고 있습니다. 이미 공식 등록된 상용 어플(app)들이 8만개를 넘어섰습니다! 전 세계의 앞서가는 개발자들이 성공을 위해서 이 황금 시장에 지금 막 뛰어들고 있습니다. 이러한 상황에서, 만약 여러분이 아이폰/아이팟터치의 센서들과 특징들을 모두 이해한다면, 여러분은 성공을 위한 킬러 서비스 발견에 한층 더 다가서게 되실 겁니다.

다음 번에는, 아이폰/아이팟터치 개발에 관한 베스트셀러 책들에 관에 얘기해보겠습니다. 순위별 표로 결과를 정리하여, 여러분들이 쉽게 알맞은 책을 선택하는데 도움을 드릴까 합니다. 올해 국내에서도 역시, 상당 수의 아이폰/안드로이드 개발관련 서적들이 출판 되었습니다. 그러므로, 저희는 이번 개발 책 순위 경쟁에서 국내 책들도 또한 포함시킬 것입니다.

그럼, 다음을 기대하시고요. 저희 todmobile에 또 들려주세요! 앞으로 아이폰/안드로이드/앱스토어/웹서비스/OpenGL 등에 관련한 많은 글들로 찾아 뵙겠습니다. 감사합니다.


아이폰/아이팟터치 시리즈의 특징


iPhone 2.5G (Original)

iPhone 3G

iPhone 3GS

Touch

1st-gen.

Touch

2nd-gen.

Touch

3rd-gen.

출시일

June 29, 2007

July 11, 2008

June 19, 2009

September 18, 2007

September 9, 2008

September 9, 2009

(32&64 GB)

스피커 & 물리 볼륨 제어

Yes

Yes

Yes

No

Yes

Yes

내장 마이크

Yes

Yes

Yes

No

No

No

헤드폰 잭

No

Yes

Yes

Yes

Yes

Yes

이어버드를 통한 원격 마이크 및 볼륨 제어

No

No

Yes

No

Yes

Yes

3차원 가속센서

Yes

Yes

Yes

Yes

Yes

Yes

접근 센서

Yes

Yes

Yes

No

No

No

밝기 센서

Yes

Yes

Yes

Yes

Yes

Yes

진동/소리/묵음 전환

Yes

Yes

Yes

No

No

No

와이-파이 (802.11b/g)

Yes

Yes

Yes

Yes

Yes

Yes

블루투스

Yes

Yes

Yes

No

Yes

Yes

EDGE 통신망

Yes

Yes

Yes

No

No

No

3G 통신망

No

Yes

Yes

No

No

No

GPS

No

Yes

Yes

No

No

No

나침반 센서

No

No

Yes

No

No

No

Cellular 위치

Yes

Yes

Yes

No

No

No

Wi-Fi 위치

Yes

Yes

Yes

Yes

Yes

Yes

200백만 화소 정지 영상 카메라

Yes

Yes

No

No

No

No

300백만 화소 동영상 카메라

No

No

Yes

(자동 초점)

No

No

No

사파리, 이메일, 멀티미디어, 지도

Yes

Yes

Yes

Yes

Yes

Yes

음성 제어 기능

No

No

Yes

No

No

Yes

나이키+아이팟 연동

No

No

Yes

No

Yes

Yes

시스템 메모리 (DRAM)

128MB

128MB

256MB

128MB

128MB

256MB

CPU (ARM)163 ppi

412MHz

412MHz

600MHz

412MHz

533MHz

600MHz

GPU (3D) 그래픽 가속

PowerVR

MBX Lite

PowerVR

MBX Lite

PowerVR

SGX

PowerVR

MBX Lite

PowerVR

MBX Lite

PowerVR

SGX

OpenGL

ES 1.1

ES 1.1

ES 2.0

ES 1.1

ES 1.1

ES 2.0

스크린 크기/해상도 (유리 재질 터치)

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

3.5 inch

320x480

[자료 소스: 위키피디아]