本篇博客的主要目的,是介绍怎样将数据库文件保存到手机系统文件,并且可以显示各个省市地的名字。
数据库一共有三个表,他们分别是(后面我将上传整个文件和数据库文件)
省表
CREATE TABLE IF NOT EXISTS `fs_province` (
`ProvinceID` bigint(20) NOT NULL,
`ProvinceName` varchar(50) DEFAULT NULL,
`DateCreated` datetime DEFAULT NULL,
`DateUpdated` datetime DEFAULT NULL,
PRIMARY KEY (`ProvinceID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
城市表
CREATE TABLE IF NOT EXISTS `fs_city` (
`CityID` bigint(20) NOT NULL,
`CityName` varchar(50) DEFAULT NULL,
`ZipCode` varchar(50) DEFAULT NULL,
`ProvinceID` bigint(20) DEFAULT NULL,
`DateCreated` datetime DEFAULT NULL,
`DateUpdated` datetime DEFAULT NULL,
PRIMARY KEY (`CityID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
县区表
CREATE TABLE IF NOT EXISTS `fs_district` (
`DistrictID` bigint(20) NOT NULL,
`DistrictName` varchar(50) DEFAULT NULL,
`CityID` bigint(20) DEFAULT NULL,
`DateCreated` datetime DEFAULT NULL,
`DateUpdated` datetime DEFAULT NULL,
PRIMARY KEY (`DistrictID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
注意:
省份表和城市表中,都有北京,上海,重庆,天津这四个城市,所以要自己判断一下。
先看下效果图:
我们将二进制的数据库文件放入工程的res/raw下面,如图所示:
整个程序的主要功能,我都封装在了CityInfoDataSupport2这个类中。
package com.example.province;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import android.content.Contex