欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ios開發(fā)Flutter之?dāng)?shù)據(jù)存儲

 更新時間:2022年07月20日 15:42:53   作者:weak_PG  
這篇文章主要為大家介紹了ios開發(fā)Flutter之?dāng)?shù)據(jù)存儲的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

偏好存儲

shared_preferences 類比iOS中的UserDefaults,使用方法比較簡單。 地址戳這里 pub get之后會自動出現(xiàn)一個這樣的文件generated_plugin_registrant.dart

數(shù)據(jù)存儲:

void _incrementCounter() {
  //創(chuàng)建對象,用于操作存儲和讀取。
  SharedPreferences.getInstance().then((SharedPreferences prefs) {
    setState(() {
      _counter++;
    });
    prefs.setInt('counter', _counter);
  });
  }

數(shù)據(jù)讀?。?/p>

 SharedPreferences.getInstance().then((SharedPreferences prefs) {
      setState(() {
        _counter = prefs.getInt('counter') ?? 0;
      });
    });

sqlite

使用sqlite需要搭配著path一起使用,在使用的過程中踩了一個坑, 明明我安裝了CocoaPods卻一直提示我CocoaPods not installed

Warning: CocoaPods not installed. Skipping pod install. 
CocoaPods is used to retrieve the iOS and macOS platform side's plugin code 
that responds to your plugin usage on the Dart side. 
Without CocoaPods, plugins will not work on iOS or macOS. 
For more info, see https://flutter.dev/platform-plugins To install 
see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

最后解決辦法 1;打開終端 2; 輸入open /Applications/Android\ Studio.app即可。感覺挺奇怪的一個錯誤 感謝大佬,問題解決鏈接

創(chuàng)建表

1.getDatabasesPath來到了Documents下的目錄 2.join(value, 'test_db.db')使用的是一個path的pub庫配合使用 3.openDatabase打開數(shù)據(jù)庫,onCreate建表 // 建表 CREATE TABLE 表名(,,)

 late Database _db;
  @override
  void initState() {
    super.initState();
    _initDatabase().then((value) => _db = value);
  }
  Future<Database> _initDatabase() async {
    Database db = await getDatabasesPath()
        .then((value) => join(value, 'test_db.db'))
        .then((value) => openDatabase(value, version: 1,
                onCreate: (Database db, int version) async {
              // 建表
              await db.execute(
                  'CREATE TABLE LK_Text(id INTEGER PRIMARY KEY,name TEXT, age INT)');
            }));
    return db;
  }

Future<String> getDatabasesPath() => databaseFactory.getDatabasesPath();是一個Future所以需要async配合著await來使用。 執(zhí)行之后發(fā)現(xiàn)已經(jīng)創(chuàng)建成功了,大小8kb, 是一個空表。

數(shù)據(jù)插入

_db插入數(shù)據(jù)可以使用事務(wù)處理

// 添加數(shù)據(jù) INSERT INTO 表名 VALUES (值1,值2,...)

    _db.transaction((txn) async {
      txn
          .rawInsert('INSERT INTO LK_Text(name,age) VALUES("zhangsan",16)')
          .then((value) => print(value));
      txn
          .rawInsert('INSERT INTO LK_Text(name,age) VALUES("lisi",17)')
          .then((value) => print(value));
    });

數(shù)據(jù)查詢

// 數(shù)據(jù)查詢 SELECT 列名稱 FROM 表名稱 *通配符

_db.rawQuery('SELECT * FROM LK_Text').then((value) => print(value));

數(shù)據(jù)修改

// 修改數(shù)據(jù) UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

_db.rawUpdate('UPDATE LK_TEXT SET age = 18 WHERE age = 16');

刪除表

1._db.delete刪除表 2._db.close()關(guān)閉數(shù)據(jù)庫

  _db
        .rawQuery('SELECT * FROM LK_Text')
        .then((value) =&gt; print(value))
        .then((value) {
      // 刪除表
      _db.delete('LK_Text').then((value) =&gt; _db.close());
    });

切記:由于這里是異步的操作,注意執(zhí)行的順序?。?校驗的話還是很簡單,再次寫入數(shù)據(jù)的時候會報錯。

刪除數(shù)據(jù)庫

    // 刪除數(shù)據(jù)庫
    getDatabasesPath()
        .then((value) => join(value, 'test_db.db'))
        .then((value) => deleteDatabase(value));

整體來說還是比較簡單的,主要是把sqlite語句寫正確。

以上就是ios開發(fā)Flutter之?dāng)?shù)據(jù)存儲的詳細內(nèi)容,更多關(guān)于ios Flutter數(shù)據(jù)存儲的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • iOS實現(xiàn)百度外賣頭像波浪的效果

    iOS實現(xiàn)百度外賣頭像波浪的效果

    對于現(xiàn)在很多人來說,叫外賣就成了不可或缺的習(xí)慣。某日瞬間發(fā)現(xiàn)百度外賣的APP波浪效果很是吸引人,相比較其他的外賣APP,顏值略高些.(淘寶也有波浪的效果),遂就思考如何實現(xiàn)這種"浪"的效果,下面來一起看看。
    2016-08-08
  • iOS實現(xiàn)無限循環(huán)滾動的TableView實戰(zhàn)教程

    iOS實現(xiàn)無限循環(huán)滾動的TableView實戰(zhàn)教程

    這篇文章主要給大家介紹了關(guān)于iOS實現(xiàn)無限循環(huán)滾動的TableView的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 解決ios微信頁面回退不刷新的問題

    解決ios微信頁面回退不刷新的問題

    下面小編就為大家?guī)硪黄鉀Qios微信頁面回退不刷新的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • iOS中多線程的入門使用教程(Swift)

    iOS中多線程的入門使用教程(Swift)

    這篇文章主要給大家介紹了關(guān)于iOS中多線程入門使用的相關(guān)資料,一個進程中可以開啟多條線程,每條線程可以并行執(zhí)行不同的任務(wù),本文通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-11-11
  • iOS開發(fā)中Swift3 監(jiān)聽UITextView文字改變的方法(三種方法)

    iOS開發(fā)中Swift3 監(jiān)聽UITextView文字改變的方法(三種方法)

    在項目中使用文本輸入框出UITextField之外還會經(jīng)常使用 UITextView ,難免會有需求監(jiān)聽UITextView文本框內(nèi)文本數(shù)量.下面介紹在swift3中兩種常用方式,需要的朋友參考下吧
    2016-11-11
  • IOS CocoaPods詳細使用方法

    IOS CocoaPods詳細使用方法

    自從有了CocoaPods以后,這些繁雜的工作就不再需要我們親力親為了,只需要我們做好少量的配置工作,CocoaPods會為我們做好一切
    2016-09-09
  • iOS實現(xiàn)截取字符串中漢字功能

    iOS實現(xiàn)截取字符串中漢字功能

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)截取字符串中漢字功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • iOS應(yīng)用中發(fā)送HTTP的get請求以及HTTP異步請求的方法

    iOS應(yīng)用中發(fā)送HTTP的get請求以及HTTP異步請求的方法

    這篇文章主要介紹了iOS應(yīng)用中發(fā)送HTTP的get請求以及HTTP異步請求的方法,代碼為傳統(tǒng)的Objective-C語言,說明都簡單地融入于注釋之中,需要的朋友可以參考下
    2016-02-02
  • CocoaPods 出現(xiàn)LoadError - cannot load such file -- nanaimo錯誤解決辦法

    CocoaPods 出現(xiàn)LoadError - cannot load such file -- nanaimo錯誤解決

    這篇文章主要介紹了CocoaPods 出現(xiàn)LoadError - cannot load such file -- nanaimo錯誤解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 匯總ios開發(fā)逆向傳值的方法

    匯總ios開發(fā)逆向傳值的方法

    這篇文章主要為大家匯總了ios開發(fā)逆向傳值的方法,感興趣的小伙伴們可以參考一下
    2016-03-03

最新評論