마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 SQLite 질문이요

0 추천
안녕하세요.

이클립스에서 안드로이드로 마이그레이션을 진행중입니다.

그런데 궁금한점이 분명 이클립스에서 SQLite를 사용할때는 이상없이 잘 사용하고 있었는데

안드로이드 스튜디오에서 빌드에러를 잡고 컴파일을 진행하는데

java.lang.RuntimeException: Unable to resume activity {com.sam4s.atom/com.sam4s.atom.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'net.sqlcipher.Cursor net.sqlcipher.database.SQLiteDatabase.rawQueryWithFactory(net.sqlcipher.database.SQLiteDatabase$CursorFactory, java.lang.String, java.lang.String[], java.lang.String)' on a null object reference

 

 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'net.sqlcipher.Cursor net.sqlcipher.database.SQLiteDatabase.rawQueryWithFactory(net.sqlcipher.database.SQLiteDatabase$CursorFactory, java.lang.String, java.lang.String[], java.lang.String)' on a null object reference
   

이러한 에러가 발생합니다. 왜 NullPointerException이 발생하는지도 잘 모르겠습니다.

 또한 net.sqlcipher~~~ 오류가 발생하는데 sqlcipher를 꼭 사용해야 하는건지도 궁금합니다.

 sqlcipher를 사용해야 한다면 API Level을 올리면서 안드로이드 정책상 꼭 사용해야 하는 것인지 아니면 회피가 가능한건지 궁금합니다.

(sqlcipher는 DataBase 암호화를 도와주는 작업으로 알고 있습니다.)

에러코드에서 Implementation net.sqlcipher를 해야한다는데.이게 과연 꼭 필요한건지 궁금합니다.

또한 왜 Nullpointer인지도 ... 제가 아직 초보라 조금만 자세히 알려주시면 감사하겠습니다.

감사합니다.
너무먼개발자 (1,300 포인트) 님이 2019년 10월 22일 질문
sqlcipher에 대해서는 잘 모르겠습니다만 NullPointerException 에서 rawQueryWithFactory에 넣는 referenc들 중 다른 곳에서 불러 와 넣을 경우 불러오기 전 class에서 static 속성을 주지않아 초기화 된 경우가 있을 수도 있을 것 같습니다.

1개의 답변

0 추천
jni 쪽 라이브러리 포팅이 잘못된게 아닌가 싶은데요 ?

eclipse 에서 so 파일 위치와 as 의 so 파일 위치가 다릅니다.
aucd29 (218,390 포인트) 님이 2019년 10월 24일 답변
...