android长按d框选择“修改”,不显示修改输入界面,直接更新数据库,导致传入数据为空,报空指针错误

android长按d框选择“修改”,不显示修改输入界面,直接更新数据库,导致传入数据为空,报空指针错误,第1张

1、dialog没有调用show方法,怎么会显示出来

2、修改id的方法要写在setPositiveButton("确定", new DialogInterfaceOnClickListener{

/省略/

modifyId();

})

里面。

3、打好java基础吧。

1·创建数据Android

不自动提供数据库。在

Android

应用程序中使用

SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android

提供了

SQLiteOpenHelper

帮助你创建一个数据库,你只要继承

SQLiteOpenHelper

类,就可以轻松的创建数据库。

2·SQLiteOpenHelper

类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper

的子类,至少需要实现三个方法:构造函数,调用父类

SQLiteOpenHelper

的构造函数。

3·这个方法需要四个参数:

上下文环境(例如,一个

Activity),

数据库名字,

一个可选的游标工厂(通常是

Null),

一个代表你正在使用的数据库模型版本的整数。onCreate()方法,它需要一个

SQLiteDatabase

对象作为参数,根据需要对这个对象填充表和初始化数据。onUpgrage()

方法,它需要三个参数,一个

SQLiteDatabase

对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

public

class

DatabaseHelper

extends

SQLiteOpenHelper

{

DatabaseHelper(Context

context,

String

name,

CursorFactory

cursorFactory,

int

version)

{

super(context,

name,

cursorFactory,

version);

}

@Override

public

void

onCreate(SQLiteDatabase

db)

{

//

TODO

创建数据库后,对数据库的 *** 作

}

@Override

public

void

onUpgrade(SQLiteDatabase

db,

int

oldVersion,

int

newVersion)

{

//

TODO

更改数据库版本的 *** 作

}

superonOpen(db);

//

TODO

每次成功打开数据库后首先被执行

}

}

复制代码接下来讨论具体如何创建表、插入数据、删除表等等。

public

class

DatabaseHelper

extends

SQLiteOpenHelper

{

private

static

DatabaseHelper

mInstance

=

null;

/

数据库名称

/

public

static

final

String

DATABASE_NAME

=

"xysdb";

/

数据库版本号

/

private

static

final

int

DATABASE_VERSION

=

1;

/数据库SQL语句

添加一个表/

private

static

final

String

NAME_TABLE_CREATE

=

"create

table

test("

+

"_id

INTEGER

PRIMARY

KEY

AUTOINCREMENT,"

+

"name

TEXT,"+"hp

INTEGER

DEFAULT

100,"+

"mp

INTEGER

DEFAULT

100,"

+

"number

INTEGER);";

DatabaseHelper(Context

context)

{

super(context,

DATABASE_NAME,

null,

DATABASE_VERSION);

}

/单例模式/

static

synchronized

DatabaseHelper

getInstance(Context

context)

{

if

(mInstance

==

null)

{

mInstance

=

new

DatabaseHelper(context);

}

return

mInstance;

}

@Override

public

void

onCreate(SQLiteDatabase

db)

{

/向数据中添加表/

dbexecSQL(NAME_TABLE_CREATE);

}

@Override

public

void

onUpgrade(SQLiteDatabase

db,

int

oldVersion,

int

newVersion)

{

/可以拿到当前数据库的版本信息

与之前数据库的版本信息

用来更新数据库/

}

/

删除数据库

@param

context

@return

/

public

boolean

deleteDatabase(Context

context)

{

return

contextdeleteDatabase(DATABASE_NAME);

}

}

1、 自己写一个方法,点击或者启动的时候,采用JDBC一条条的取数据来同步。如果有时间戳的列,那么你很好同步。 2 我们采用的是,Local和服务器都采用SQLLite。需要同步的时候,直接把服务器的DB文件给拷贝下来,放到Local就可以了。至于提交到

以上就是关于android长按d框选择“修改”,不显示修改输入界面,直接更新数据库,导致传入数据为空,报空指针错误全部的内容,包括:android长按d框选择“修改”,不显示修改输入界面,直接更新数据库,导致传入数据为空,报空指针错误、android SQLiteDatabase中的update函数用法是什么、安卓开发中怎么修改数据库中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9702477.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存