前一阵子做了一个小项目,关于android的,想记录一下学到的一些知识,做成一个小系列吧,算是对自己这一个多月来的见证。首先说明,这些知识也都是从网上各处学习来的,我自己做了一些小整理。

1.SQLite数据库

之前用的数据库是MySQL和SQLServer,还用过oracle,虽然不是很精通,这次第一次接触SQLite,感觉用起来很方便,直接在android项目里写一个DBHelper类来继承SQLiteOpenHelper就行。但是有些功能还是有局限性,在定义数据类型的时候,string就不对,而text就对,还有无法写double等类型,虽然说会自动转换,个人感觉还是会有些不方便。

public class DBHelper extends SQLiteOpenHelper {

private static DBHelper dbHelper = null;
    private final static String DATABASE_NAME="car.db";
    private final static int DATABASE_VERSION=1;
    
    public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    }

public static DBHelper getDBHelper(Context context){
        if(dbHelper==null){
            dbHelper = new DBHelper(context);
        }
        return dbHelper;
    }

@Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
            
            db.execSQL("create table  user(id text primary key,realname text,password text,age integer,sex text,phonenum integer)");
            db.execSQL("insert into user(id,realname,password,age,sex,phonenum)values('user','users','user',18,'female',123)");
            db.execSQL("create table  car(_id text ,carbrand text,carsign text,carmodel text,carnumber text primary key,enginenum text,bodylevel text,mileage integer,gasoline integer,engineperfor text,transperfor text,carlight text,foregin key _id references user(id))");
            db.execSQL("insert into car(_id,carbrand,carsign,carmodel,carnumber,enginenum,bodylevel,mileage,gasoline,engineperfor,transperfor,carlight)values('user','auto','sigequan','hao','lyc310','chris826','sixseat',12,10,'异常','异常','坏')");
            db.execSQL("create table fuel(username text,date text,gasstation text,filltype text,gaslitre integer)");
            db.execSQL("insert into fuel(username,date,gasstation,filltype,gaslitre)values('user','20160601','zhongguoshihua','95',50)");
    }

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

}
}
这是我项目里的代码,很简单,只是建了一个名为car的数据库,还有user、car、fuel三个表,并插入数据。在SQLite中实现增删改查也很简单,这是另一个类里实现的方法。

//查询用户名和密码

public boolean login(String id,String password){
        
        SQLiteDatabase sdb= dbHelper.getReadableDatabase();
        
        String sql="select * from user where id=? and password=?";
        Cursor cursor = sdb.rawQuery(sql, new String[]{id,password});
        if(cursor.moveToFirst()==true){
            cursor.close();
            return true;
        }
        return false;
    
    
    }
    //注册用(增加操作)
        public boolean register(User user,String _id){
        SQLiteDatabase sdb = dbHelper.getReadableDatabase();
        String str = "select id from user where id = ?";
        Cursor cursor = sdb.rawQuery(str, new String[]{_id});
        if(cursor.moveToFirst()!=true){
        String sql ="insert into user(id,realname,password,age,sex,phonenum) values(?,?,?,?,?,?)";
        Object obj[]={user.getId(),user.getRealname(),user.getPassword(),user.getAge(),user.getSex()};
        sdb.execSQL(sql,obj);
        return true;
        }else{
            return false;
        }

My安卓知识1--SQLite数据库的更多相关文章

  1. 安卓项目-利用Sqlite数据库,开发新闻发布系统

    本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基 ...

  2. 安卓基础之Sqlite数据库最最基础操作

    Sqlite数据库基础操作 摘要:在应用中新建一个数据库,并创建一个数据表写入数据,然后读取表中数据并展示. 主要逻辑: 1.通过继承SQLiteOpenHelper自定义类,定制数据库的表结构,初始 ...

  3. 安卓 SQLite数据库操作实例

    前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...

  4. 在安卓开发中使用SQLite数据库操作实例

    前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...

  5. 安卓SQLite数据库操作,半小时开发新闻管理系统,纯干货

    本教程致力于可以快速的学习安卓软件开发,希望能通过一系列自己手写的教程,帮助正在学习或想要学习安卓开发的同仁. 本教程由今日头条-全栈攻城狮号首发,都是一个字一个字码的.请尊重劳动成果,转载请注明出处 ...

  6. My安卓知识2--使用listview绑定sqlite中的数据

    我想在我的安卓项目中实现一个这样的功能,读取sqlite数据库中的数据并显示到某个页面的listview控件中. 首先,我建立了一个Service类,来实现对数据库的各种操作,然后在这个类中添加对数据 ...

  7. 安卓开发笔记(十三):SQLite数据库储存(下)数据的增添,更改,删除,查询

      SQLite数据库存储(下) 1.增添数据 对于添加数据的话我们只需要在主活动当中import新的包以及在主活动当中写上适当的代码就可以了,不需要在我们之前创建新的类当中书写新的代码.现在的主活动 ...

  8. 安卓SQLite数据库操作(下)

    在安卓开发中,数据库的操作无非就是增删改查.那么,这里我们通过例子来学习这四个操作. 我们先看代码吧.具体讲解后面说. 布局文件 activity_main.xml <LinearLayout ...

  9. 安卓SQLite数据库操作(上)

    安卓系统自带数据库,名为SQLite.这篇文章我们用一个Demo来讲解安卓操作数据库的例子. By the way, 安卓创建的数据库文件存放在/data/data/<包名>/databa ...

随机推荐

  1. 采用UDP协议实现PIC18F97J60 ethernet bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). TCP/IP Stac ...

  2. FileInputStream、FileReader、FileInputStream、FileWriter使用小结

    本文是基于Linux环境运行,读者阅读前需要具备一定Linux知识 InputStream包含如下三个方法: int read():从输入流中读取单个字节,返回所读取的字节数据(字节数据可直接转化为i ...

  3. delphi Style TBitmapLink

    New Bitmap Links Editor http://docwiki.appmethod.com/appmethod/1.17/topics/en/What's_New A new edito ...

  4. Neural Network学习(一) 最早的感知机:Perceptron of Rosenblatt

    1. Frank Rosenblatt 首先介绍的是神经网络的开山祖师,先放张图拜拜 Frank Rosenblatt出生在纽约,父亲是医生,其1956年在Cornell大学拿到博士学位后,留校任教, ...

  5. PHP文件缓存实现

    有些时候,我们不希望使用redis等第三方缓存,使得系统依赖于其他服务.这时候,文件缓存会是一个不错的选择. 我们需要文件缓存实现哪些共更能: 功能实现:get.set.has.increment.d ...

  6. Python 2.7_初试连接Mysql查询数据导出到excel_20161216

    由于每天到公司都需要先执行一遍检测操作,观察数据是否导入完整,今天想到能否自动连接Mysql执行SQL并导出数据,每天到公司直接查看excel文件即可 时间紧,代码初次试验,边摸索边学习吧. xlsx ...

  7. 新建一个UI窗口-XproerUI(MFC)教程

    版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 在线文档(XproerUI):Xp ...

  8. Apache Server 添加虚拟主机(Virtual Host )

    当前许多虚拟服务器如阿里云的ECS服务器,都提供各式各样的虚拟机,常见的有Linux.Windows等,如果我们使用了Apache Server作为虚拟机的Web服务器,并且我们希望多个web应用程序 ...

  9. linux 学习5 文本编辑器 vim

    vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...

  10. centos7.2下编译安装&&使用-git代码库

    centos7.2下编译安装git Git简介 Git是一个分布式版本控制系统 Git vs SVN SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中 ...