android資料庫刪除數據
⑴ android中怎麼刪除資料庫數據
對,直接刪除文件就可以:File dbFile = new File("/data/data/你的包名/databases/你的資料庫名");dbFile.delete();應用對自己的目錄是有許可權刪除的
⑵ android 程序開發我的sqlite資料庫 刪除數據的時候程序崩潰 提示我寫的資料庫刪除那一列出錯!是什麼情況
這是因為你在關閉了資料庫以後還執行了刪除所致,通常一個方法里邊開頭打開資料庫,結束的時候調用db.close(); 如果你方法里邊調用了別的資料庫方法,沒准那方法里邊也調用了db.close這樣就在你使用之前關閉了資料庫,你檢查一下吧。
⑶ 安卓開發怎麼刪除資料庫中所有表數據
直接刪除資料庫,資料庫會自動重新創建
public
class
DatabaseHelper
extends
SQLiteOpenHelper
{
private
static
DatabaseHelper
mInstance
=
null;
/**
資料庫名稱
**/
public
static
final
String
DATABASE_NAME
=
"xys.db";
/**
資料庫版本號
**/
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)
{
/**向數據中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}
@Override
public
void
onUpgrade(SQLiteDatabase
db,
int
oldVersion,
int
newVersion)
{
/**可以拿到當前資料庫的版本信息
與之前資料庫的版本信息
用來更新資料庫**/
}
/**
*
刪除資料庫
*
@param
context
*
@return
*/
public
boolean
deleteDatabase(Context
context)
{
return
context.deleteDatabase(DATABASE_NAME);
}
}
⑷ android資料庫怎麼刪除列
ALTERTABLE的SQLiteSQLite支持ALTERTABLE的一個有限子集。
在ALTERSQLite中允許一個表或一個新列添加到現有表。刪除列,或者添加或從表中刪除約束。
sqlite中是不支持刪除有值的列操作的,所以altertabletable_namedropcolumncol_name這個語句在sqlite中是無效的,而替代的方法可以如下:
1.根據原表創建一張新表
2.刪除原表
3.將新表重名為舊表的名稱
示例例子如下
1.創建一張舊表Student,包含id(主碼),name,tel
createtablestudent(
idintegerprimarykey,
nametext,
teltext
)
2.給舊表插入兩個值
insertintostudent(id,name,tel)values(101,"Jack","110")
insertintostudent(id,name,tel)values(102,"Rose","119")
3.接下來我們刪除電話這個列,首先根據student表創建一張新表teacher
createtableteacherasselectid,namefromstudent
4.然後我們刪除student這個表
droptableifexistsstudent
5.將teacher這個表重命名為student
結果演示:
select*fromstudentorderbynamedesc(desc降序,asc升序)
⑸ 如何對android多媒體資料庫進行增刪改
Android四種存儲方式: sharedpreference,file,SQlite,contentprovider。
1、SharedPreferences是一種輕型的數據存儲方式,它的本質是基於XML文件存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息。其存儲位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過Editor對象實現。實現SharedPreferences存儲的步驟如下:
一、根據Context獲取SharedPreferences對象
二、利用edit()方法獲取Editor對象。
三、通過Editor對象存儲key-value鍵值對數據。
四、通過commit()方法提交數據。
具體實現代碼如下:實現存儲,讀取,清除,刪除
效果圖:
首先創建:// 首先拿到sharedpreference對象
mShared =getSharedPreferences(SHARED_MAIN_XML, MODE_PRIVATE);
存儲:
private void write() {// 存入數據
savename = name.getText().toString().trim();
saveage = Integer.valueOf(age.getText().toString().trim());
Editor editor = mShared.edit();
editor.putString("name", savename);
editor.putInt("age", saveage);
// 保證操作的事務完整性
editor.commit();
}
閱讀:
private String read() {// 從資料庫里讀取數據
namecontent = mShared.getString("name", "資料庫里沒有存儲姓名");
agecontent = mShared.getInt("age", 0);
String reading = "姓名:" + namecontent + "\n年齡:" + agecontent;
return reading;
}
清除內容:
private void clear() {//清除內容
/** 開始清除SharedPreferences中保存的內容 **/
Editor editor = mShared.edit();
editor.remove("name");
editor.remove("age");
editor.commit();
}
刪除文件:
private void delete() {//刪除文件
/** 刪除SharedPreferences文件 **/
Filefile = new File("/data/data/cn.csdn.activity" + "/shared_prefs/"
+ SHARED_MAIN_XML + ".xml");
if (file.exists()) {
file.delete();
Toast.makeText(this, "刪除成功", Toast.LENGTH_LONG).show();
}
}
haredPreferences對象與SQLite資料庫相比,免去了創建資料庫,創建表,寫SQL語句等諸多操作,相對而言更加方便,簡潔。但是SharedPreferences也有其自身缺陷,比如其職能存儲boolean,int,float,long和String五種簡單的數據類型,比如其無法進行條件查詢等。所以不論SharedPreferences的數據存儲操作是如何簡單,它也只能是存儲方式的一種補充,而無法完全替代如SQLite資料庫這樣的其他數據存儲方式。
2、File: 即常說的文件(I/O)存儲方法,常用存儲大數量的數據,但是缺點是更新數據將是一件困難的事情。
下面實現:在本地data文件下使用自己生成的文件處理數據的新建儲存 讀取 刪除
如果說不想把內容存在SharedPreferences中的話,我們可以自己寫一個文件保存須要的數據,在這里我將文件保存在系統中的工程路徑下。
跟上面布局一樣,刪除文件也一樣,清除內容也查不多,下面只是簡單的寫和讀的方法:
寫:
17String
nameage="名字:"+name.getText().toString().trim()+"年齡:"+age.getText().toString();
try {
os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE);
/* 把字元串轉換成位元組數組,寫入文件中 */
os.write(nameage.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
/* 關閉文件輸出流 */
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
讀:
private String read() {
String nameage="";
// 打開文件輸入流,
try {
is = this.openFileInput(SHARED_MAIN_XML);
/* 初始化位元組數組 */
b = new byte[1024];
/* 從文件輸入流中讀取內容到位元組數組中,返回內容長度 */
int length = is.read(b);
/* 把位元組數組轉換成字元串 */
nameage= new String(b);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return nameage;
}
很簡單吧!!
3、SQLite是一種轉為嵌入式設備設計的輕型資料庫,其只有五種數據類型,分別是:
NULL: 空值
INTEGER: 整數
REAL: 浮點數
TEXT: 字元串
BLOB: 大數據
它是一個輕量級的資料庫、非常小 、 移植性好、效率高、可靠
在Android系統中提供了android.database.sqlite包,用於進行SQLite資料庫的增、刪、改、查工作。
創建與刪除資料庫
封裝一個類去繼承SQLiteOpenHelper
在構造函數中傳入資料庫名稱與資料庫版本號,資料庫被創建的時候會調用onCreate(SQLiteDatabase db)
方法,資料庫版本號發生改變的時候會調用onUpgrade(SQLiteDatabase db, int oldVersion,
intnewVersion)方法,可以方便的對軟體游戲升級後做出相應處理避免覆蓋安裝資料庫發生改變產生的錯誤。調用SQLiteOpenHelper
的getReadableDatabase()方法去創建資料庫,如果資料庫不存在則創建並且返回SQLiteDatabase對象,如果資料庫存在則不創建只返回SQLiteDatabase對象。調用
deleteDatabase(DATABASE_NAME)方法 傳入資料庫名稱則可刪除資料庫。
第一種:詳細請看上一遍博客:android之利用SQLite資料庫實現登陸和注冊,http://blog.csdn.net/rhljiayou/article/details/7085347
下面介紹第二種:另一種添刪改查操作
效果圖:
布局文件很簡單,在此不再給出!!
直接給創建資料庫和表,增刪改查的代碼:
public class UserService {
private DatabaseHelper helper;
public UserService(Context context, String name, int version) {
helper = new DatabaseHelper(context, name, version);
}
public UserService(Context context, String name) {
helper = new DatabaseHelper(context, name);
}
public void insert(UserDao user) {// 插入數據
SQLiteDatabase sdb = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
sdb.insert("user", "name", values);
sdb.close();
}
public void delete(int id) {// 刪除數據
SQLiteDatabase sdb = helper.getWritableDatabase();
sdb.delete("user", "id=?", new String[]{String.valueOf(id)});
sdb.close();
}
public void update(UserDao user, int id) {// 更新數據
SQLiteDatabase sdb = helper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
sdb.update("user", values, "id=?", new String[]{String.valueOf(id)});
sdb.close();
}
public Cursor select() {// 查詢所有數據
SQLiteDatabase sdb = helper.getWritableDatabase();
return sdb.query("user", new String[]{"id as _id","username","password"},
null, null, null, null, null);
}
public UserDao find(int id){//按id查詢數據
UserDao user=null;
SQLiteDatabase sdb=helper.getWritableDatabase();
Cursor cursor=sdb.query("user", new String[]{"id","username","password"},
"id=?", new String[]{String.valueOf(id)}, null, null, null);
if(cursor.moveToFirst()){
user=new UserDao();
user.setId(cursor.getInt(0));
user.setUsername(cursor.getString(1));
user.setPassword(cursor.getString(2));
}
cursor.close();
sdb.close();
return user;
}
}
插入數據:通過insert(String table, StringnullColumnHack, ContentValues
values)方法插入數據,其中參數含義分別為:
table: 目標表名
nullColumnHack:
指定表中的某列列名。因為在SQLite中,不允許不允許插入所有列均為null的記錄,因此初始值有值為空時,此列需顯式賦予null
values:ContentValues對象,類似於java中的Map。以鍵值對的方式保存數據。
⑹ 安卓開發怎麼刪除資料庫中所有表數據
public class DatabaseHelper extends SQLiteOpenHelper {
private static DatabaseHelper mInstance = null;
/** 資料庫名稱 **/
public static final String DATABASE_NAME = "xys.db";
/** 資料庫版本號 **/
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) {
/**向數據中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
/**可以拿到當前資料庫的版本信息 與之前資料庫的版本信息 用來更新資料庫**/
}
/**
* 刪除資料庫
* @param context
* @return
*/
public boolean deleteDatabase(Context context) {
return context.deleteDatabase(DATABASE_NAME);
}
}
⑺ 安卓開發怎麼刪除資料庫中所有表數據
直接刪除資料庫,資料庫會自動重新創建
public class DatabaseHelper extends SQLiteOpenHelper {
private static DatabaseHelper mInstance = null;
/** 資料庫名稱 **/
public static final String DATABASE_NAME = "xys.db";
/** 資料庫版本號 **/
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) {
/**向數據中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
/**可以拿到當前資料庫的版本信息 與之前資料庫的版本信息 用來更新資料庫**/
}
/**
* 刪除資料庫
* @param context
* @return
*/
public boolean deleteDatabase(Context context) {
return context.deleteDatabase(DATABASE_NAME);
}
}
⑻ android清除數據 資料庫中表會刪嗎
android清除數據 資料庫中表會刪的,如果刪除了某個資料庫,那麼它的存儲文件,的日誌文件都會被刪除,由於所有的表等都在存儲文件中,所以也就會被刪除了。
1、Android(['ændrɔid])是一個以Linux為基礎的半開源操作系統,主要用於移動設備,由Google和開放手持設備聯盟開發與領導。
2、Android 系統最初由安迪·魯賓(Andy Rubin)製作,最初主要支持手機。2005年8月17日被Google收購。2007年11月5日,Google與84家硬體製造商、軟體開發商及電信營運商組成開放手持設備聯盟(Open Handset Alliance)來共同研發改良Android系統並生產搭載Android的智慧型手機,並逐漸拓展到平板電腦及其他領域上。
3、隨後,Google以Apache免費開源許可證的授權方式,發布了Android的源代碼。