当前位置: 首页 > news >正文

找专业做网站的公司会所网站建设

找专业做网站的公司,会所网站建设,做视频网站需要什么证,中国建设银行下载官方网站前言 本文用于介绍SQLite#xff0c;SQLite是Android内置的数据库#xff0c;是一款轻量级的关系型数据库。它具有运算速度快、占用资源少等优点。支持SQL语法同时遵循数据库的ACID事务。 创建数据库 Android为我们提供了一个SQLiteOpenHelper帮助类#xff0c;我们可以在…前言 本文用于介绍SQLiteSQLite是Android内置的数据库是一款轻量级的关系型数据库。它具有运算速度快、占用资源少等优点。支持SQL语法同时遵循数据库的ACID事务。 创建数据库 Android为我们提供了一个SQLiteOpenHelper帮助类我们可以在这里面实现创建数据库、升级数据库的逻辑。在SQLiteOpenHelper里面有两个非常重要的方法getReadabledatabase()和getWriteableDatabase()这两个方法都可以打开一个现有的数据库存在该数据库则打开不存在则创建并返回一个可以对数据库进行读写操作的对象SQLiteDatabase。不同点是当数据库不可写入时如磁盘空间满了getReadabledatabase()将以只读的方式打开数据库而getWriteableDatabase()方法将出现异常。 下面我们来构建一个SQLiteOpenHelper实例取名为MyDatabaseHelper这里我们希望创建一个名为BookStore.db的数据库数据库中有一张叫Book的表。 public class MyDatabaseHelper extends SQLiteOpenHelper{public static final String CREATE_BOOKcreate table Book(id integer primary key autoincrement,author text,price real,pages integer,image blob,name text);private Context mContext;public StatusDatabase(Nullable Context context, Nullable String name, Nullable SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);mContextcontext;}Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_BOOK);//创建成功时弹出Create succeedToast.makeText(mContext,Create succeed,Toast.LENGTH_SHORT).show();}//用于对数据库进行升级时Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {} }这里简单介绍一下CREATE_BOOK的建表语句首先字段在前数据类型在后我们还可以给字段设置一些特殊的属性例如id字段primary key表示设置id为主键autoincrement表示id是自增长的其他的感兴趣可以自己去查找。另外讲一下数据类型integer表示整型text表示文本型real表示浮点数blob表示二进制类型常用它来存储图片数据最后会具体讲解。 接下来我们只需创建出MyDatabaseHelper实例并调用它的getWriteableDatabase()方法来创建数据库即可 MyDatabaseHelper dbHelpernew MyDatabaseHelper(this,BookStore.db,null,1);BookStore.db表示创建出的数据库的名字叫做BookStore.db1表示数据库版本是1后续我们升级了数据库版本也会随之改变。 升级数据库 我们在编写MyDatabaseHelper时还有一个方法onUpgrade()没编写它就是用来进行数据库升级的例如此刻我们想加入一张新的表Category用来表示书的分类在编写好Category的建表语句后只需在onCreate()方法里像创建Book表一样创建Category表db.execSQL(CREATE_CATEGORY)接着我们要在onUpgrade()方法中删除原来创建好的表再重新创建表要不然程序会报错如下 Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL(drop table if exists Book);db.execSQL(drop table if exists Category);onCreate(db);}接着我们要再想创建出MyDatabaseHelper的实例并调用它的getWriteableDatabase()方法来创建数据库版本号就要传入2了 MyDatabaseHelper dbHelpernew MyDatabaseHelper(this,BookStore.db,null,2);添加数据 上面说到过要想对数据库进行操作我们要调用getReadabledatabase()或getWriteableDatabase()方法打开数据库并且该方法会返回一个数据库操作对象如下 SQLiteDatabase dbdbHelper.getWriteableDatabase(); ContentValues cvnew ContentValues();//用于对要添加的数据进行组装 cv.put(name,zhangsan); cv.put(price,12.12); ... db.insert(Book,null,cv);//调用insert方法将数据插入到Book表中这样数据就存到了我们的Book表中上面要想继续向Category表中存数据只需先调用cv.clear()方法将cv中的数据清空然后重复cv.put()、db.insert()即可 关于图片的存储与读取放在后面具体来讲解。 更新数据 更新数据时我们还是先获取一个ContentValues对象来对数据进项组装与上面不同的是这次我们是调用update()方法 SQLiteDatabse dbdbHelper.getWriteableDatabse(); ContentValues cvnew ContentValues(); values.put(price,10.00);//将price字段12.12改为10.00 db.update(Book,cv,name?,new String[]{zhangsan});//条件是namezhangsan //完整的是将namezhangsan的一条数据中的price由12.12改为10.00当然update()方法后面你也可以传两个null进去表示没有条件 删除数据 获取到数据库操作对象直接执行删除操作 SQLiteDatabse dbdbHelper.getWriteableDatabse(); db.delete(Book,pages?,new String[]{500});//删除pages大于500的数据查询数据 书上的查询讲了非常多内容我们查询的query()方法有六个方法对应了查询的约束条件、分组条件等等这里不用害怕我们只需掌握最基础的查询即可因为以后这些查询操作都是交给后端来实现的这里我就介绍一下最简单的查询。 调用query()方法会给我们返回一个Cursor对象查询到的所有数据都从这个对象中取出。 SQLiteDatabse dbdbHelper.getWriteableDatabse(); Cursor cursordb.query(Book,null,null,null,null,null,null); if(cursor.moveToFirst()){//遍历Cursor对象取出查询到的所有数据do{String bookNamecursor.getString(cursor.getColumnIndex(name));//查询字段名为name的字段将值赋给bookNameint bookPagescursor.getInt(cursor.getColumnIndex(pages));//查询字段名为pages的字段将值赋给bookPagesdouble bookPricecursor.getDouble(cursor.getColumnIndex(price));//查询字段名为price的字段将值赋给bookPrice}while(cursor.moveToNext()); } cursor.close();使用SQL操作数据库 Android为我们提供了直接使用SQL来操作数据库。 添加数据 db.execSQL(insert into Book(name,author,pages,price) values(?,?,?,?)new String[]{..,..,..,..});更新数据 db.execSQL(update Book set price? where name?,new String[]{..,..});删除数据 db.execSQL(dlete from Book where Pages?new String[]{500});查询数据 db.rawQuery(select * from Book,null);图片的存与取 存 要保存的图片类型一定要是Bitmap类型的 //字节输出流保存图片 ByteArrayOutputStream os new ByteArrayOutputStream(); //bitmap为要保存到数据库的对象 bitmap.compress(Bitmap.CompressFormat.PNG, 1, os);SQLiteDatabase dbdbHelper.getWritableDatabase(); ContentValues cvnew ContentValues(); cv.put(image,os.toByteArray()); db.insert(Book,null,cv);取 SQLiteDatabase dbdbHelper.getWritableDatabase(); Cursor cursordb.query(Book,null,null,null,null,null,null,null); f (cursor.moveToFirst()){do {byte[] data cursor.getBlob(cursor.getColumnIndex(image));bitmapBitmapFactory.decodeByteArray(data, 0, data.length);//将图片设置进iv图片iv.setImageBitmap(bitmap);}while(cursor.moveToNext()); } cursor.close();
http://www.pierceye.com/news/165407/

相关文章:

  • 微网站建设开发用系统建购物网站
  • 小说网站建立浙江省和住房建设厅网站
  • 网站去掉后缀html代码运行框wordpress6
  • 做问卷的几个网站石家庄建站源码
  • 响应式网站的制作刷排名seo软件
  • 深圳方维网站设计公司做公司网站的
  • 21年网站搭建公司排行榜域名建设网站
  • 建设银行网银官方网站摄影大赛官网
  • 最好网站设计案例php网站开发能挣多钱
  • 长沙网站推广平台西安网站建设 app
  • 如何查网站是哪家公司做的不用付费的正能量软件
  • 上海专业网站制作设计访问网站速度很慢
  • 大概开发一个网站多少钱百度搜索引擎的网址
  • 众筹网站哪家好网站免费推广怎么做
  • 搜狗站长线上营销策划方案
  • goggle营销型网站效果网站建设的种类
  • 建设银行网站注册企业类似返利网的网站建设
  • pc端网站建设碳晶板全屋装修的利和弊
  • 网站开发层次wordpress源码之家
  • 农产品电商网站建设的总体目标阿里云域名注册入口官网
  • 义乌个人兼职做建设网站做网站月收入多少
  • 福州网站seo优化公司徐州百度运营中心
  • 做网站需要用到ps吗中国十大最强装饰公司
  • 网站建设盈利去除wordpress rss图标
  • 网站策划书的基本内容东莞工程建设交易中心网
  • 免费推广网站入口2022静态网站开发外文文献
  • 如何做服装微商城网站建设网站开发设计中的收获
  • 网站开发详细设计文档模板网站建设设计工具
  • 网站建设项目资金申请wordpress主题美容
  • 专门做财经的网站软件开发都有哪些项目