必赢亚洲手机app下载


一桩事先未张扬的性侵扰案366net必赢亚洲手机版

千里之行366net必赢亚洲手机版

平常学习笔记

Android:通常学习笔记(9)———研商持久化技术

引入持久化技术

366net必赢亚洲手机版,什么是持久化技术

  持久化技术正是指将那个内存中的一刹那间数据保存到存储设备中,保证固然在手提式有线电话机或微型总结机关机的情事下,那些多少依旧不会丢掉。

Android系统提供的三种持久化技术:

  文件存款和储蓄、SharedPreference(使用共享首要选取项)存款和储蓄以及数据仓库储存款和储蓄。

文件存款和储蓄

说明:

  您能够直接在设施的里边存款和储蓄中保留文件。暗中同意境况下,保存到内部存储的文件是运用的个体文件,其他应用(和用户)不可能访问这几个文件。
当用户卸载您的利用时,这一个文件也会被移除。

要创造私有文件并写入到当中存款和储蓄:

  1. 应用文件名称和操作情势调用 openFileOutput()
    那将回到二个 FileOutputStream
  2. 使用 write() 写入到文件。
  3. 使用 close() 关闭流式传输。

要从里头存储读取文件:

  1. 调用 openFileInput() 并向其传递要读取的文件名称。
    那将再次回到3个 FileInputStream
  2. 使用 read() 读取文件字节。
  3. 接下来利用 close() 关闭流式传输。

通用代码

 public void save1(String text)
    {
        FileOutputStream out = null;
        BufferedWriter writer = null;
        try {
            out = openFileOutput("data",MODE_PRIVATE);
            writer = new BufferedWriter(new OutputStreamWriter(out));
            writer.write(text);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(writer!=null)
                try {
                    writer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
    }
    public void read1()
    {
        FileInputStream in =null;
        BufferedReader reader = null;
        StringBuilder content = new StringBuilder();

        try {
            in = openFileInput("data");
            reader = new BufferedReader(new InputStreamReader(in));
            String line =null;
            while ((line=reader.readLine())!=null)
                content.append(line);
            Toast.makeText(StoreActivity.this,content,Toast.LENGTH_SHORT).show();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

SharedPreference存储

说明:

  差别于文件的存款和储蓄格局,ShardPreference是采用键值对的点子来存款和储蓄数据的。 style=”color: #ff0000″>您能够应用 SharedPreferences 来保存任何原始数据:布尔值、浮点值、整型值、长整型和字符串。
此数据将跨三个用户会话永久保存(尽管你的使用已终止亦如此)。

获取SharedPreferences对象:

  • getSharedPreferences() –
    要是你供给多个按名称(使用第三个参数钦命)识其他首要选用项文件,请使用此措施。
  • getPreferences() – 即使你只供给3个用来 Activity
    的首要选取项文件,请使用此格局。 由于那将是用以 Activity
    的唯一首要选取项文件,由此无需提供名称。也正是说会把近日运动的类名作为文件名。

写入值:

  1. 调用 edit() 以获取 SharedPreferences.Editor
  2. 使用 putBoolean() 和 putString() 等措施添加值。
  3. 使用 commit() 提交新值

读入值:

  要读取值,请使用 getBoolean() 和 getString() 等 SharedPreferences 方法。

通用代码

    public void save2()
    {
        SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
        editor.putString("name","Tom");
        editor.putInt("age",20);
        editor.apply();
    }

    public void read2()
    {
        SharedPreferences sharedPreferences = getSharedPreferences("data",MODE_PRIVATE);
        Log.d("StoreActivity",sharedPreferences.getString("name",""));
        Log.d("StoreActivity",""+sharedPreferences.getInt("age",100));

    }

SQLite数据库存款和储蓄

**成立数据库 **

说明:

   Android为了让大家更为便利地管理数据库,专门提供了贰个SQLiteOPenHelper来帮助大家对数据库实行创办和进步。

而是SQLiteOPenHelper是五个抽象类,这意味者大家供给创建贰个要好的提携类去继续它。不过必要去贯彻创造和换代的多个主意,即  onCreate(SQLiteDatabase db)与onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。

接下来调用getReadableDataBase()或getWriteableDataBase()方法创设数据库。

Public constructors

SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)

Create a helper object to create, open, and/or manage a database.

SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandlererrorHandler)

Create a helper object to create, open, and/or manage a database.

Public methods

void

close()

关门其余打开的数据库对象。

String

getDatabaseName()

Return the name of the SQLite database being opened, as given to the
constructor.

SQLiteDatabase

getReadableDatabase()

Create and/or open a database.

SQLiteDatabase

getWritableDatabase()

Create and/or open a database that will be used for reading and writing.

void

onConfigure(SQLiteDatabase db)

Called when the database connection is being configured, to enable
features such as write-ahead logging or foreign key support.

abstract void

onCreate(SQLiteDatabase db)

Called when the database is created for the first time.

void

onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion)

Called when the database needs to be downgraded.

void

onOpen(SQLiteDatabase db)

Called when the database has been opened.

abstract void

onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

Called when the database needs to be upgraded.

void

setWriteAheadLoggingEnabled(boolean enabled)

Enables or disables the use of write-ahead logging for the database.

 

public class MyDatabaseHelper extends SQLiteOpenHelper {
    public static final String CREATE_BOOK="CREATE TABLE Book(\n" +     //再创建时会用到的SQL语句
            "    id INTEGER PRIMARY KEY AUTOINCREMENT,\n" +
            "    author TEXT,\n" +
            "    price REAL,\n" +
            "    pages INTEGER,\n" +
            "    name TEXT)";

    public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {     //重写创建方法
        db.execSQL(CREATE_BOOK); //执行创建数据库的语句
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  //重写更新方法
        db.execSQL("drop table if exists Book");
        onCreate(db);
    }
}

创办并打开或打开数据库:

366net必赢亚洲手机版 1

说明:SQLiteHelper对于一个数据库来说只能调用一次onCreate方法,即再创建时调用一次。若它存在,则永远不会再调用了。

 更新数据表:

1.重写更新方法:

366net必赢亚洲手机版 2

2.传唱更大的本子号,从而调用更新方法:

366net必赢亚洲手机版 3

 SQLite的增加和删除改查操作

添加多少

 

 

 

 

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图