天天看點

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