前一阵子做了一个小项目,关于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. FreeMark学习(二)

    (1)用户定义指令 宏和变换器变量是两种不同类型的用户定义指令,它们之间的区别是宏是在模板中使用macro指令定义,而变换器是在模板外由程序定义,这里只介绍宏 基本用法 宏是和某个变量关联的模板片断, ...

  2. win 7,win2008 无法给新建用户完全权限

    明明把这个用户添加到管理员组了啊,为什么在运行一些程序时老是提示没有权限,实在是郁闷.在网上Google 了半天也没找到个所以然来. 后来发现是系统用户帐户控制搞的鬼,到 控制面板/用户帐户和家庭安全 ...

  3. IT在线学习网站总结

    以下是我自己做软件过程中发现的一些不错的IT学习网站,个人感觉比较受用,故总结出来以供IT爱好者一起学习: www.maiziedu.com  麦子学院 www.jikexueyuan.com 极客学 ...

  4. C--关键字static

    static在C中主要有两个作用: 1.修饰变量  (局部变量.全局变量 都存在内存的静态区) 静态全局变量: 作用域仅限于变量被定义的文件中,其中文件即使用extern声明也无法使用它. 静态局部变 ...

  5. EBS中配置OAF

    配置EBS的OAF作者 redqq 16:09 | 静态链接网址 | 最新回复 (0) | 引用 (0) | ERP学习 载jdev 9.03.5带Oracle Applications Extens ...

  6. 利用cubieboard设置samba打印服务器

    #注意安装下面软件前,先将cubieboard的动态地址改为静态地址! apt-get install samba #安装samba vi /etc/samba/smb.conf //配置 workg ...

  7. COM中需要调用AddRef和Release的10条规律

    COM中需要调用AddRef和Release的10条规律  

  8. 15 个有趣的 JavaScript 与 CSS 库

    原文转载:http://www.codeceo.com/article/15-interesting-js-css-framework.html 1. Wing Wing 是一个微型(压缩后仅有4KB ...

  9. Linux课程实践三:简单程序破解

    一.基本知识 1. 常用指令机器码 不同版本对应机器码不同,这里以我做实验的kali(Intel 80386)为例. 指令 作用 机器码 nop 无作用(no operation) 90 call 调 ...

  10. Ajax1

    一.Ajax是什么? 全称"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJA ...