Android 端天气预报APP的实现(五)全国各地城市数据的获取

本文介绍如何在Android应用中实现天气预报APP的城市数据获取和存储。通过从服务器下载数据,创建并管理数据库的Province、City、County三个表,解析JSON数据并存储到对应的数据库表中,以便后续查询使用。
摘要由CSDN通过智能技术生成

获取了天气数据,接下来就是获取全国各地的城市数据了,我的整体思路是先将城市数据从服务器上获取下来,然后将其存储到数据库中。
首先,先准备数据库,创建三个表分别存储省市县。

**
 * Created by zhaoxin on 17/9/3.
 * 数据库
 */

public class MyDatabaseHelper extends SQLiteOpenHelper {
   

    //创建省份表
    private static final String CREATE_PROVINCE = "create table tb_province(" +
            "id integer primary key autoincrement," +
            "province_name varchar(20)," +
            "province_code integer)";

    //创建城市表
    private static final String CREATE_CITY = "create table tb_city(" +
            "id integer primary key autoincrement," +
            "city_name varchar(20)," +
            "city_code integer," +
            "province_id integer)";
    //创建县城表
    private static final String CREATE_COUNTY = "create table tb_county(" +
            "id integer primary key autoincrement," +
            "county_name varchar(20)," +
            "county_code integer," +
            "weather_id varchar(20)," +
            "city_id integer)";

    public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }


    /**
     * 创建数据库时执行里面的方法
     */

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        //执行创建表的操作
        sqLiteDatabase.execSQL(CREATE_PROVINCE);
        sqLiteDatabase.execSQL(CREATE_CITY);
        sqLiteDatabase.execSQL(CREATE_COUNTY);
    }


    /**
     * 更新数据库时执行的方法,手动更改数据库的版本
     * */
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        //如果表存在,删除表
        sqLiteDatabase.execSQL("drop table if exists tb_province");
        sqLiteDatabase.execSQL("drop table if exists tb_city");
        sqLiteDatabase.execSQL("drop table if exists tb_county");
        //再调用onCreate方法执行相关操作
        onCreate(sqLiteDatabase);
    }


}

然后,每个表对应一个实体类,因此,我们需要创建三个实体类。
Province.java<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值