2009年11月24日 星期二

Android SDK description

Android project is a software stack for mobile devices including an operating system, middleware and key applications.
Android project is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.

If you want to know how to develop applications for Android, you're in the right place. This site provides a variety of documentation that will help you learn about Android and develop mobile applications for the platform.
An early look at the the Android SDK is also available. It includes sample projects with source code, development tools, an emulator, and of course all the libraries you'll need to build an Android application.

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 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 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.

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.


Here are some key features of "Android SDK":

· 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

HTC Hero: The first Android device with Flash

HTC Hero delivers a more complete web browsing experience and allows mobile users to access a broad variety of Adobe Flash technology based content available on the web today.
Adrian Ludwig from Adobe demos websites with Flash on the HTC Hero, the first Android smartphone with Flash



Learn more about Flash for Mobile
Optimize your Flash web content for mobile (PDF, 740k)

Android 2.0 preview



2009年7月24日 星期五

玩玩! Flash!!





























Android Game 讓大家也來玩玩吧


最近用我開發的符合J2ME Game API 並移植到Android上有Android 手機的可以下載來玩玩不過呢還沒完成喔!! Hero打不死呢!! 不過呢!!畫面很漂亮喔!!
按此下載

2009年5月24日 星期日

2009年4月24日 星期五

相當好的Android開發文件

跨世代的手機,比IPHONE還強的Android
詳請請參閱

徵招Android社群專家

目前計畫徵招優秀的專家
共同研究與開發及回應相關應用主題
後續匯整成專門書籍
歡迎有興趣的專家們一起來參予喔
回應至email: anson@mail.i3g.com.tw
通過審核後成為本開發社群專家

Thread V.S EventModel

在作即時戰爭的時候
大家常遇到該用Thread or Event
其實見仁見智囉
以我的經驗來說
Thread是必用
但我會結合Event 來讓運算更簡潔
節省手機CPU耗損
避免UI過於緩慢
也就是如此我建議兩種整合在一起使用
更簡單化相關計算!!

子彈射擊角度How To

子彈可分為一般角度(直射)及具角度的射擊
這時你在國中學的三角函數就要拿出來用囉
利用Cos, Sin可以計算出子彈進行位置
我通常為了節省運算時間會先查三角函數表
把值先抓下來
這樣程式馬上可以運算使用
大大減少了運算時間
^ ^
javatai@hotmail.com

GameMap製作原理

目前在製作遊戲地圖
用的方式一氣呵成
在編輯器上編完圖檔後存成相對應程式
再放到Android後馬上用我的特製GameMap Loader
Load進程式
馬上可以用
大大減少了開發時間呢!! 
^ ^ 後續我正在規畫寫一本Andorid Game How To
有興趣的玩家可以一起來討論喔
javatai@hotmail.com

Android Music Play Dead Lock

各位在開發Android 的時候會發現
目前MediaPlayer會產生極大的問題
程式跑了幾次後會出現MediaPlayer Fail.
聲音再也出不來了
解決方式其實很簡單
一開始產生相對應的Player在去使用
就可以解決Resource Loading 造成系統Delay, 因而fail.
有興趣可以問我
javatai@hotmail.com

Weapon API Interface

這裡教你如何應用Interface 來訂定遊戲介面
此為武器的共用Interface
各位可參考一下

package com.mogame.android.framework.engine;

public interface Weapon {
public void fired(int x, int y);

public boolean isOutofRegion();

public void attackAI();

public void setAttackAI(int attackAI);

public void setCollision(boolean isCollision);

public int getDestroyPower();

}

Event Model in Android

剛寫好了Android遊戲的碰撞原理
實做了Java Event Model for Collision model.
有興趣可以參考一下,使用此方式可以大大節省
手機Thread時間
也成功應用在我的遊戲裡面

1.CollidesEvent
2.CollidesEventModel
3.ColidesListener

========================================
package com.mogame.android.framework.engine;

import java.util.EventObject;

public class CollidesEvent extends EventObject {

private Object source;

@Override
public Object getSource() {
return source;
}

public CollidesEvent(Object source) {
super(source);
this.source = source;
}

}
========================================
public interface CollidesEventModel {

public void addCollidesListener(CollidesListener listener);
public void removeCollidesListener(CollidesListener listener);
public void notifyCollisionEvent();
public void setCollision(boolean isCollision);
}
========================================
package com.mogame.android.framework.engine;

public interface CollidesListener {
public void notifyCollides(CollidesEvent event);

}

Android compatiable J2ME GAME API

這些日子我已經開發了一套android橫向卷軸的手機遊戲
也因此開發了相容於J2ME 相容的GAME API
有興趣的玩家可以跟我聯繫
目前我在MoGaMe Mobile ,南港软体园区
JavaTai