zoukankan      html  css  js  c++  java
  • 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;
    
        }
    
    }

    最后数据库:

  • 相关阅读:
    记一次oracle新建用户及分配指定表权限的操作记录
    [转]word中不显示mathtype公式,只显示方框,双击后可以再mathtype里面看到公式
    C、C++成员变量对齐
    include头文件:C++标准库与C标准库
    [转]本专业部分国际会议及刊物影响因子排名
    使用Winbase.h
    [转]printf 字符串格式化
    1.6.2如何使用位逻辑运算(例如与、或、位移)来实现位向量?
    文章中图表自动编号
    取样问题 总数n事先不知道,等概率取样 (编程珠玑chapter12 课后题10)
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14457699.html
Copyright © 2011-2022 走看看