android:SQlite

 

创建数据库:

class CreateListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建一个DatabaseHelper对象
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
//只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}

更新数据库

class UpdateListener implements OnClickListener{

@Override
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
}

}

数据库插入操作
class InsertListener implements OnClickListener{

@Override
public void onClick(View v) {
//生成ContentValues对象
ContentValues values = new ContentValues();
//想该对象当中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致
values.put("id", 1);
values.put("name","zhangsan");
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2);
SQLiteDatabase db = dbHelper.getWritableDatabase();
//调用insert方法,就可以将数据插入到数据库当中
db.insert("user", null, values);
}
}

数据库更新操作


//更新操作就相当于执行SQL语句当中的update语句
//UPDATE table_name SET XXCOL=XXX WHERE XXCOL=XX...
class UpdateRecordListener implements OnClickListener{

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//得到一个可写的SQLiteDatabase对象
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "zhangsanfeng");
//第一个参数是要更新的表名
//第二个参数是一个ContentValeus对象
//第三个参数是where子句
db.update("user", values, "id=?", new String[]{"1"});
}
}

数据库查询操作


class QueryListener implements OnClickListener{

@Override
public void onClick(View v) {
System.out.println("aaa------------------");
Log.d("myDebug", "myFirstDebugMsg");

DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}

 

数据库类

package mars.sqlite3.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

//DatabaseHelper作为一个访问SQLite的助手类,提供两个方面的功能,
//第一,getReadableDatabase(),getWritableDatabase()可以获得SQLiteDatabse对象,通过该对象可以对数据库进行操作
//第二,提供了onCreate()和onUpgrade()两个回调函数,允许我们在创建和升级数据库时,进行自己的操作

public class DatabaseHelper extends SQLiteOpenHelper {

private static final int VERSION = 1;
//在SQLiteOepnHelper的子类当中,必须有该构造函数
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
//必须通过super调用父类当中的构造函数
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public DatabaseHelper(Context context,String name){
this(context,name,VERSION);
}
public DatabaseHelper(Context context,String name,int version){
this(context, name,null,version);
}

//该函数是在第一次创建数据库的时候执行,实际上是在第一次得到SQLiteDatabse对象的时候,才会调用这个方法
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
System.out.println("create a Database");
//execSQL函数用于执行SQL语句
db.execSQL("create table user(id int,name varchar(20))");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
System.out.println("update a Database");
}

删除操作:

public void delete(){

DatabaseHelper databasehelper = new DatabaseHelper(Set_Music.this,"list_playr_db");
SQLiteDatabase db = databasehelper.getWritableDatabase();

db.delete("user", "name=?", new String[]{str});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现展示用户信息功能需要以下步骤: 1. 创建一个SQLite数据库,定义表结构和字段,用于存储用户信息。 2. 在Android应用中创建一个SQLiteOpenHelper类,用于创建和升级数据库。 3. 在应用中创建一个数据访问对象(DAO)类,用于与数据库进行交互。 4. 在应用中创建一个实体类,用于表示一个用户信息。 5. 在应用中创建一个Activity用于展示用户信息。 6. 在Activity中,使用DAO类访问数据库,获取用户信息并展示。 以下是一个简单的实现步骤: 1. 创建SQLite数据库和表 在SQLiteOpenHelper类中实现onCreate()方法,在其中创建数据库和表: ```java public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, gender TEXT)"); } ``` 2. 实现DAO类 DAO类用于与数据库进行交互,包括增删改查等操作。例如,实现一个UserDAO类,包含获取所有用户信息的方法: ```java public class UserDAO { private SQLiteDatabase db; private SQLiteOpenHelper dbHelper; public UserDAO(Context context) { dbHelper = new MyDatabaseHelper(context); db = dbHelper.getWritableDatabase(); } public List<User> getAllUsers() { List<User> userList = new ArrayList<>(); Cursor cursor = db.query("users", null, null, null, null, null, null); while (cursor.moveToNext()) { User user = new User(); user.setId(cursor.getInt(cursor.getColumnIndex("id"))); user.setName(cursor.getString(cursor.getColumnIndex("name"))); user.setAge(cursor.getInt(cursor.getColumnIndex("age"))); user.setGender(cursor.getString(cursor.getColumnIndex("gender"))); userList.add(user); } cursor.close(); return userList; } } ``` 3. 实现实体类 实体类用于表示一个用户信息,例如: ```java public class User { private int id; private String name; private int age; private String gender; // getter and setter methods } ``` 4. 实现展示用户信息的Activity 在该Activity中,可以使用DAO类获取所有用户信息,并使用RecyclerView等组件展示。 ```java public class UserListActivity extends AppCompatActivity { private UserDAO userDAO; private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_list); recyclerView = findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(this)); userDAO = new UserDAO(this); List<User> userList = userDAO.getAllUsers(); UserAdapter adapter = new UserAdapter(userList); recyclerView.setAdapter(adapter); } } ``` 以上是一个简单的实现方法,实际项目中可能需要更多的功能和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值