展会信息港展会大全

Android数据库相关代码解读 Android数据库操作方法
来源:互联网   发布日期:2016-01-19 11:26:43   浏览:1228次  

导读:Android数据库的操作方法多样化,掌握这些应用技巧对于我们的实际开发起着非常重要的作用。我们在这里就为大家介绍了一下相关操作技巧。在Android手机操作 系统进行实际开发中,进场会应用到数据库。而且在这一 ...

Android数据库的操作方法多样化,掌握这些应用技巧对于我们的实际开发起着非常重要的作用。我们在这里就为大家介绍了一下相关操作技巧。

在Android 手机操作 系统进行实际开发中,进场会应用到数据库。而且在这一平台中对数据库的应用方法比较简单灵活。我们在这里就为大家详细介绍了相关方法,希望可以给大家带来 一些帮助。

昨天进行了GUI界面设计,感受了一下android初次设计的愉悦,今天接着学习其SQLite数据库试用,将昨天的例子中数据存到数库中,并读 取查看一下。 具体看代码(原写的有点问题,再改写如下):

1) Android数据库之库操作类:

package com.topsun;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.util.Log;

public class DBHelper {

private static final String TAG = "UserDB_DBHelper.java";

private static final String DataBaseName = "UserDB";

SQLiteDatabase db;

Context context;

public DBHelper(Context context) {

this.open(context);

}

private void createTabel() {

// TODO Auto-generated method stub

String sql = "";

try {

sql = "CREATE TABLE IF NOT EXISTS TestUser (ID INTEGER

PRIMARY KEY autoincrement, NAME TEXT, SEX TEXT, AGES INTEGER)";

this.db.execSQL(sql);

Log.v(TAG, "Create Table TestUser ok");

} catch (Exception e) {

Log.v(TAG, "Create Table TestUser fail");

} finally {

//this.db.close();

Log.v(TAG, "Create Table TestUser ");

}

}

public boolean save(String name, String sex, Integer ages) {

String sql = "insert into TestUser values

(null,'" + name + "','" + sex

+ "'," + ages + ")";

try {

this.db.execSQL(sql);

Log.v(TAG, "insert Table TestUser 1 record ok");

return true;

} catch (Exception e) {

Log.v(TAG, "insert Table TestUser 1 record fail");

return false;

} finally {

//this.db.close();

Log.v(TAG, "insert Table TestUser ");

}

}

public Cursor loadAll() {

Cursor cur = db.query("TestUser", new String[]

{ "ID", "NAME","SEX","AGES"}, null,

null, null, null, null);

return cur;

}

public void open(Context context){

if (null == db || !this.db.isOpen()){

this.context = context;

this.db = context.openOrCreateDatabase(this.DataBaseName,

context.MODE_PRIVATE, null);

createTabel();

Log.v(this.TAG, "create or Open DataBase。。。");

}

}

public void close() {

db.close();

}

}

package com.topsun;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.util.Log;

public class DBHelper {

private static final String TAG = "UserDB_DBHelper.java";

private static final String DataBaseName = "UserDB";

SQLiteDatabase db;

Context context;

public DBHelper(Context context) {

this.open(context);

}

private void createTabel() {

// TODO Auto-generated method stub

String sql = "";

try {

sql = "CREATE TABLE IF NOT EXISTS TestUser

(ID INTEGER PRIMARY KEY autoincrement,

NAME TEXT, SEX TEXT, AGES INTEGER)";

this.db.execSQL(sql);

Log.v(TAG, "Create Table TestUser ok");

} catch (Exception e) {

Log.v(TAG, "Create Table TestUser fail");

} finally {

//this.db.close();

Log.v(TAG, "Create Table TestUser ");

}

}

public boolean save(String name, String sex, Integer ages) {

String sql = "insert into TestUser values

(null,'" + name + "','" + sex

+ "'," + ages + ")";

try {

this.db.execSQL(sql);

Log.v(TAG, "insert Table TestUser 1 record ok");

return true;

} catch (Exception e) {

Log.v(TAG, "insert Table TestUser 1 record fail");

return false;

} finally {

//this.db.close();

Log.v(TAG, "insert Table TestUser ");

}

}

public Cursor loadAll() {

Cursor cur = db.query("TestUser", new String[]

{ "ID", "NAME","SEX","AGES"}, null,

null, null, null, null);

return cur;

}

public void open(Context context){

if (null == db || !this.db.isOpen()){

this.context = context;

this.db = context.openOrCreateDatabase(this.DataBaseName,

context.MODE_PRIVATE, null);

createTabel();

Log.v(this.TAG, "create or Open DataBase。。。");

}

}

public void close() {

db.close();

}

}

2) Android数据库交互代码

package com.topsun;

import android.app.Activity;

import android.database.Cursor;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

public class guiwindows extends Activity

implements OnClickListener {

EditText TEditname;

EditText TEditsex;

EditText TEditages;

EditText TEditmerge;

Button TSavebutton;

Button TViewbutton;

DBHelper db;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

this.TEditname = (EditText) this.findViewById

(R.id.widgeteditname);

this.TEditsex = (EditText) this.findViewById

(R.id.widgeteditsex);

this.TEditages = (EditText) this.findViewById

(R.id.widgeteditages);

TEditmerge = (EditText) this.findViewById

(R.id.widgeteditmerge);

this.TSavebutton = (Button) this.findViewById

(R.id.widgetSavebutton);

TViewbutton = (Button) this.findViewById

(R.id.widgetViewbutton);

this.db = new DBHelper(this);

this.TSavebutton.setOnClickListener(this);

this.TViewbutton.setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// this.TEditages.setText(this.TEditname.getText().

toString()+this.TEditsex.getText().toString());

if (v.getId() == R.id.widgetSavebutton) {

try {

this.db.open(this);

this.db.save(this.TEditname.getText().toString(), this.TEditsex

.getText().toString(), Integer.valueOf(this.TEditages

.getText().toString()));

} catch (Exception e) {

Log.v("save data", "save data fail");

} finally {

this.db.close();

}

} else if (v.getId() == R.id.widgetViewbutton && null != db) {

this.db.open(this);

// 浏览所有数据

Cursor cur = db.loadAll();

StringBuffer sf = new StringBuffer();

cur.moveToFirst();

while (!cur.isAfterLast()) {

sf.append(cur.getInt(0)).append(" : ").append(cur.getString(1))

.append(" : ").append(cur.getString(2)).append(" : ")

.append(cur.getInt(3)).append("\n");

cur.moveToNext();

}

db.close();

this.TEditmerge.setText(sf.toString());

}

}

}

赞助本站

人工智能实验室

相关热词: Android数据库 操作方法

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港