zoukankan      html  css  js  c++  java
  • Notepad Tutorial(1)

    This tutorial on writing a notepad application gives you a "hands-on" introduction to the Android framework and the tools you use to build applications on it. Starting from a preconfigured project file, it guides you through the process of developing a simple notepad application and provides concrete examples of how to set up the project, develop the application logic and user interface, and then compile and run the application.

    这篇关于记事本应用程序的教程让你可以"上手"android 框架,学会使用编写应用程序所需的工具。这篇教程从一个还没有配置好的文件开始,指导你开发一个简单的记事本程序,它提供了关于怎样建立工程,开发应用程序逻辑和用户接口以及编译运行程序的具体的例子。

    哎,我还是没耐性,翻译出来怪怪的。擦,不翻译了,直接上代码!

    NotesDbAdapter类

    public static final String KEY_TITLE = "title";//标题列
    public static final String KEY_BODY = "body";//内容列
    public static final String KEY_ROWID = "_id";//标识id   //建表sql语句
    private static final String DATABASE_CREATE =
           "create table notes (_id integer primary key autoincrement, "
           + "title text not null, body text not null);"; 
    private static final String DATABASE_NAME = "data";//数据库名
    private static final String DATABASE_TABLE = "notes";//表名
    private static final int DATABASE_VERSION = 2;//版本号
    private static class DatabaseHelper extends SQLiteOpenHelper {
    
           DatabaseHelper(Context context) { 
               super(context, DATABASE_NAME, null, DATABASE_VERSION); 
           }
    
           @Override 
           public void onCreate(SQLiteDatabase db) {
    
               db.execSQL(DATABASE_CREATE); 
           }
    
           @Override 
           public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
               Log.w(TAG, "Upgrading database from version " + oldVersion + " to " 
                       + newVersion + ", which will destroy all old data"); 
               db.execSQL("DROP TABLE IF EXISTS notes"); 
               onCreate(db); 
           } 
       }
    

    SQliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。要使用它必须实现它的onCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法,onOpen()方法可选

    onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。

    onUpgrade:当数据库需要被更新的时候执行,例如删除久表,创建新表。

    关于它,api里解释的很清楚,这段英文读起来也很流畅

    A helper class to manage database creation and version management.

    You create a subclass implementing onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int) and optionallyonOpen(SQLiteDatabase), and this class takes care of opening the database if it exists, creating it if it does not, and upgrading it as necessary.

    另一个重要的类就是SQLiteDatabase。 Android提供了一个名为SQLiteDatabase的类,它封装了一些操作数据库的API。使用它能实现基本的CRUD操作(CRUD是create, retrieve, update, and delete的缩写),通过getWritableDatabase()和getReadableDatabase()可以获取数据库实例。

  • 相关阅读:
    python加载csv数据
    Android项目依赖库管理方式简介
    Android PhotoView基本功能实现
    Android ListView的header footer设置visibility gone不起作用
    [干货][EMIT]千行代码实现代理式AOP+属性的自动装配
    Emit实现DataRow转化成强类型的T
    有关docker新版的icc、iptables的一个巨坑
    Mac神器Iterm2的Shell Integration的用法和注意事项
    生成ssl证书文件
    python3 module中__init__.py的需要注意的地方
  • 原文地址:https://www.cnblogs.com/feiyunruyue/p/2367725.html
Copyright © 2011-2022 走看看