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发送广播让手机重新加载内存卡
`Intent intent = new Intent();
intentsetAction(IntentACTION_MEDIA_MOUNTED);
intentsetData(Uriparse("file://"+EnvironmentgetExternalStorageDirectory()));
sendBroadcast(intent);`
>2由于扫描完成,系统会发送一个广播,我们就注册监听扫描完成
`IntentFilter filter = new IntentFilter();
filteraddAction(IntentACTION_MEDIA_SCANNER_FINISHED);
filteraddDataScheme("file");
registerReceiver(receiver, filter);`
0、本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapternotifyDataSetChanged();方法使得listview界面自动更新。
*** 作:
1、List<String> strName = new ArrayList<String>();//实际的数据源
2、Adapter adapter = new ArrayAdapter<String>(context,
Rlayoutxmlforitem, strName);//适配器,其中 Rlayoutxmlforitem是列表中每一项的布局,可以用默认的也可自建,strName则是将数据源绑定到适配器
3、listViewsetAdapter(adapter);//将适配器绑定到列表显示控件ListView;
4、strNameadd("TEST ONE");//增加一项,引起list变化,Adapter也随之变化;
5、adapternotifyDataSetChanged();//调用notifyDataSetChanged();更新适配器,ListView会自动刷新,notifyDataSetChanged()方法可能需要在UI线程中调用,建议自行测试;
6、数据增加可能引起内存变化,需防内存溢出;
7、其他。
以上仅供参考,建议多搜索相关文档。
以上就是关于安卓开发中怎么修改数据库中的数据全部的内容,包括:安卓开发中怎么修改数据库中的数据、android中又什么办法可以刷新音乐信息数据库、android listview怎么更新数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)