Android简明开发教程九:创建应用程序框架

Android简明开发教程八说明了程序需要实现的功能,就可以创建Android项目了。请参见Android简明开发教程三:第一个应 用Hello World ,创建一个新项目AndroidGraphics2DTutorial。今天先介绍创建的程序的框架。然后再项目添加如下类定义:

添加第三方库文件

AndroidGraphics2DTutorial调用了引路蜂二维图形库,因此需要在项目中添加第三方库引用(libgisengine.jar),打开 Android属性窗口,添加External JARs。把libgisengine.jar 添加到项目中,引路蜂二维图形库是引路蜂地图开发包的一部分 。添加库引用可以参见 Android引路蜂地图开发示例:基本知识。

类说明,下表列出了项目中定义的类的简要说明:

说明
AndroidGraphics2DApplication 应用程序类,为Application子类
AndroidGraphics2DTutorial 主Activity,为ListActivity子类,用于列出其它示例。
GuidebeeGraphics2DSurfaceView SurfaceView子类用于显示图形
GuidebeeGraphics2DView View子类用于显示图形,与GuidebeeGraphics2DSurfaceView 功能一样,在程序中可以互换 。
SharedGraphics2DInstance 定义了共享类对象,主要包含Graphics2D
Graphics2DActivity Activity子类,为所有示例基类,定义一些所有示例共享的类变量和函数。
Bezier,Brush,Colors,Font,Image,Path,Pen,Shape,Transform 为Graphics2DActivity的子类,为二维图形演示各个功能

AndroidGraphics2DApplication ,其实在一般的Android应用中,无需定义Application的派生类,比如在Hello World中就 没有定义,当是如果想在多个Activity中共享变量,或是想初始化一些全局变量,可以定义Application的派生类,然后可以在 Activity或Service中调用 getApplication() 或 getApplicationContext()来取得Application 对象,可以访问定义在 Application中的一些共享变量。在这个例子中AndroidGraphics2DApplication严格些也可不定义,为了说明问题,还是定义了 用来初始化Graphics2D实例,Graphics2D实例可以被所有示例Activity,如Colors,Font访问。如果定义了Application的派生 类,就需要在AndroidManifest.xml中说明Application派生类的位置。

<manifest xmlns:android=”http://schemas.android.com/apk/res/android ”
package=”com.pstreets.graphics2d ”
android:versionCode=”1″
android:versionName=”1.0″>
<application android:name=”AndroidGraphics2DApplication ”
android:icon=”@drawable/icon” android:label=”@string/app_name”>
<activity android:name=”.AndroidGraphics2DTutorial”
android:label=”@string/app_name”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion=”4″ />
</manifest>

Application 可以重载 onCreate()和 onTerminate() ,onCreate()在应用启动时执行一次,onTerminate()在应用推出执行 一次。AndroidGraphics2DApplication 的onCreate() 中初始化Graphics2D实例:

public void onCreate() {
SharedGraphics2DInstance.graphics2d=
new Graphics2D(SharedGraphics2DInstance.CANVAS_WIDTH,
SharedGraphics2DInstance.CANVAS_HEIGHT);
}

AndroidGraphics2DTutorial 为ListActivity子类,直接从AndroidManifest.xml中读取Intent-Filter Catetory 为 com.pstreets.graphics2d.SAMPLE_CODE 的所有Activity。

private static final String SAMPLE_CATEGORY= "com.pstreets.graphics2d.SAMPLE_CODE" ;
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null );
mainIntent.addCategory(SAMPLE_CATEGORY);
...

时间: 2024-07-29 19:49:00

Android简明开发教程九:创建应用程序框架的相关文章

Android简明开发教程十二:引路蜂二维图形库简介及颜色示例

AndroidGraphics2DTutorial定义了应用的主Activity,下面就可以开始写每个具体的二维绘图示例.不同的例子将尽量采用 不同的UI控件:Menu,Content Menu,Dialog,Custom Dialog,Button等等.例子采用了引路蜂二维图形库,引路蜂二维图形 库Graphics 2D API实现了移动平台(Java ME,Blackberry,iPhone,Android,Windows Phone)上图形引擎,它能够以一种统一的方 式处理各种基本图形(S

Android简明开发教程二十一:访问Internet 绘制在线地图

在例子Android简明开发教程十七:Dialog 显示图像 中我们留了一个例子DrawMap()没有实现,这个例子显示在线地图,目前大部分地图服务器都是将地图以图片存储以提高响应速 度. 一般大小为256X256个像素.具体可以参见离线地图下载方法解析. 比如: URL http://www.mapdigit.com/guidebeemap/maptile.php?type=MICROSOFTMAP&x=7&y=4&z=14 显示: 下面的例子访问Internet下载地图图片,并

Android简明开发教程二十四:总结及示例代码下载

Android 简明开发教程使用了引路蜂二维图形库作为例子,引路蜂二维图形库是引路蜂地图开发包 (http://www.imobilebbs.com/wordpress/?page_id=6)一部分,引路蜂地图开发包提供了对几乎所有软件平台(桌面和移动平台 )的支持,采用统一的接口使用包括Google 地图,Bing地图,MapABC地图在内多达二十多种地图类型,并在同一开发包中支持离 线地图,矢量地图显示. 引路蜂地图开发包Android平台示例可以参见:http://www.imobileb

Android简明开发教程二:安装开发环境

前面Android简明开发教程一:概述简要的介绍了Android平台,本篇说明如何安装搭建Android开发环境. Android开发支 持Windows (Windows XP (32-bit), Vista (32- , 64-bit),  Windows 7 (32- , 64-bit)),Mac OS (>10.5.8), Linux( Ubuntu Linux, Lucid Lynx etc). 开发Java应用最常用的是NetBean和Eclispe.但Google推荐使用的是Ecl

Android简明开发教程十九:线程 Bezier曲线

Android中使用线程Thread的方法和Java SE相同.和大多数OS系统一样,Android中也有称为UI Thread的主线程.UI Thread 主要用来给相应的Widget分发消息,包括绘制(Drawing)事件.UI Thread 也是用来处理用户交互事件的线程.比如:如果你 按下屏幕上某个按钮,UI 线程则将Touch 事件通知对应的控件(Widgets),Widget 则将其状态设置成"按下",并把"重绘" (Invalidate)事件发到Eve

Android简明开发教程十三:Option Menu画笔示例

引路蜂二维图形画笔(Pen)示例含有四个示例,Lines ,Dashes ,LineJoin 和LineCap.打算采用Option Menu(主菜单) 的方式来选择不同示例. 首先要对GuidebeeGraphics2DView,和Graphics2DActivity做些改动,从这个示例开始,GuidebeeGraphics2DView需要动态 绘制不同图形(可以通过菜单,或是Thread).在GuidebeeGraphics2DView增加下面两个方法: final Runnable upd

Android简明开发教程六:用户界面设计

Activity是Android应用用户界面的基本组成部件.但Activity本身并不提供用户界面(User Interface).从程序结构层次上 来说,一个Android应用是类android.app.Application的一个实例, Application中可以包含多个android.app.Activity实例. 每个Activity 带一个Window类,这个类在Android平台上没有提供太多功能,主要可以用来控制标题栏(屏幕顶端).比如设置 UI全屏显示可以使用如下代码: req

Android简明开发教程二十二:使用资源Resources

在前面的例子中,我们忽略了一个重要的原则,在代码和Layout中,直接使用了字符串常量,比如: <Button android:text="Pattern" android:id="@+id/btnPattern" android:layout_width="wrap_content" android:textColor="@color/black" android:checked="true" an

Android简明开发教程二十三:发布应用

到这里基本介绍了Android开发的一些基本知识,在开发实际应用时最常用的几个参考是: The Developer's Guide Android References Android Resources 最后一个是Google.com :-) 写好应用后,在设备上测试后,最后一步是发布你的应用.和Java ME平台类似的, Android应用也需要进行数字签名后才能发布.但和Java ME不同的,Android用来签名的数字证书并不需要经过CA认证,这可以 每年省下$400-$500的费用,i