欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
Litepal使用的注意點
[打印本頁]
作者:
51黑bing
時間:
2016-3-22 19:42
標題:
Litepal使用的注意點
Litepal
使用的注意點(僅僅列出一些常見的):
1
、當調用
DataSupport
的
save()
方法一直返回錯誤(
false
)的時候,很有可能是我們的
javabean
對象以及對應的配置有誤,錯誤有可能如下:
bean
對象以及
bean
對象的父類,內部類,一切
bean
對象文件里面出現過的類,一定要繼承
DataSupport
類,并且在
litepal.xml
文件中配置。不繼承,不配置,都會報錯。
如果
bean
對象添加了成員變量
id
,那么
id
一定要是
int
或者
long
類型,其他類型均會報錯。
如果我們的對象只有一個成員
id
,例如我們的
BaseBean
經常就是只有一個成員
id
,那么項目運行起來,在創建基本表的時候依然會報錯。原因是:不管是否添加
id
,
litepal
都會自動為我們添加
id
這個屬性,因此表明
litepal
的一個
bean
對象不能只有一個名字為
id
成員。如果是有一個
id
,那么
litepal
在底層生成
SQL
語句的時候,會生成“
id integer primary keyautoincrement ,
”這是一句不完整的
SQL
語句,因此會報錯。
2
、
save()
方法一直返回錯誤(
false
)的時候,異常信息都是警告而不是錯誤,因此需要切換
LogCat
的過濾。
3
、對于
findAll()
方法,它返回的是
List<Bean
對象
>
,因此需要我們去強制轉換為
ArrayList<T>
,不然在
add
等操作的時候會報錯,因為我們使用的都是
List
的實現類而不是
List
接口本身。強轉如果不指定泛型
T
的時候
Android Studio
會提示沒有類型檢查的警告,但是我們可以忽略。
4
、
bean
對象的所有成員變量的名字都不能和
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