Android中创建和使用数据库(4)

使用数据库

  现在你已经可以利用创建的辅助类来使用数据库了,在DatabaseActivity.java文件中,创建一个DBAdapter类的实例:

 package net.learn2develop. Database ;

  import android.app.Activity;

  import android.os.Bundle;

  
public class DatabaseActivity extends Activity {

  


  
@Override

  
public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  DBAdapter db
= new DBAdapter(this);

  }

  }

  增加一个标题

  如果想在titles表中增加一个标题,可以使用DBAdapter类的insertTitle()方法:

@Override

  
public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  DBAdapter db
= new DBAdapter(this);

  
// -- -add 2 titles---

  db.
open ();

  
long id;

  id
= db.insertTitle(

  "
0470285818 ",

  "C#
2008 Programmer ' s Reference",

  "Wrox");

  id = db.insertTitle(

  "047017661X",

  "Professional Windows Vista Gadgets Programming",

  "Wrox");

  db.close();

  }

  insertTitle()方法返回插入行的ID,如果在添加过程中遇到错误,它就返回-1。

  如果你分析Android设备/模拟器的文件系统,你可以看到book数据库创建在database文件夹下,如图3所示。

  图3 database文件夹
Android中创建和使用数据库(4)

  检索所有标题

  想要检索titles表中的所有标题,可以使用DBAdapter类的getAllTitles()方法,如清单5所示。

清单5 使用DBAdapter类的getAllTitles()方法检索titles表中的所有标题

package net.learn2develop. Database ;

  import android.app.Activity;

  import android.
database . Cursor ;

  import android.os.Bundle;

  import android.widget.Toast;

  
public class DatabaseActivity extends Activity {

  


  
@Override

  
public void onCreate(Bundle savedInstanceState)

  {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  DBAdapter db
= new DBAdapter(this);

  
// -- -获取所有标题---

  db.
open ();

  
Cursor c = db.getAllTitles();

  
if (c.moveToFirst())

  {

  do {

  DisplayTitle(c);

  }
while (c.moveToNext());

  }

  db.
close ();

  }

  }

  返回的结果是一个Cursor对象,如果要显示所有标题,你首先应该调用Cursor对象的moveToFirst()方法,如果它成功(意味着至少有一行有效),使用DisplayTitle()方法显示详细的标题,要移动到下一个标题,可以调用Cursor对象的moveToNext()方法,下面是DisplayTitle()方法的定义:

public void DisplayTitle( Cursor c)

  {

  Toast.makeText(this,

  "id: "
+ c.getString( 0 ) + "\n" +

  "ISBN: "
+ c.getString( 1 ) + "\n" +

  "TITLE: "
+ c.getString( 2 ) + "\n" +

  "PUBLISHER: "
+ c.getString( 3 ),

  Toast.LENGTH_LONG).show();

  }

   图4显示Toast类,它从数据库中检索并显示一个标题。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值