【.NET老猿学安卓系列】数据库读写

第一步,就是下面这个类:

package com.fengzili.dbTesting;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; //看好这个明明空间
import  android.util.Log;

/**
 * Created by Administrator on 2014/11/4.
 */
public class PersonHelper extends  SQLiteOpenHelper{
    public  PersonHelper(Context context){
        super(context,"person.db",null,1);
    }
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table person(id integer primary key,name nvarchar(20),number nvarchar(20))");  //初始化数据库结构
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i2) {
        Log.e("fengzili","数据库从"+i+"升级到了"+i2);
    }
}
//简单版的增删改查

package com.com.fengzili.dao;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.fengzili.dbTesting.PersonHelper;

/**
 * Created by Administrator on 2014/11/4.主要学习下如何用现成的系统函数简化SQL语句编写,当然熟练以后还是写sQL比较直观,封装的话说也没传说中那么美好
 */
public class PersonDao {

    private PersonHelper helper;

    public void InsertNewRecord(String name,String number)
    {
        SQLiteDatabase sld= this.getHelper().getWritableDatabase();
        sld.execSQL("insert into person(name,number) values (?,?)",new Object[]{"冯","132"});
        ContentValues cvs=new ContentValues(4);
        cvs.put("name",name);
        cvs.put("number",number);
        sld.insert("Person","id",cvs);
        sld.close();
    }

    public  void Update(String name,String newNumber)
    {
        SQLiteDatabase db=this.getHelper().getWritableDatabase();
        ContentValues cvs=new ContentValues(4);
        cvs.put("number",newNumber);
        db.update("person",cvs,"name=?",new String[]{name});
        db.close();
    }

    public void  ReadAll()
    {
        SQLiteDatabase db=this.getHelper().getReadableDatabase();
        Cursor cur= db.query(false, "person", null, "id>?", new String[]{"0"}, null, null, null, "10");
        while (cur.moveToNext())
        {
            Log.e("FengZiLi","PersonName:"+cur.getString(cur.getColumnIndex("name"))+"      number:"+cur.getString(cur.getColumnIndex("number")));
        }
    }

    public void Delete(String name)
    {

    }

    public PersonHelper getHelper() {
        return helper;
    }

    public void setHelper(PersonHelper helper) {
        this.helper = helper;
    }
}

代码的使用:

 PersonDao psd=new PersonDao();
                psd.setHelper(new PersonHelper(MyActivity.this));
                psd.InsertNewRecord("张三丰","885");
                psd.Update("张三丰","998");
                psd.ReadAll();
时间: 2024-10-14 22:37:22

【.NET老猿学安卓系列】数据库读写的相关文章

跟老杨学java系列(五) JDK的安装与配置

跟老杨学java系列(五) JDK的安装与配置 提示:本节内容对于java入门是非常关键的,对于刚接触java的同学一定要认真学习,欢迎大家留言探讨技术问题.其他问题概不回复. (书接上回)上节课程我们简单介绍了java项目的开发过程及常用的开发工具,这节课我们详细讲解一下JDK的安装与配置.根据上一节的学习,我们知道编写完java代码后,需要先对java代码进行编译,然后再执行.而java程序的编译与执行都是通过JDK来完成的.所以做java开发,首先我们需要学会安装和配置JDK.下面我们就来

跟老杨学java系列(二) PNP训练法介绍

跟老杨学java系列(二) PNP训练法介绍 声明:以下内容可能会有做广告的嫌疑,哈哈~~.大家不想看的忽略就好..欢迎大家留言探讨技术问题.其他问题概不回复. (书接上回)PNP训练法是国内java培训机构-乐橙谷推出的一种针对java培训的学习训练方法.该训练法摒弃了传统的以章节知识点为线索的教学方式,改为以完整的项目开发过程为线索.以对功能点的分析设计驱动出的知识点为授课内容.以迭代为教学手段,学习难度由浅入深,让学生在充分了解软件开发过程的基础上,熟练掌握项目开发经验.深入掌握相关开发技

10天学安卓系列

10天学安卓-第一天 摘要: 说明1:本系列教程仅针对新手入门,高手勿入!说明2:本系列教程均不考虑安卓版本低于4.0的情况.说明3:本系列教程假定您了解一些编程的基础知识,对于Java语言略懂即可.说点废话从什么时候说起呢,应该是很久以前的事情了.2008年的早春,因为工作的原因在日本工作了一个月,当我和同事们在商场闲逛的时候...阅读全文 posted @ 2015-01-17 15:15 Game_over 阅读(2755) | 评论 (9) 编辑 10天学安卓-第二天 摘要: 继续我们的

【.NET老猿转Android系列】第一课打电话程序

<EditText android:id="@+id/txtNumber" android:layout_width="match_parent" android:layout_height="80dp" android:inputType="phone" > </EditText> 上面的  +    表示在R中新建一个id变量 layout_width:match_parent是跟父节点一样宽 he

关于老猿Python系列文章发布网址变化的说明

老猿Python系列文章最开始在新浪发布,后逐渐开通了CSDN.博客园和简书三个网址,但老猿一来工作忙,二来Python需要学习的内容太多,因此实在没时间同时维护这么多博客,事实上除了CSDN其他网站已经停更几个月了.故在此告知如下:本博暂时停止更新,暂未考虑什么时候恢复,对老猿Python感兴趣的朋友请前往CSDN阅读,老猿将在学习Python期间持续维持CSDN博客的更新.具体地址信息如下: 博客地址:https://blog.csdn.net/LaoYuanPython 老猿Python博

老司机学python篇:第一季(基础速过、机器学习入门)

详情请交流  QQ  709639943 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞

10天学安卓-第五天

原文:10天学安卓-第五天 经过前几天的练习,相信大家已经对如何做出一个简单的界面有了初步的了解,并且已经做出来一个还不错的天气列表了. 今天大家稍事休息,要练习的内容比较少,着重学习一些理论知识,先理清几个概念. Android系统架构 Android系统本质上是Linux系统,但相对于Linux系统,主要在驱动.性能.内存管理.设备管理等一些部分做了比较多的改动,以更适用于移动设备. 从上图可以看到,Android系统架构为四层,分别是Linux内核.系统运行库.应用程序框架以及应用层,每一

SqlServer 并发系列之读写分离

数据库处理高并发两种方式 垂直和水平 区分 垂直区分[分布式数据库]: 按模块独立出单独数据库. 缺点:对系统各个模块设计要较高要求,高内聚低耦合,改造难度较大. 同时如果数据达到一个新的临界点,还是会存在访问性能低下的可能,比如一个订单数据库,订单数量达到1000万单. 水平区分[读写分离]: 剑圣分身的方式,分为 主数据库(真身)和多个查询数据库(镜像),主数据库承担 增删改和实时性查询 功能, 查询服务器承担带条件的大数据量的查询. 读写分离好处1.将读和写操作分离到不同的数据库服务器上.

10天学安卓-第一天

原文:10天学安卓-第一天 说明1:本系列教程仅针对新手入门,高手勿入! 说明2:本系列教程均不考虑安卓版本低于4.0的情况. 说明3:本系列教程假定您了解一些编程的基础知识,对于Java语言略懂即可. 说点废话 从什么时候说起呢,应该是很久以前的事情了. 2008年的早春,因为工作的原因在日本工作了一个月,当我和同事们在商场闲逛的时候,发现了以前从未见过的电子设备,一款是大屏幕(当时可以称得上巨屏了)的手机,一款是超大容量(80G)的MP3,对了,也许聪明的你已经猜到了,一个是iPhone 1