• Android 拷贝raw文件夹下面的sqlite数据库文件到SDCard中 然后读取数据库并绑定


     添加权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    1
    package com.tcrj.customer.basesqllite; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.database.sqlite.SQLiteDatabase; 6 import android.os.Environment; 7 8 import com.tcrj.customer.activity.R; 9 10 import java.io.File; 11 import java.io.FileOutputStream; 12 import java.io.InputStream; 13 import java.io.OutputStream; 14 15 16 /** 17 * SqlLite数据库 18 * Created by leict on 2016/1/25. 19 */ 20 public class SqliteDBHelper { 21 private static Context context = null; 22 private static SQLiteDatabase mSQLiteDatabase = null; 23 24 public SqliteDBHelper(Context context) { 25 this.context = context; 26 } 27 28 public static void getSqLiteData() { 29 try { 30 String DATABASE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/sqlitedb"; 31 String DATABASE_FILENAME = "provincialcitydb.db"; 32 String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME; 33 File dir = new File(DATABASE_PATH); 34 if (!dir.exists()) { 35 dir.mkdir(); 36 if (!(new File(databaseFilename)).exists()) { 37 InputStream is = context.getResources().openRawResource(R.raw.provincialcitydb); 38 OutputStream fos = new FileOutputStream(databaseFilename); 39 byte[] buffer = new byte[1024]; 40 int count = 0; 41 //开始复制ProvincialCityDB.db文件 42 while ((count = is.read(buffer)) > 0) { 43 fos.write(buffer, 0, count); 44 } 45 fos.close(); 46 is.close(); 47 } 48 //mSQLiteDatabase = context.openOrCreateDatabase(databaseFilename, Activity.MODE_PRIVATE, null); 49 } 50 } catch (Exception e) { 51 e.printStackTrace(); 52 } 53 // return mSQLiteDatabase; 54 } 55 56 public static String sqlitePath() { 57 String DATABASE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/sqlitedb"; 58 String DATABASE_FILENAME = "provincialcitydb.db"; 59 String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME; 60 return databaseFilename; 61 } 62 }

    Select DataBase

      1  /**
      2      * 省
      3      */
      4     public void setProvinceData() {
      5         List<SpinnerEntity> dataList = new ArrayList<>();
      6         SqliteDBHelper helper = new SqliteDBHelper(context);
      7         SQLiteDatabase sqldata = SQLiteDatabase.openDatabase(helper.sqlitePath(), null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY);
      8         Cursor cur = sqldata.rawQuery("select * from Province", null);
      9         if (cur != null) {
     10             if (cur.moveToFirst()) {
     11                 do {
     12                     SpinnerEntity entity = new SpinnerEntity();
     13                     int idValue = cur.getInt(cur.getColumnIndex("id"));
     14                     String codeValue = cur.getString(cur.getColumnIndex("code"));
     15                     String nameValue = cur.getString(cur.getColumnIndex("name"));
     16                     entity.setId(idValue);
     17                     entity.setCode(codeValue);
     18                     entity.setSpinnerName(nameValue);
     19                     dataList.add(entity);
     20                 }
     21                 while (cur.moveToNext());
     22                 cur.close();
     23             }
     24         }
     25         sqldata.close();
     26         pAdapter = new SpinnerAdapter(context);
     27         pAdapter.setData(dataList);
     28         spinnerprovince.setAdapter(pAdapter);
     29         spinnerprovince.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
     30             @Override
     31             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
     32                 SpinnerEntity entity = (SpinnerEntity) pAdapter.getItem(position);
     33                 setCityData(entity.getCode());
     34             }
     35 
     36             @Override
     37             public void onNothingSelected(AdapterView<?> parent) {
     38 
     39             }
     40         });
     41     }
     42 
     43     /**
     44      * 市
     45      */
     46     public void setCityData(String code) {
     47         List<SpinnerEntity> dataList = new ArrayList<>();
     48         SqliteDBHelper helper = new SqliteDBHelper(context);
     49         SQLiteDatabase sqldata = SQLiteDatabase.openDatabase(helper.sqlitePath(), null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY);
     50         Cursor cur = sqldata.rawQuery("select * from City", null);
     51         if (cur != null) {
     52             if (cur.moveToFirst()) {
     53                 do {
     54                     SpinnerEntity entity = new SpinnerEntity();
     55                     int idValue = cur.getInt(cur.getColumnIndex("id"));
     56                     String codeValue = cur.getString(cur.getColumnIndex("code"));
     57                     String nameValue = cur.getString(cur.getColumnIndex("name"));
     58                     String parentId = cur.getString(cur.getColumnIndex("provinceId"));
     59                     if (code.equals(parentId)) {
     60                         entity.setId(idValue);
     61                         entity.setCode(codeValue);
     62                         entity.setParentId(parentId);
     63                         entity.setSpinnerName(nameValue);
     64                         dataList.add(entity);
     65                     }
     66                 }
     67                 while (cur.moveToNext());
     68                 cur.close();
     69             }
     70         }
     71         sqldata.close();
     72         cAdapter = new SpinnerAdapter(context);
     73         cAdapter.setData(dataList);
     74         spinnercity.setAdapter(cAdapter);
     75         spinnercity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
     76             @Override
     77             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
     78                 SpinnerEntity entity = (SpinnerEntity) cAdapter.getItem(position);
     79                 setAreaData(entity.getCode());
     80             }
     81 
     82             @Override
     83             public void onNothingSelected(AdapterView<?> parent) {
     84 
     85             }
     86         });
     87     }
     88 
     89     /**
     90      * 区
     91      */
     92     public void setAreaData(String code) {
     93         List<SpinnerEntity> dataList = new ArrayList<>();
     94         SqliteDBHelper helper = new SqliteDBHelper(context);
     95         SQLiteDatabase sqldata = SQLiteDatabase.openDatabase(helper.sqlitePath(), null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY);
     96         Cursor cur = sqldata.rawQuery("select * from Area", null);
     97         if (cur != null) {
     98             if (cur.moveToFirst()) {
     99                 do {
    100                     SpinnerEntity entity = new SpinnerEntity();
    101                     int idValue = cur.getInt(cur.getColumnIndex("id"));
    102                     String codeValue = cur.getString(cur.getColumnIndex("code"));
    103                     String nameValue = cur.getString(cur.getColumnIndex("name"));
    104                     String cityId = cur.getString(cur.getColumnIndex("cityId"));
    105                     if (code.equals(cityId)) {
    106                         entity.setId(idValue);
    107                         entity.setCode(codeValue);
    108                         entity.setSpinnerName(nameValue);
    109                         entity.setCityId(cityId);
    110                         dataList.add(entity);
    111                     }
    112                 }
    113                 while (cur.moveToNext());
    114                 cur.close();
    115             }
    116         }
    117         sqldata.close();
    118         aAdapter = new SpinnerAdapter(context);
    119         aAdapter.setData(dataList);
    120         spinnerarea.setAdapter(aAdapter);
    121         spinnerarea.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    122             @Override
    123             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    124 
    125             }
    126 
    127             @Override
    128             public void onNothingSelected(AdapterView<?> parent) {
    129 
    130             }
    131         });
    132     }
  • 相关阅读:
    java基础 -- 经典排序
    java 基础 ----- Arrays 工具类
    java基础 ---- 二维数组
    java基础 ---- 一维数组
    java基础 ---- 练习for循环
    AI 偏微分方程
    AI 反向传播神经网络
    AI 判别式模型和生成式模型
    AI 隐含狄利克雷分布
    AI 朴素贝叶斯分类
  • 原文地址:https://www.cnblogs.com/xiaoyao095/p/5159331.html
Copyright © 2020-2023  润新知