安卓怎么获取sqlite中的数据

安卓怎么获取sqlite中的数据,第1张

解决方法 1:不应该是用单独的语句,你不应该用单独的sql语句?只是创建一个ArrayList,在这个activity类中存储所有需要的数值。例如: ArrayList myData;现在在数据库类的帮助下写一个function,就像下边://得到你想要的数据public ArrayList<String> getAllData() { ArrayList<String> subTitleList = null; Cursor cursor = null; try { String queryString = "SELECT FROM champions"; cursor = dbrawQuery(queryString, null); if (cursor != null && cursormoveToFirst()) { subTitleList = new ArrayList<String>(); do { String nextUser = new String(cursorgetString(cursorgetColumnIndex("name"))); String nextUser = new String(cursorgetString(cursorgetColumnIndex("title"))); String nextUser = new String(cursorgetString(cursorgetColumnIndex("thumb"))); subTitleListadd(nextUser); } while (cursormoveToNext()); Systemoutprintln("it comes in SubTitleList"); } } catch (Exception e) { eprintStackTrace(); subTitleList = null; } finally { if (cursor != null && !cursorisClosed()) { cursordeactivate(); cursorclose(); cursor = null; } if(db != null){ dbclose(); } } //Systemoutprintln("SubTitleList is: "+subTitleList); return subTitleList; }现在在你的activity类中你可以调用这个方法,然后从myData ArrayList获得所有你需要的数据。1 myData = dbgetAllData(); // 我想如果你想要抓所有的数据的话是不需要ID的。希望你能明白

public class DBHelper extends SQLiteOpenHelper {

public static final String TB_NAME = "mydemo_user";

public static final String ID = "_id";

public static final String NAME = "username";

public static final String PASSWORD = "passname";

public static final String ISCHECK = "ischecked";

//当前版本

public static int version = 1;

/

构造函数

@param context Context类型,上下文对象。

@param name String类型,数据库的名称

@param factory CursorFactory类型

@param version int类型,数据库版本

/

public DBHelper(Context context, String name, CursorFactory factory,int version) {

super(context, name, factory, version);

thisgetWritableDatabase();

}

public void Close() {

thisgetWritableDatabase()close();

}

/

创建数据库

/

public void onCreate(SQLiteDatabase db) {

dbbeginTransaction();

try{

dbexecSQL("CREATE TABLE IF NOT EXISTS "

+ TB_NAME + " ("

+ ID + " INTEGER PRIMARY KEY,"

+ NAME + " VARCHAR,"

+ PASSWORD + " VARCHAR,"

+ ISCHECK + " VARCHAR)");

dbsetTransactionSuccessful();

}catch (Exception e) {

} finally {

dbendTransaction();//此时不能关闭数据库,不然创建数据库完成后,数据库不能使用

}

}

/

删除数据库

/

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

dbexecSQL("DROP TABLE IF EXISTS " + TB_NAME);

onCreate(db);

}

/

添加新用户

@param name

@param number

/

public void addUser(String username, String password,String isChecked) {

ContentValues values = new ContentValues();

valuesput(DBHelperNAME, username);

valuesput(DBHelperPASSWORD, password);

valuesput(DBHelperISCHECK, isChecked);

thisgetWritableDatabase()insert(DBHelperTB_NAME, DBHelperID, values);

}

/

删除单个用户

@param id

/

public void delUser(int id) {

thisgetWritableDatabase()delete(DBHelperTB_NAME, DBHelperID + " = " + id, null);

}

/

修改单个用户

@param id

/

public void updateUser(int id,String username, String password,String isChecked) {

ContentValues values = new ContentValues();

valuesput(DBHelperNAME, username);

valuesput(DBHelperPASSWORD, password);

valuesput(DBHelperISCHECK, isChecked);

String where = DBHelperID+"=";//设置条件

String[] whereValue = {IntegertoString(id)};//设置条件中的参数

thisgetWritableDatabase()update(DBHelperTB_NAME, values, where, whereValue);

}

/

删除多个用户

/

public void delAllUser() {

thisgetWritableDatabase()delete(DBHelperTB_NAME, null, null);

}

/

查询

@param username

@return

/

public List<Users> queryUser(String username){

List<Users> data = new ArrayList<Users>();

String[] columns = { DBHelperID, DBHelperNAME, DBHelperPASSWORD,DBHelperISCHECK };

String[] parms = { username };

String where = DBHelperNAME + "=";// 设置条件

Cursor result=null;

if(username!=null){

result = thisgetWritableDatabase()query(DBHelperTB_NAME,columns, where, parms, null, null, null);

}else{

result = thisgetWritableDatabase()query(DBHelperTB_NAME,columns, null, null, null, null, null);

}

resultmoveToFirst();//移动到第一行

while (!resultisAfterLast()) {//遍历数据

Users user = new Users(resultgetInt(0), resultgetString(1),resultgetString(2), resultgetString(3));

dataadd(user);

resultmoveToNext();

}

resultclose();

return data;

}

}

1、确保在清单文件中添加如下权限:<!-- 使用网络功能所需权限 --> <uses-permission android:name="androidpermissionINTERNET" > </uses-permission>

2、如果已经添加了该权限,并且编写测试类能够获取,但在Android项目中运行时却提示:

3、则可能是连接的模拟器或手机‘网络没有连接’……已经亲验。

按以下代码可获取到list数据:

package comexamplesdtgsdsw;

import javaioIOException;

import javautilArrayList;

import javautilHashMap;

import javautilList;

import javautilMap;

import orgksoap2SoapEnvelope;

import orgksoap2SoapFault;

import orgksoap2serializationSoapObject;

import orgksoap2serializationSoapSerializationEnvelope;

import orgksoap2transport>

以上就是关于安卓怎么获取sqlite中的数据全部的内容,包括:安卓怎么获取sqlite中的数据、安卓读取数据库的数据怎么 *** 作、android怎么使用api获取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9572750.html

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

发表评论

登录后才能评论

评论列表(0条)

保存