Android Open Source - firstcodeandroid Cool Weather D B

From Project

Back to project page firstcodeandroid.


The source code is released under:

MIT License

If you think the Android project firstcodeandroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.vjia.coolweather.db;
//from w w  w .  j  av  a  2 s .  co m
import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import com.vjia.coolweather.db.CoolWeatherOpenHelper;
import com.vjia.coolweather.model.City;
import com.vjia.coolweather.model.County;
import com.vjia.coolweather.model.Province;

public class CoolWeatherDB {
  private static final String tag = CoolWeatherDB.class.getName();
  public static final String DB_NAME = "cool_weather";
  public static final int VERSION = 1;
  private static CoolWeatherDB coolWeatherDB;
  private SQLiteDatabase db;
  /* for now When click CHINA , in LogCat will see java.lang.OutOfMemoryError:[memory exhausted],
   * so to make a province/city/county size limit, let's set 20 for now.
  private int limitSize = 20;

  private CoolWeatherDB(Context context) {
    CoolWeatherOpenHelper dbHelper = new CoolWeatherOpenHelper(context,
        DB_NAME, null, VERSION);
    db = dbHelper.getWritableDatabase();

  public synchronized static CoolWeatherDB getInstance(Context context) {
    if (coolWeatherDB == null) {
      coolWeatherDB = new CoolWeatherDB(context);
    return coolWeatherDB;

  public void saveProvince(Province province) {
    if (province != null) {
      ContentValues values = new ContentValues();
      values.put("province_name", province.getProvinceName());
      values.put("province_code", province.getProvinceCode());
      db.insert("Province", null, values);
      Log.d(tag, "a Province is inserted.");

  public List<Province> loadProvinces() {
    List<Province> list = new ArrayList<Province>();
    Cursor cursor = db
        .query("Province", null, null, null, null, null, null);
    int i=0;
    if (cursor.moveToFirst()) {
      do {
        Province province = new Province();
        if((i++) > 20) break;
      } while (cursor.moveToNext());
    Log.d(tag, "loadProvinces() done.");
    return list;

  public void saveCity(City city) {
    if (city != null) {
      ContentValues values = new ContentValues();
      values.put("city_name", city.getCityName());
      values.put("city_code", city.getCityCode());
      values.put("province_id", city.getProvinceId());
      db.insert("City", null, values);
      Log.d(tag, "a City is inserted.");

  public List<City> loadCities(int provinceId) {
    List<City> list = new ArrayList<City>();
    Cursor cursor = db.query("City", null, "province_id=?",
        new String[] { String.valueOf(provinceId) }, null, null, null);
    int i=0;
    if (cursor.moveToFirst()) {
      do {
        City city = new City();
        if((i++) > 20) break;
      } while (cursor.moveToFirst());
    return list;
  public void saveCounty(County county){
      ContentValues values=new ContentValues();
      values.put("county_name", county.getCountyName());
      values.put("county_code", county.getCountyCode());
      values.put("city_id", county.getCityId());
      db.insert("County", null, values);
      Log.d(tag, "a County is inserted.");
  public List<County> loadCounties(int cityId) {
    List<County> list = new ArrayList<County>();
    Cursor cursor = db.query("County", null, "city_id=?",
        new String[] { String.valueOf(cityId) }, null, null, null);
    int i=0;
    if (cursor.moveToFirst()) {
      do {
        County county = new County();
        if((i++) > 20) break;
      } while (cursor.moveToFirst());
    return list;


Java Source Code List