欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: Litepal使用的注意點 [打印本頁]

作者: 51黑bing    時間: 2016-3-22 19:42
標題: Litepal使用的注意點
Litepal使用的注意點(僅僅列出一些常見的):


       1、當調用DataSupportsave()方法一直返回錯誤(false)的時候,很有可能是我們的javabean對象以及對應的配置有誤,錯誤有可能如下:
       bean對象以及bean對象的父類,內部類,一切bean對象文件里面出現過的類,一定要繼承DataSupport類,并且在litepal.xml文件中配置。不繼承,不配置,都會報錯。
       如果bean對象添加了成員變量id,那么id一定要是int 或者 long 類型,其他類型均會報錯。
       如果我們的對象只有一個成員id,例如我們的BaseBean經常就是只有一個成員id,那么項目運行起來,在創建基本表的時候依然會報錯。原因是:不管是否添加idlitepal都會自動為我們添加id這個屬性,因此表明litepal的一個bean對象不能只有一個名字為id成員。如果是有一個id,那么litepal在底層生成SQL語句的時候,會生成“id integer primary keyautoincrement , ”這是一句不完整的SQL語句,因此會報錯。

       2save()方法一直返回錯誤(false)的時候,異常信息都是警告而不是錯誤,因此需要切換LogCat的過濾。

       3、對于findAll()方法,它返回的是List<Bean對象>,因此需要我們去強制轉換為ArrayList<T>,不然在add等操作的時候會報錯,因為我們使用的都是List的實現類而不是List接口本身。強轉如果不指定泛型T的時候Android Studio會提示沒有類型檢查的警告,但是我們可以忽略。

       4bean對象的所有成員變量的名字都不能和SQL的一且關鍵字沖突,原因也很簡單,litepal在底層生成SQL語句的時候會把成員變量的名字拼成SQL語句。

       5、成員如果是booleana;
其中a是我舉例子用的名字,生成get以及 set方法的時候,Android Studio會把get方法名定義為“public  boolean  isA(boolean  a)”,我們自己不要手賤把它改為getA,否則litepal也會報找不到方法的錯。

       6、額,最后一點是數據庫的問題,因為id屬性是默認自增長的,如果項目中自定義的ID不是自增長的話,最好自己再定義一個ID。比如商城項目中的商品ID,如果用戶不是按照逐次增長的形式添加商品的話,商品被save()的時候,一開始是ID+1的,知道ID滿足與已存在的商品ID自增長的規律的時候才能正確判斷商品已存在。







歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1