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
2009年11月24日 星期二
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)
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)
2009年7月24日 星期五
2009年4月24日 星期五
徵招Android社群專家
目前計畫徵招優秀的專家
共同研究與開發及回應相關應用主題
後續匯整成專門書籍
歡迎有興趣的專家們一起來參予喔
回應至email: anson@mail.i3g.com.tw
通過審核後成為本開發社群專家
共同研究與開發及回應相關應用主題
後續匯整成專門書籍
歡迎有興趣的專家們一起來參予喔
回應至email: anson@mail.i3g.com.tw
通過審核後成為本開發社群專家
Thread V.S EventModel
在作即時戰爭的時候
大家常遇到該用Thread or Event
其實見仁見智囉
以我的經驗來說
Thread是必用
但我會結合Event 來讓運算更簡潔
節省手機CPU耗損
避免UI過於緩慢
也就是如此我建議兩種整合在一起使用
更簡單化相關計算!!
大家常遇到該用Thread or Event
其實見仁見智囉
以我的經驗來說
Thread是必用
但我會結合Event 來讓運算更簡潔
節省手機CPU耗損
避免UI過於緩慢
也就是如此我建議兩種整合在一起使用
更簡單化相關計算!!
子彈射擊角度How To
子彈可分為一般角度(直射)及具角度的射擊
這時你在國中學的三角函數就要拿出來用囉
利用Cos, Sin可以計算出子彈進行位置
我通常為了節省運算時間會先查三角函數表
把值先抓下來
這樣程式馬上可以運算使用
大大減少了運算時間
^ ^
javatai@hotmail.com
這時你在國中學的三角函數就要拿出來用囉
利用Cos, Sin可以計算出子彈進行位置
我通常為了節省運算時間會先查三角函數表
把值先抓下來
這樣程式馬上可以運算使用
大大減少了運算時間
^ ^
javatai@hotmail.com
GameMap製作原理
目前在製作遊戲地圖
用的方式一氣呵成
在編輯器上編完圖檔後存成相對應程式
再放到Android後馬上用我的特製GameMap Loader
Load進程式
馬上可以用
大大減少了開發時間呢!!
^ ^ 後續我正在規畫寫一本Andorid Game How To
有興趣的玩家可以一起來討論喔
javatai@hotmail.com
用的方式一氣呵成
在編輯器上編完圖檔後存成相對應程式
再放到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
目前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();
}
此為武器的共用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);
}
實做了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
也因此開發了相容於J2ME 相容的GAME API
有興趣的玩家可以跟我聯繫
目前我在MoGaMe Mobile ,南港软体园区
JavaTai
訂閱:
文章 (Atom)