2021年2月18日 记账本开发01

今天完成了数据库的建立,

CashDB:

复制代码
package bjfu.it.sun.cashbook;

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

import androidx.annotation.Nullable;

public class CashDB extends SQLiteOpenHelper {
    public static final String TABLE_NAME="cash";//表名
    public static final String CONTENT="context";//花费的内容,表的列
    public static final String COAST="coast";//花费的钱
    public static final String ID="_id";//id
    public static final String TIME="time";//时间


    //构造方法
    public CashDB(@Nullable Context context) {
        //第一个参数context,第二个是库名,第三个factory传一个空,第四个版本号第一次创建所以是1
        super(context, "cash", null, 1);
    }

    //创建数据库
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table "+TABLE_NAME+"("
                +ID+" INTEGER PRIMARY KEY AUTOINCREMENT,"
                +CONTENT+" TEXT NOT NULL,"
                +COAST+" TEXT NOT NULL,"
                +TIME +" TEXT NOT NULL)"
        );
    }

    //更新
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
复制代码

在MainActivity里面测试:

复制代码
package bjfu.it.sun.cashbook;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;

import java.text.SimpleDateFormat;
import java.util.Date;

public class MainActivity extends AppCompatActivity {

    private CashDB cashDB ;//创建数据库对象
    private SQLiteDatabase dbWriter;//创造可添加的选项

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //实例化
        cashDB=new CashDB(this);
        //获取到当前可添加的权限
        dbWriter=cashDB.getWritableDatabase();//写入权限
        addDB();
    }


    //创建方法用于添加具体内容
    public void addDB(){
        ContentValues cv=new ContentValues() ;
        cv.put(CashDB.CONTENT ,"Hello");
        cv.put(CashDB.COAST  ,"33");
        cv.put(CashDB.TIME  ,getTime());
    //写入数据库
        dbWriter.insert(CashDB.TABLE_NAME ,null,cv) ;

    }

    //获取当前设备的时间
    public String getTime(){
        SimpleDateFormat format =new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss") ;
        Date curData=new Date();//实例化
        String str =format .format(curData);//获取时间
        return str;

    }

}
复制代码

最后数据库:

 

posted @   yasai  阅读(40)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示