当前位置: 首页 > 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.zqtcl.cn/news/165407/

相关文章:

  • 天津商城网站建设公司如何申请注册企业邮箱
  • 做家旅游的视频网站好给我一个可以在线观看的免费
  • 香奈儿网站建设做网站应该问客户什么需求
  • 永久免费ppt下载网站互联网上市公司一览表
  • 甘肃省建设工程168网站东营智能网站设计
  • 网站跨机房建设方案山西运城市建设局网站
  • 网站被k文章修改设计师图片素材
  • 建设银行益阳市分行桃江支行网站9377烈焰传奇手游官网
  • 网站收费怎么做沈阳建设工程信息网 等级中项网
  • 做网站后台教程视频杭州网站开发建设
  • 维度 网站建设优秀vi设计网站
  • 快速搭建网站工具海洋网络做网站不负责
  • 做电影资源网站服务器怎么选wordpress唱片公司模板
  • 医院网站建设投标要求wordpress文章的表是什么
  • 怎么做网站后门海外营销推广
  • 网站建设中英版网站要做手机版怎么做的
  • 安徽网站开发与维护专业阜阳建设部网站
  • 山东省住房和建设厅网站网站优化大计
  • 大良建网站织梦建设两个网站 视频
  • 用html5制作个人网站航空港建设局网站
  • 祥云平台建站网站备案通过什么可以备案
  • 免费建造网站系统php和wordpress
  • 九脉堂是做网站的网站权重不稳定
  • 网站怎么做来流量门户网站的发布特点
  • 网站设计相似侵权吗免费游戏网站建设
  • 湖北长安建设网站制作一个网站的步骤是什么
  • js网站开发成都房地产最新政策
  • 天津网站制作维护无锡网络推广外包
  • 国外中文网站排行娱乐新闻做的好的网站
  • 零食网站建设需求分析规划设计网址