android studio使用SQLite時錯誤

1、現象(異常情況)

手機上調測時報錯:android.database.sqlite.SQLiteException: near "$change": syntax error (code 1):...

在使用SQLite動態創建表時報錯,多了一個$change字段。

於是反覆讀代碼,發現應該不會有$change這個字段。表字段是通過註解方式實現,getDeclareFields方式獲取的字段。 

2、經過查找,發現多了一個(發現問題)

public static transient volatile com.android.tools.fd.runtime.IncrementalChange這麼信息,是系統自動生成的。

於是懷疑是工具的原因

3、查找後發現(解決方案)

是android studio2的Instant Run功能導致,默認該功能是開啓的。關閉了該功能就好使了。

總結

以後用android studio使用反射就需要注意了,有可能該問題導致多了字段。如果寫代碼時,也可以加上判斷就比較完美些。


---------------------
轉自:https://blog.csdn.net/danielinbiti/article/details/51301343
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章