如何往android中添加数据库

如何往android中添加数据库,第1张

一、新建外部SQLite数据库

(1)下载并安装 SQLite可视化管理工具(SQLite Expert Pro) v3.4.17 破解版

http://www.cr173.com/soft/36343.html

(2)将你手头上的数据放到EXCEL表格中,保存为CSV格式的数据

(3)在此工具中按照你现有的数据格式新建数据库和表,如数据库为:contact.db,表为employee

(4)通过此工具菜单栏中Import/Export下的Import text file(CSV,TSC)功能,将你现有的CSV数据导入到你新建的数据表中(主要目的是省的一个一个的录入了)

二、在eclipse中新建一个android app工程,并在新建的工程文件点右键new->folder,在res文件夹下新建raw文件夹(如果有就不用新建了)

三、用鼠标将新建的SQLite数据库文件contact.db拖动到新建工程的res下的raw文件下,出现提示,选择copy

四、程序代码

private static final String DATABASE_PATH = "/data/data/你的主程序包路径(如:com.szair.contact)/databases"

private static final int DATABASE_VERSION = 0

private static final String DATABASE_NAME = "contact.db"

private static String outFileName = DATABASE_PATH + "/" + DATABASE_NAME

try {

buildDatabase()//见下

} catch (Exception e) {

e.printStackTrace()

}

//SQLiteDatabase对象

SQLiteDatabase db=SQLiteDatabase.openDatabase(outFileName, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS)

String t="SELECT 字段名1,字段名2 FROM employee WHERE **** ORDER BY ***"

Cursor c =db.rawQuery(t, null)

if(c.moveToFirst()){

for(int i=0i

{

String ziduan1=c.getString(0)//字段1的数据

String ziduan2=c.getString(1)//字段1的数据

}

}

------------------------------------------------

//前面用到的buildDatabase方法

private void buildDatabase() throws Exception{

InputStream myInput = getResources().openRawResource(R.raw.sz_contact)

File file = new File(outFileName)

File dir = new File(DATABASE_PATH)

if (!dir.exists()) {

if (!dir.mkdir()) {

throw new Exception("创建失败")

}

}

if (!file.exists()) {

try {

OutputStream myOutput = new FileOutputStream(outFileName)

byte[] buffer = new byte[1024]

int length

while ((length = myInput.read(buffer))>0){

myOutput.write(buffer, 0, length)

}

myOutput.close()

myInput.close()

} catch (Exception e) {

e.printStackTrace()

}

}

}

五、程序发布

按照以上方式,可以将外部建的SQLite数据库成功的发布出来

使用JSON连接Android和PHP Mysql数据库方法:

1、打开安装WAMP Server的文件夹,打开www文件夹,为你的项目创建一个新的文件夹。必须把项目中所有的文件放到这个文件夹中。

2、新建一个名为android_connect的文件夹,并新建一个php文件,命名为test.php,尝试输入一些简单的php代码(如下所示)。

test.php

<?php

echo"Welcome, I am connecting Android to PHP, MySQL"

?>

3、创建MySQL数据库和表

创建了一个简单的只有一张表的数据库。用这个表来执行一些示例 *** 作。现在,请在浏览器中输入http://localhost/phpmyadmin/,并打开phpmyadmin。你可以用PhpMyAdmin工具创建数据库和表。

创建数据库和表:数据库名:androidhive,表:product

CREATE TABLE products(

pid int(11) primary key auto_increment,

name varchar(100) not null,

price decimal(10,2) not null,

description text,

created_at timestamp default now(),

updated_at timestamp

)

4、用PHP连接MySQL数据库

现在,真正的服务器端编程开始了。新建一个PHP类来连接MYSQL数据库。这个类的主要功能是打开数据库连接和在不需要时关闭数据库连接。

新建两个文件db_config.php,db_connect.php

db_config.php--------存储数据库连接变量

db_connect.php-------连接数据库的类文件

db_config.php

<?php

/*

* All database connection variables

*/

define('DB_USER', "root")// db user

define('DB_PASSWORD', "")// db password (mention your db password here)

define('DB_DATABASE', "androidhive")// database name

define('DB_SERVER', "localhost")// db server

?>

5、在PHP项目中新建一个php文件,命名为create_product.php,并输入以下代码。该文件主要实现在products表中插入一个新的产品。

<?php

/*

* Following code will create a new product row

* All product details are read from HTTP Post Request

*/

// array for JSON response

$response = array()

// check for required fields

if (isset($_POST['name']) &&isset($_POST['price']) &&isset($_POST['description'])) {

$name = $_POST['name']

$price = $_POST['price']

$description = $_POST['description']

// include db connect class

require_once __DIR__ . '/db_connect.php'

// connecting to db

$db = new DB_CONNECT()

// mysql inserting a new row

$result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')")

// check if row inserted or not

if ($result) {

// successfully inserted into database

$response["success"] = 1

$response["message"] = "Product successfully created."

// echoing JSON response

echo json_encode($response)

} else {

// failed to insert row

$response["success"] = 0

$response["message"] = "Oops! An error occurred."

// echoing JSON response

echo json_encode($response)

}

} else {

// required field is missing

$response["success"] = 0

$response["message"] = "Required field(s) is missing"

// echoing JSON response

echo json_encode($response)

}

?>

JSON的返回值会是:

当POST 参数丢失

[php] view plaincopy

{

"success": 0,

"message": "Required field(s) is missing"

}

数据库文件放在/data/data/对应的包/databases/对应的数据库

在控制台中输入adb shell 回车》ls》cd data/data》ls》cd "对应的包"》ls

取出来:adb push 手机路径 本地路径

例:adb pull /data/data/com.smart/databases/smart.db e:/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9635496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存