湖南大学毕业设计(论文)
第 26 页
6.3.2 应用程序框架(APPLICATION FRAMEWORK)
应用程序框架是我们进行Android开发的基础应用程序框架层包含了视图系统,内容提供器,窗口管理器,活动管理器,通知管理器,位置管理器,资源管理器,电话管理器和包管理器9大部分[17]。如图6.3所示。
图6.3 中间件层
6.3.3 Android 运行时(RUNTIME)
Android 虽然采取Java程序语言来编写应用程序,但不使用J2ME执行Java程序,而是用Android自有的Android运行时(RunTime).Android 运行时包括核心库和Dalvik虚拟机两部分[18]。如图6.4所示。
图6.4 核心库,虚拟机
6.3.4 系统库(LIBRARIES)
应用程序框架是贴近于应用程序的软件组件服务,而更底层则是Android的函数库,这一部分是应用程序框架的支撑,其架构如图6.5所示。[19]
图6.5 系统库
湖南大学毕业设计(论文)
第 27 页
6.3.5 Linux
Android平台是开放,采用Linux内核则是Android平台开放性的基础。Android平台中的操作系统采用了Linux2.6版的内核,它包括了显示驱动、摄像头驱动、Flash内存驱动、Binder(IPC)驱动、键盘驱动、wifi驱动、Audio驱动以及电源管理部分。
Linux内核层为我们在软件层和硬件层建立了一个抽象层,使得应用程序开发人员无需关心硬件细节。对于手机的开发商而言,如果想要Android平台运行到自己的硬件平台上就必须通过对Linux层进行修改,通常要做的工作就是为自己的硬件便携驱动程序。[20]
6.4 实现客户端数据库
6.4.1 SQL语言
结构化查询语言(Structured Query Language)简称SQL(发音:/?es kju? ?el/ \,是一种特殊目的的编程语言,是一种用于程序设计和数据库查询的语言,用于存取数据以及管理、更新、查询关系数据库系统;同时它还是数据库脚本文件的扩展名。
结构化查询语言是允许用户在高层数据结构上工作的高级的非过程化编程语言。它不需要用户了解具体的数据存放方式,也不要求用户指定对数据的存放方法,所以它可以使用相同的结构化查询语言作为数据输入与管理的接口,即使它具有完全不同底层结构的不同数据库系统。结构化查询语言语句可以使用嵌套编写,这使得它具有极大的灵活性和强大的功能。 6.4.2 创建数据库
在Android平台上,不能像Mysql一样通过启动mysqld来进入数据库进行操作,Android平台上的数据库操作只有通过执行Java代码,将有效的SQL语句传入后台, 来进行有效操作。这种访问数据库的方式,是目前唯一在Android平台上访问数据库的途径。数据库创建代码如下:
public SQLiteDatabase DatabaseonCreate() {
SQLiteDatabase db = null;
湖南大学毕业设计(论文)
第 28 页
try {
//数据库名arashmen,文件格式.db
db = this.openOrCreateDatabase(\
}
} catch (Exception e) { } return db;
e.printStackTrace();
6.4.3 客户端数据库操作
1.DBHelper类,是数据库操作类:
public MyDataBase(Context context){ }
this.context = context;
dbHelper = new DatabaseHelper(context); db = dbHelper.getWritableDatabase();
2. createSettingTable()方法是创建表:
public void createSettingTable(){
//创建表
String sql = \AUTOINCREMENT,\ +\; }
try { }
db.execSQL(sql);//需要异常捕获
Log.i(\, e.getMessage()); }catch(Exception e){
3.selectSettingTable()方法是读取城市记录信息:
public void selectSettingTable(){
//读取记录
Cursor cursor = db.query(\, null, null, null, null, null, null); cursor.moveToFirst(); if(!cursor.isAfterLast()){
cityName = cursor.getString(cursor.getColumnIndex(\)); if(cityName == null)
湖南大学毕业设计(论文)
第 29 页
}
}
cityName = \;
cursor.close(); 3.updateSettingTable()方法是更改城市数据:
public void updateSettingTable(String city){ }
//更改城市数据
db.delete(\, null, null);
ContentValues c = new ContentValues(); c.put(\, city); db.insert(\, null, c); cityName = city;
6.5 客户端功能模块实现
6.5.1 用户登录注册
用户可注册自己的个人帐号,用于登录系统,如图6.6所示。
图(a)
图(b)
图6.6 用户注册、登录页面
湖南大学毕业设计(论文)
第 30 页
6.5.2 换乘、线路、站点查询(离线模式)
用户进入手机公交查询页面,可以用按照线路名查询和按照站点名查询相关公交信息,线路查询和站点查询界面如图6.7所示。
图(a)
图(b)
图6.7 线路查询和站点查询页面
在离线模式(用户未登录)下,换乘查询、查询结果复制和短信发送、查询历史界面如图6.8所示。
图(a)
图(b)
图(c)
图6.8 换乘查询和查询页面
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于android平台的实时公交查询系统 - 图文(7)在线全文阅读。
相关推荐: