Android   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何从sqlite数据库中获取数据并在android的listview中显示大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

登录页面后,我想在列表视图显示A代表Apple,B代表Boy..ect.但是在我的应用程序中,我完全登录成功,仅登录表已完全创建成功,但未创建mainmenu.

      i try this code
      if(username.length()>0&&password.length()>0)
        {
            sqliteAdapter db=new sqliteAdapter(Main.this);
            db.openToWrite();
            if(db.Login(username,password))
            {
                System.out.println("goutham");
                Intent intent=new Intent(getApplicationContext(),ExampleActivity.class);

                startActivity(intent);
            } 

sqliteAdapter.java

           public class sqliteAdapter {

public static final String MYDATABASE_NAME = "test";
public static final String KEY_USERNAME = "username";
public static final String KEY_password = "password";
public static final String MYDATABASE_TABLE = "mainmenu";
private static final String DATABASE_TABLE = "login";
public static final int MYDATABASE_VERSION = 1;
public static final String KEY_ID = "_id";
public static final String KEY_CONTENT = "Content";

// create table my_database (ID INTEGER PRIMary key, content TEXT not null);
private static final String SCRIPT_CREATE_DATABASE = "create table "
        + MYDATABASE_TABLE + " (" + KEY_ID
        + " INTEGER PRIMary key autoincrement, " + KEY_CONTENT
        + " text not null);";
private static final String DATABASE_CREATE = "create table login (_id INTEGER PRIMary key autoincrement, "
        + "@R_618_1898@ not null, " + "password text NOT NULL);";

private sqliteHelper sqliteHelper;
private sqliteDatabase sqliteDatabase;

private Context context;

public sqliteAdapter(Context C) {
    context = c;
}

public sqliteAdapter openToRead() throws android.database.sqlException {
    sqliteHelper = new sqliteHelper(context, MYDATABASE_NAME, null,
            MYDATABASE_VERSION);
    sqliteDatabase = sqliteHelper.getReadableDatabase();
    return this;
}

public sqliteAdapter openToWrite() throws android.database.sqlException {
    sqliteHelper = new sqliteHelper(context, MYDATABASE_NAME, null,
            MYDATABASE_VERSION);
    sqliteDatabase = sqliteHelper.getWritableDatabase();
    return this;
}

public void close() {
    sqliteHelper.close();
}

public long insert(String content) {

    ContentValues contentValues = new ContentValues();
    contentValues.put(KEY_CONTENT, content);
    return sqliteDatabase.insert(MYDATABASE_TABLE, null, contentValues);
}

public int deleteAll() {
    return sqliteDatabase.delete(MYDATABASE_TABLE, null, null);

}

public cursor queueAll() {
    String[] columns = new String[] { KEY_ID, KEY_CONTENT };
    cursor cursor = sqliteDatabase.query(MYDATABASE_TABLE, columns, null,
            null, null, null, null);

    return cursor;
}

private static class sqliteHelper extends sqliteOpenHelper {

    public sqliteHelper(Context context, String name,
            cursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(sqliteDatabase db) {
        // TODO Auto-generated method stub
        db.execsql(SCRIPT_CREATE_DATABASE);
        db.execsql(DATABASE_create);
    }

    @Override
    public void onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}

public long AddUser(String username, String password) {
    ContentValues initialValues = new ContentValues();
    initialValues.put(KEY_USERNAME, userName);
    initialValues.put(KEY_password, password);
    return sqliteDatabase.insert(DATABASE_TABLE, null, initialValues);

}

public Boolean Login(String username, String password) {
    // TODO Auto-generated method stub
    cursor mcursor = sqliteDatabase.rawQuery("SELECT * FROM "
            + DATABASE_TABLE + " WHERE username=? AND password=?",
            new String[] { username, password });
    if (mcursor != null) {
        if (mcursor.getCount() > 0) {
            return true;
        }
    }
    return false;
}

 }

ExampleActivity.java

                 public class ExampleActivity extends Activity {
private sqliteAdapter MysqLiteAdapter;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceStatE) {
    super.onCreate(savedInstanceStatE);
    setContentView(R.layout.main);
    ListView listContent = (ListView) findViewById(R.id.contentlist);

    /*
     * Create/Open a sqlite database and fill with dummy content and close
     * it
     */
    MysqLiteAdapter = new sqliteAdapter(this);
    MysqLiteAdapter.openToWrite();
    // MysqLiteAdapter.deleteAll();

    MysqLiteAdapter.insert("A for Apply");
    MysqLiteAdapter.insert("B for Boy");
    MysqLiteAdapter.insert("C for Cat");
    MysqLiteAdapter.insert("D for Dog");
    MysqLiteAdapter.insert("E for Egg");
    MysqLiteAdapter.insert("F for Fish");

    MysqLiteAdapter.close();

    /*
     * Open the same sqlite database and read all it's content.
     */
    MysqLiteAdapter = new sqliteAdapter(this);
    MysqLiteAdapter.openToRead();

    cursor cursor = MysqLiteAdapter.queueAll();
    startManagingcursor(cursor);

    String[] from = new String[] { sqliteAdapter.KEY_CONTENT };
    int[] to = new int[] { R.id.text };

    SimplecursorAdapter cursorAdapter = new SimplecursorAdapter(this,
            R.layout.row, cursor, from, to);

    listContent.setAdapter(cursorAdapter);

    MysqLiteAdapter.close();

}

}

在运行程序登录表仅在数据库中创建但mainmenu表未在数据库中创建之后.运行程序后,它显示错误,例如sqlite返回代码= 1 MY_TABLE中没有这样的表

解决方法:

这是我用来获取所有值的代码.

/ *这是数据库类* /

public String getData1() throws sqlException{
        // TODO Auto-generated method stub
        String[] columns1 = new String[] { KEY_DATE };
        cursor c1 = ourDatabase.query(DATABASE_MARKSTABLE, columns1, null, null, null,
                null, KEY_ENDINGTIME+" DESC", " 30");
        String result1 = "";

        int isName = c1.getcolumnIndex(KEY_DATE);

        for (c1.moveToFirst(); !c1.isAfterLast(); c1.moveToNext()) {

            result1 = result1 + c1.getString(isName)
                    + "  " + "\n";

        }
        c1.close();
        return result1;

    }

并将其显示在列表视图中,请检查此链接

http://www.technotalkative.com/android-%E2%80%93-listview-%E2%80%93-2-custom-listview/

大佬总结

以上是大佬教程为你收集整理的如何从sqlite数据库中获取数据并在android的listview中显示全部内容,希望文章能够帮你解决如何从sqlite数据库中获取数据并在android的listview中显示所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: