解决方法 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获取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)