首页 > 其他分享 >2022-11-5学习内容

2022-11-5学习内容

时间:2022-11-05 21:34:09浏览次数:54  
标签:11 String private 学习 static 2022 mWDB null public

1.案例-购物车-数据库准备

1.1ShoppingDBHelper.java

package com.example.chapter06.database;

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

public class ShoppingDBHelper extends SQLiteOpenHelper {

    private static final String DB_NAME = "shopping.db";
    // 商品信息表
    private static final String TABLE_GOODS_INFO = "GOODS_INFO";
    // 购物车信息表
    private static final String TABLE_CART_INFO = "CART_INFO";
    private static final int DB_VERSION = 1;
    private static ShoppingDBHelper mHelper = null;
    private SQLiteDatabase mRDB = null;
    private SQLiteDatabase mWDB = null;

    private ShoppingDBHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    // 打开数据库的读连接
    public SQLiteDatabase openReadLink() {
        if (mRDB == null || !mRDB.isOpen()) {
            mRDB = mHelper.getReadableDatabase();
        }
        return mRDB;
    }

    // 打开数据库的写连接
    public SQLiteDatabase openWriteLink() {
        if (mWDB == null || !mWDB.isOpen()) {
            mWDB = mHelper.getWritableDatabase();
        }
        return mWDB;
    }

    // 关闭数据库连接
    public void closeLink() {
        if (mRDB != null && mRDB.isOpen()) {
            mRDB.close();
            mRDB = null;
        }
        if (mWDB != null && mWDB.isOpen()) {
            mWDB.close();
            mWDB = null;
        }
    }

    // 利用单例模式获取数据库帮助器的唯一实例
    public static ShoppingDBHelper getInstance(Context context) {
        if (mHelper == null) {
            mHelper = new ShoppingDBHelper(context);
        }
        return mHelper;
    }

    // 创建数据库,执行建表语句
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建商品信息表
        String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_GOODS_INFO +
                "(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
                " NAME VARCHAR NOT NULL," +
                " DESCRIPTION VARCHAR NOT NULL," +
                " PRICE FLOAT NOT NULL," +
                " PIC_PATH VARCHAR NOT NULL);";
        db.execSQL(sql);
        // 创建购物车信息表
        sql = "CREATE TABLE IF NOT EXISTS " + TABLE_CART_INFO +
                "(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
                " GOODS_ID INTEGER NOT NULL," +
                " COUNT INTEGER NOT NULL);";
        db.execSQL(sql);
    }

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

    }
}

1.2GoodsInfo.java

package com.example.chapter06.entity;

import com.example.chapter06.R;

import java.util.ArrayList;

public class GoodsInfo {

    public int id;
    // 名称
    public String name;
    // 描述
    public String description;
    // 价格
    public float price;
    // 大图的保存路径
    public String picPath;
    // 大图的资源编号
    public int pic;

    // 声明一个手机商品的名称数组
    private static String[] mNameArray = {
            "ipone11", "Mate30", "小米10", "OPPO Reno3", "vivo X30", "荣耀30S"
    };
    // 声明一个手机商品的描述数组
    private static String[] mDescArray = {
            "Apple iPhone11 256GB 绿色 4G全网通手机",
            "华为 HUAWEI Mate30 8GB+256GB 丹霞橙 5G全网通 全面屏手机",
            "小米 MI10 8GB+128GB 钛银黑 5G手机 游戏拍照手机",
            "OPPO Reno3 8GB+128GB 蓝色星夜 双模5G 拍照游戏智能手机",
            "vivo X30 8GB+128GB 绯云 5G全网通 美颜拍照手机",
            "荣耀30S 8GB+128GB 蝶羽红 5G芯片 自拍全面屏手机"
    };
    // 声明一个手机商品的价格数组
    private static float[] mPriceArray = {6299, 4999, 3999, 2999, 2998, 2399};
    // 声明一个手机商品的大图数组
    private static int[] mPicArray = {
            R.drawable.iphone, R.drawable.huawei, R.drawable.xiaoxi,
            R.drawable.oppo, R.drawable.vivo, R.drawable.rongyao
    };

    // 获取默认的手机信息列表
    public static ArrayList<GoodsInfo> getDefaultList() {
        ArrayList<GoodsInfo> goodsList = new ArrayList<>();
        for (int i = 0; i < mNameArray.length; i++) {
            GoodsInfo info = new GoodsInfo();
            info.id = i;
            info.name = mNameArray[i];
            info.description = mDescArray[i];
            info.price = mPriceArray[i];
            info.pic = mPicArray[i];
            goodsList.add(info);
        }
        return goodsList;
    }
}

 

标签:11,String,private,学习,static,2022,mWDB,null,public
From: https://www.cnblogs.com/pingfanliliang/p/16859613.html

相关文章

  • Linux学习笔记之常用路径的指代
    .当前目录..当前目录的上一层目录*当前目录的下一层目录**当前目录的下一层目录包括所有子目录~母目录-上一次所在的目录或者是~-~+当前目录相当于pwd......
  • 114. 二叉树展开为链表
    给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展......
  • 【闲话】2022.11.05
    在跟zixiang聊高温假的事不知不觉就谈到惠阳厂了网上搜了一下,真找到了对着当年的图片还能看出来哪是哪厂门口的杨树一眼就看出来了虽然有些东西年代不一楼房从60......
  • EXTJS学习笔记:grid之分组实现groupingview
    使用extjs开发时常会用到grid来显示数据等操作,Extjs中Grid主要分为以下二类:  一、gridview   二、groupingview   gridview在前面已说过,在这里我来说说groupin......
  • 11.5
    1、常用的文件操作方式一:根据路径构建一个File对象://方式1@Testpublicvoidcreate1(){StringfilePath="D:\\file1.txt";Filefile=newFile(fileP......
  • Linux学习笔记之常用命令——文件的基础操作篇
    stat查看inodels显示文件列表ls-a显示所有文件(包括隐藏文件)ll按照行数显示文件列表,相当于ls-lcd切换到某个指定路径.表示当前路径cd..返回上一级目录cd-......
  • 华为开发者大会2022:HMS Core 3D建模服务再升级,万物皆可驱动
    11月4日,HDC2022华为开发者大会在东莞松山湖举办。在本次大会的HMSCore创新图形能力分论坛中,HMSCore重点介绍了其在3D技术领域的创新应用方向,其中3D建模服务展示了创新的自......
  • 22-11-5学习记录
    1,<assert.h>  assert() {在传参时要养成使用assert的习惯,可以帮助我们找到程序bug}  作用:断言,判断指针是否为空,检查参数是否满足要求,以免引起程序崩溃  例:asse......
  • 11.5.2
    #include<stdio.h>#include<math.h>doublecm(doublex,inty);intmain(){doublea; intb; scanf("%lf%d",&a,&b); cm(a,b);   return0;}doublecm(double......
  • 11.5.3
    #include<stdio.h>doublehs(intx);intmain(){ inta,s,d; scanf("%d%d%d",&a,&s,&d); inti; for(i=a;i<=s;i+=d) {hs(i); }    return0;}doublehs(......