在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的。所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提示方式,让用户决定是否打开网络。而本节我们将会学习如何访问数据库以及提供基本的增删改查功能,并且使他们尽量的解耦。

 

二、数据库

Xamarin.Android下创建本地数据库与在Java下的方式相同,而我们必须掌握使用SQLiteOpenHelper,因为这个类会简化我们创建数据的步骤,让我们只需要关注创建数据库中的表,并在数据库版本需要更新时进行操作。其中我们必须实现OnCreate方法和OnUpgrade方法,OnCreate方法仅会在数据库不存在的情况下才执行,所以不会重复执行。比如下面的代码。

 1         class LocationSqliteOpenHelper : SQLiteOpenHelper
 2         {
 3             public override void OnCreate(SQLiteDatabase db)
 4             {
 5             }
 6 
 7             public override void OnUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
 8             {
 9             }
10         }

 

但是我们还需要使用父类的构造函数,指定数据库的名称以及初始版本。比如下面的代码我们将创建一个名为“test”的数据,并且初始版本为1.。

1         class LocationSqliteOpenHelper : SQLiteOpenHelper
2         {
3             public LocationSqliteOpenHelper(Context context)
4                 : base(context, “test”, null,1)
5             {
6             }
7         }

学会了上面的操作,下面我们就可以创建一个名为Test的数据库,并且该数据库中含有一个USER表(SQLite数据库下的主键需要为INTEGER类型,并且是自增的)。

 1     public class TestSQLiteOpenHelper : SQLiteOpenHelper
 2     {
 3         public TestSQLiteOpenHelper(Context context)
 4             : base(context, "Test", null, 1)
 5         {
 6         }
 7 
 8         public override void OnCreate(SQLiteDatabase db)
 9         {
10             db.ExecSQL("CREATE TABLE USER(id INTEGER PRIMARY KEY NOT NULL,uname TEXT NOT NULL,upwd TEXT NOT NULL)");
11         }
12 
13         public override void OnUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
14         {
15             db.ExecSQL("DROP TABLE IF EXISTS USER");
16             OnCreate(db);
17         }
18 }
View Code

相关文章:

  • 2021-11-06
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-08-24
  • 2021-11-09
  • 2021-12-07
  • 2021-11-26
猜你喜欢
  • 2021-07-31
  • 2022-12-23
  • 2021-12-22
  • 2022-03-01
  • 2021-05-28
  • 2021-10-28
  • 2021-10-01
相关资源
相似解决方案