안녕하세요.

 

아무리 검색을 해도 나오지 않아 답답한 마음에 질문 올립니다.

 

 

현재 하단,상단은 액티비티로 제작되어있고 가운데만 서버쪽 html5를 호출합니다.

 

각 하단 탭메뉴 클릭시 startActivity(intent);finish();해서 넘어가구요

 

로직는 대충 이런식으로 구성했습니다.

 

 

 

결론으로 들어가서

 

먼저 모바일웹 에서 html에서 폼전송후 저장버튼 클릭시 결과값을 sqllite에 저장합니다.

 

똑같이

 

앱에서 웹뷰로 페이지를 로드하고 폼전송후 나온 결과값을 저장버튼을 클릭시 sqlite에 저장합니다.

 

문제는 안드로이드에서 javascript  function를 사용하면

 

"cannot call method 'transaction' of null at"이라는 로그를 남기고 처리되지 않습니다.

 

대충 transaction 실행 못한다는 뜻인것 같은데..

 

천상 액티비티쪽에서 따로 sql 구현해야하나요??

javascript로 구현된 펀션을 사용할수는 없는건가요??

 

function Insert_sql(str1,str2,str3,str4,str5,str6,str7){
 db.transaction(function(tx){
   //데이블 존재하지 않을시 새로 생성
   tx.executeSql("create table if not exists table(seq integer primary key autoincrement,field1,field2,field3,field4,field5,field6,field7)");

   tx.executeSql("insert into table(field1,field2,field3,field4,field5,field6,field7) values (?,?,?,?,?,?,?)",[str1,str2,str3,str4,str5,str6,str7],onSuccess,onError);

 });
}

 

 

activity 소스 일부

htmlView.getSettings().setJavaScriptEnabled(true);  //javascript 허용 
 htmlView.getSettings().setDatabaseEnabled(true);  //databases 허용
 htmlView.getSettings().setDatabasePath("/data/data/kr.dkevent/database");