platforms/android/app/src/main/AndroidManifest.xml
@@ -1,5 +1,9 @@ <?xml version='1.0' encoding='utf-8'?> <manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="io.cordova.hellocordova" xmlns:android="http://schemas.android.com/apk/res/android"> <manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="io.cordova.hellocordova" xmlns:android="http://schemas.android.com/apk/res/android"> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true"> platforms/android/app/src/main/java/com/fgkj/dao/SQLdm.java
@@ -3,6 +3,7 @@ import android.content.Context; import android.content.res.AssetManager; import android.database.sqlite.SQLiteDatabase; import android.os.Environment; import android.util.Log; import java.io.File; @@ -12,12 +13,12 @@ public class SQLdm { //数据库存储路径 String filePath = "data/data/sqlite_db/fbs9600.db"; //数据库存放的文件夹 data/data/sqlite_db 下面 String pathStr = "data/data/sqlite_db"; String filePath = "data/data/io.cordova.hellocordova/sqllite/fbs9600.db"; //数据库存放的文件夹 data/data/com.sqlite_db 下面 String pathStr = "data/data/io.cordova.hellocordova/sqllite/"; SQLiteDatabase database; public SQLiteDatabase openDatabase(Context context){ public SQLiteDatabase openDatabase(Context context){ System.out.println("filePath:"+filePath); File jhPath=new File(filePath); //查看数据库文件是否存在 @@ -29,7 +30,7 @@ //不存在先创建文件夹 File path=new File(pathStr); Log.i("test", "pathStr="+path); if (path.mkdir()){ if (path.mkdirs()){ Log.i("test", "创建成功"); }else{ Log.i("test", "创建失败"); @@ -38,7 +39,7 @@ //得到资源 AssetManager am= context.getAssets(); //得到数据库的输入流 InputStream is=am.open("fbs9600.db"); InputStream is=am.open("sqlites/fbs9600.db"); Log.i("test", is+""); //用输出流写到SDcard上面 FileOutputStream fos=new FileOutputStream(jhPath); platforms/android/app/src/main/java/com/fgkj/service/BattinfService.java
@@ -1,5 +1,7 @@ package com.fgkj.service; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Handler; import android.os.Looper; import android.util.Log; @@ -9,8 +11,10 @@ import com.fgkj.action.ServiceModel; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.BaseDAOFactory; import com.fgkj.dto.Battinf; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class BattinfService { @@ -19,16 +23,38 @@ private WebView webView; private Gson gson = new Gson(); public static final String BATTINFSERVICE_NAME = "BattinfService";//JS调用类名 private SQLiteDatabase sqldb; public BattinfService( WebView webView) { public BattinfService( WebView webView,SQLiteDatabase db) { this.dao = BaseDAOFactory.getBaseDAO(BaseDAO.BATTINF); this.model = new ServiceModel(); this.webView = webView; this.sqldb=db; } //查询库中存在的所有电池组信息 @JavascriptInterface public void searchAll() { List list=dao.searchAll(); List list=new ArrayList(); Cursor rs = sqldb.rawQuery("select * from tb_battinf",null); while(rs.moveToNext()){ Battinf binf=new Battinf(); binf.setNum(rs.getInt(rs.getColumnIndex("num"))); binf.setBattGroupId(rs.getColumnIndex("battgroupid")); /* binf.setBattGroupName(rs.getString("battgroupname")); binf.setBattGroupName1(rs.getString("battgroupname1")); binf.setBattFloatCurrent(rs.getDouble("BattFloatCurrent")); binf.setMonCapStd(rs.getDouble("MonCapStd")); binf.setMonVolStd(rs.getDouble("MonVolStd")); binf.setMonCount(rs.getInt("MonCount")); binf.setMonResStd(rs.getDouble("MonResStd")); binf.setMonSerStd(rs.getDouble("MonSerStd")); binf.setMonTmpStd(rs.getDouble("MonTmpStd")); binf.setBattProducer(rs.getString("BattProducer")); binf.setBattInUseDate(rs.getDate("BattInUseDate")); binf.setStation_install(rs.getInt("Station_install"));*/ list.add(binf); } /*List list=dao.searchAll();*/ if(list!=null&&list.size()>0){ model.code=1; model.data=list; platforms/android/app/src/main/java/com/sqlite_DaoHelper/DBUtil.java
@@ -1,5 +1,9 @@ package com.sqlite_DaoHelper; import android.os.Environment; import android.util.Log; import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; @@ -15,12 +19,15 @@ public static Connection getConn(){ String path=System.getProperty("user.dir"); String path= Environment.getExternalStorageDirectory().getAbsolutePath(); //System.out.println(path); //String db_path= "/app/src/main/assets/sqlites/fbs9600.db"; String db_path= "/app/src/main/assets/sqlites/fbs9600.db"; url=url+path+db_path; File file = Environment.getExternalStorageDirectory(); String root = file.getAbsolutePath(); url= "/data/data/io.cordova.hellocordova/sqllite/fbs9600.db"; Log.d("test", url); Connection conn = null; try { Class.forName(classDriver); platforms/android/app/src/main/java/io/cordova/hellocordova/MainActivity.java
@@ -19,10 +19,12 @@ package io.cordova.hellocordova; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.webkit.WebView; import com.fgkj.action.JsInterface; import com.fgkj.dao.SQLdm; import com.fgkj.service.BattinfService; import org.apache.cordova.*; @@ -45,11 +47,15 @@ // Set by <content src="index.html" /> in config.xml loadUrl(launchUrl); SQLdm s = new SQLdm(); SQLiteDatabase db = s.openDatabase(getApplicationContext()); webview = findViewById(appView.getView().getId()); // 添加事件 webview.addJavascriptInterface(new JsInterface(this, webview,MainActivity.this), JsInterface.JS_INTERFACE_NAME); webview.addJavascriptInterface(new BattinfService(webview), BattinfService.BATTINFSERVICE_NAME); webview.addJavascriptInterface(new BattinfService(webview, db),BattinfService.BATTINFSERVICE_NAME); }