英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
第二届计算机,通信,控制和自动化国际研讨会论文集(ISCCCA-13)
基于Android数据库应用技术的研究与实现
Ming Xu, XinChun Yin, Jing Rong
扬州大学信息工程学院
扬州,中国
电子邮件:xuming@yzu.edu.cn
摘要 - 本文提出并实现了基于Android系统的本地模型SQLite和远程模型SQL Server两种不同的数据库处理技术,针对数据库技术应用深层次需求的移动平台。同时,本文阐述了Android系统访问SQL Server数据库时WebService的功能。本文提出的方法可以顺利应用于移动终端平台和移动业务管理系统,具有商品和技术可操作性更好的优势。
关键词组分:Android;数据库技术; SQLite; SQL Server; WebService
I.介绍
随着智能手机的普及,Android平台因其开源,便捷等特点而受到越来越多人的青睐。Android手机中的应用软件开发变得越来越重要。数据处理是应用软件开发中的重要部分之一。数据处理几乎不可能没有数据库技术。但由于移动设备本身硬件条件的限制,手机无法像大多数通用PC一样安装和运行大型DBMS。因此,如何在Android系统环境下实现数据库应用技术已经成为移动应用软件开发的重要研究课题之一。本文旨在介绍移动数据库应用技术。
II.一个简要的Android数据库技术
本文以SQLite和SQL Server为例介绍了Android系统环境下的两种通用数据库访问方式:本地访问方式和远程访问方式,以及它们的实现。
- 本地访问方法和SQLite
手机的数据处理以本地方式工作,由于互联网的花费,速度很慢,手机本身的条件限制。
在Android系统中,SQLite是一个独立的数据库管理系统。 它是一种轻量级的数据库系统。由于对系统和外部需求的支持很少,只有它可以很容易地嵌入到硬件设备中。较少的内存支持和数据读取/写入的能力直接使其成为Android移动系统良好的本地数据管理工具。
通常,SQLite数据库存储在data/data/lt;project foldergt;/databases/
当谈到基于Web Internet远程数据库访问支持的移动终端时,SQLite的聪明,轻便的功能将立即变得无能为力。
B.远程访问方法和SQL Server
今天,随着Internet技术的快速发展以及移动速度的提高和功能的提高,实现数据远程访问和数据处理是移动应用不可或缺的要素之一。
SQL Server由于其易用性,良好的可扩展性和跨平台兼容性,使其在数据库领域中脱颖而出。它已经成为最受欢迎的数据库系统之一。另外,因特网远程数据访问,网站数据管理使其成为应用广泛的数据管理和维护工具。
由于SQL Server占用大量的存储空间,消耗的系统资源太多,在移动系统中应用不方便。利用远程连接的SQL Server数据库技术,可以实现随时访问移动终端数据库的能力,随时查询和动态更新相关数据信息。
Android系统无法直接连接到SQL Server数据库。它必须通过WebService中间件技术进行传输,以实现数据库访问。
III.相关工作
下面从数据库连接的角度介绍Android系统的本地访问方法和远程访问方法的实现。以简单的登录应用程序来显示如何完成特定的数据库连接。
- 本地方法连接SQLite
使用SQLite连接本地数据库系统。
环境基础:Android4.0.4。
使用SQLite连接数据库系统的步骤如下:
首先,创建SQLiteDatabase的一个对象。
其次,调用连接数据库的connectDB()方法。
当您第一次登录时,数据库中没有任何数据,所以我们应该使用insert()方法将数据插入到数据库中。注意,第二次登录时注释insert()方法,否则您将再次插入数据。
代码实现如下:
public class SQLiteActivity extends Activity{ SQLiteDatabase sld;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button okButton = (Button)findViewById(R.id.Button01);
final Button cancelButton = (Button)findViewById(R.id.Button02);
final EditText name = (EditText)findViewById(R.id.EditText01);
final EditText password = (EditText)findViewById(R.id.EditText02);
connectDB(); //connect database okButton.setOnClickListener(new
View.OnClickListener() {
public void onClick(View v) {
String nameStr = name.getText().toString();
String pawStr = password.getText().toString(); if(nameStr==null||pawStr==null||nameStr.equals('')||pawStr. equals('')) {
Toast.makeText(SQLiteActivity.this, 'name or password can not be empty', Toast.LENGTH_SHORT).show();}
else {insert();//before the first login,you should insert the name and password to the table.
boolean flag = query(nameStr, pawStr);
if(flag) {setContentView(R.layout.lifeencyclopedia);} else {Toast.makeText(SQLiteActivity.this, 'name or
password is wrong.', Toast.LENGTH_SHORT).show();
}}}});
cancelButton.setOnClickListener(
new View.OnClickListener() {@Override public void onClick(View v) { name.setText(''); password.setText('');}});
}
public void connectDB(){ try{sld=SQLiteDatabase.openDatabase(
'/data/data/com.yzu.activity/mydb', //the path of the database mydb
null, //CursorFactory SQLiteDatabase.OPEN_READWRITE|SQLiteData
base.CREATE_IF_NECESSARY //read,write and create if not exsists.);
String sql='create table if not exists users(name varchar(20), password varchar(20))';
sld.execSQL(sql); }catch(Exception e){
Toast.makeText(this, 'Therersquo;s something wrong in the database:' e.toString(), Toast.LENGTH_SHORT).show();}}
//查询表
public boolean query(String name, String password){ boolean flag = false;
try{
String sql = 'select * from users where name=#39;' name '#39;
- 'and password=#39;' password '#39; ' ; Cursor cur=sld.rawQuery(sql, null);
if(cur.moveToNext()){flag = true;} cur.close();
} catch (Exception e){
Toast.makeText(this, 'Therersquo;s something wrong in the database:' e.toString(), Toast.LENGTH_SHORT).show();}
return flag; }
//插入数据到表
public void insert() {
try{
String sql='insert into users values(#39;molly#39;,#39;123#39;)'; sld.execSQL(sql);
}catch(Exception e){
Toast.makeText(this, ' Therersquo;s something wrong about the database' e.toString(),
Toast.LENGTH_SHORT).show();
}
}
}
B. Android系统远程连接SQL Server数据库
Android系统可以使用中间代理WebService访问SQL Server数据库。 WebService将以XML格式返回数据。通过分析这些XML数据来获取数据库的信息。
WebService是基于简单对象访问协议(SOAP)的远程过程调用标准。它是一种通过Web或云提供的网络地址的软件功能。 WebService可以用XML文件来描述。这个文件被称为WSDL。 WebService可以将不同的操作系统平台,不同的编程语言和不同的技术集成在一起。
没有WebService库直接由Android SDK提供,我们可以通过名为KSOAP的第三方使用SDK库。 KSOAP可以在线下载,如下所示:
ksoap2-android-assembly-2.4-jar-with-dependencies.jar。
使用SQL连接数据库系统的步骤如下:
开发环境:Android4.0.4,SQL Server2008,Visual Studio 2008(由C#编写的WebService代码)。
首先在SQL Server和相应的表中创建一个数据库。以登录程序为例。
该表的设计如下:
表I.登录表
TABLE I. |
LOGIN TABLE |
|||
Column Name |
Data Type |
Length |
Is NULL |
|
id |
int |
4 |
||
name |
varchar |
50 |
||
password |
varchar |
50 |
登录表示例。
WebService可以通过Visual Studio 2008创建。首先,我们应该创建一个类来管理数据库,我们命名DBOperation类,我们可以创建,删除,更新和读取数据库中的数据。在本文中,我们仅向您展示如何读取数据。
这里省略了用于管理数据库的DBOperation代码。
然后,创建一个WebService以通过WebService读取或更新数据库。
通过DBOperation类创建一个实例dbOperation,我们可以调用它的方法。注意方法登录,它有两个参数,名称和密码,我们可以调用类DBOperation中的方法登录。
这里省
全文共16800字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[8981],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。