如何在Android中的`ListView`中显示数据库中的数据?

时间:2015-05-21 11:11:11

标签: android sqlite listview

我创建了一个应用,通过EditText从用户那里获取价值并将其存储在Database中。对于那件事我没有任何疑问。现在我必须在ListView中显示数据库的数据。在这里,我使用AlertDialog来显示它们。 我的代码是

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    SQLiteDatabase db;
    db=openOrCreateDatabase("Mute_List", MODE_APPEND, null);
    db.execSQL("create table if not exists user(Number INTEGER);");
    Button add=(Button)findViewById(R.id.button1);
    add.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            EditText num=(EditText)findViewById(R.id.editText1);
            SQLiteDatabase db;
            db=openOrCreateDatabase("Mute_List", MODE_APPEND, null);
            db.execSQL("create table if not exists user(Number INTEGER);");
            String cno=num.getText().toString();
            if(cno.length()==0){
                show("Error", "Field Cannot be Empty");
            }else{
            db.execSQL("insert into user values('"+cno+"');");
            show("Success", "Added Successfully");
            }
        }
    });

    Button show=(Button)findViewById(R.id.button2);
    show.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            SQLiteDatabase db;
            db=openOrCreateDatabase("Mute_List", MODE_APPEND, null);
            db.execSQL("create table if not exists user(Number INTEGER);");
            Cursor c=db.rawQuery("select*from user",null);
            if (c.getCount()==0) 
            {
                show("Error","No Records Found" );
                //Toast.makeText(getApplicationContext(), "No Records Found", Toast.LENGTH_SHORT).show();
                return;
            }
            StringBuffer buffer=new StringBuffer();
            while (c.moveToNext())
            {
                buffer.append(c.getString(0)+"\n");
            }
            show("User Details", buffer.toString());
        }
    });
}

public void show(String title, String message) {
    AlertDialog.Builder builder=new AlertDialog.Builder(SecondActivity.this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(message);
    builder.show();
}

请帮帮我。

1 个答案:

答案 0 :(得分:0)

变化

Cursor c=db.rawQuery("select*from user",null);

Cursor c=db.rawQuery("select * from user",null);

也不要在activity中执行db create table命令。