百度定位并获取县区天气-XML+fragment+sqlite

此工程较BaiduLocationXMLFragment相比:
1.加入数据库部分,将获取到的地址  天气存入数据库中,离线状态显示数据库最后一条记录

sqlite:

DatabaseHelper.java

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {

    private static final String DB_NAME = "weatherDB.db";
    private static final int version = 1;
    public static final String TABLE_NAME = "weatherInfo";

    public DatabaseHelper(Context context) {
        super(context, DB_NAME, null, version);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        db.execSQL("CREATE TABLE IF NOT EXISTS "+TABLE_NAME+"(recordID INTEGER PRIMARY KEY,address VARCHAR,weather VARCHAR)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}

DBManger.java

//http://blog.csdn.net/liuhe688/article/details/6715983
public class DBManager
{
    private DatabaseHelper helper;
    private SQLiteDatabase db;

    public DBManager(Context context)
    {
        Log.d("sqlite", "DBManager --> Constructor");
        helper = new DatabaseHelper(context);
        db = helper.getWritableDatabase();
    }

    /**
     * add weatherInfo
     *
     * @param wibs  也可以设计成WeatherInfoBean对象
     *
     */
    public void add(List<WeatherInfoBean> wibs)
    {
        Log.d("sqlite", "DBManager --> add");
        db.beginTransaction();
        try
        {
            for (WeatherInfoBean wib: wibs)
            {
                db.execSQL("INSERT INTO " + DatabaseHelper.TABLE_NAME
                        + " VALUES(?,?,?)", new Object[] { null,wib.getAddr(),
                        wib.getWeather() });
            }
            db.setTransactionSuccessful();
        }
        finally
        {
            db.endTransaction();
        }
    }

    /**
     * query all weatherInfo, return list
     *
     * @return List<Person>
     */
    public List<WeatherInfoBean> query()
    {
        Log.d("sqlite", "DBManager --> query");
        ArrayList<WeatherInfoBean> wibs = new ArrayList<WeatherInfoBean>();
        Cursor c = queryTheCursor();
        while (c.moveToNext())
        {
            WeatherInfoBean wib = new WeatherInfoBean();
            wib.setAddr(c.getString(c.getColumnIndex("address")));
            wib.setWeather(c.getString(c.getColumnIndex("weather")));
            wibs.add(wib);
        }
        c.close();
        return wibs;
    }

    /**
     * query all persons, return cursor
     *
     * @return Cursor
     */
   public Cursor queryTheCursor()
    {
        Log.d("sqlite", "DBManager --> queryTheCursor");
        Cursor c = db.rawQuery("SELECT * FROM " + DatabaseHelper.TABLE_NAME,
                null);
        Log.i("sqlite","xxxxxxxxx");
        return c;

    }
//查询最后一条记录  返回对象
   public WeatherInfoBean queryCertainItem(){
       WeatherInfoBean wib=new WeatherInfoBean();
       db.beginTransaction();
       try
       {

           Cursor cursor = db.rawQuery("SELECT * FROM " + DatabaseHelper.TABLE_NAME,
                   null);
           if (cursor.moveToLast()) {
               // 该cursor是最后一条数据

               wib.setAddr(cursor.getString(cursor.getColumnIndex("address")));
               wib.setWeather(cursor.getString(cursor.getColumnIndex("weather")));
           }
       }
       finally
       {
           db.endTransaction();
       }
    return wib;
   }
    /**
     * close database
     */
    public void closeDB()
    {
        Log.d("sqlite", "DBManager --> closeDB");
        db.close();
    }

}
源码:http://download.csdn.net/detail/xiejun1026/8444571
时间: 2024-10-21 06:54:34

百度定位并获取县区天气-XML+fragment+sqlite的相关文章

使用百度定位Api获取当前用户登录地址

最近在做一个商城项目,客户想把网站做成类似于美团的效果,切换地区时,内容也跟随变化.这就要首先解决根据用户id获得地址的问题,最终决定使用百度定位(不适用于搭建反向代理的项目) String url = request.getRemoteAddr(); // url = "58.56.23.118"; //本地代码测试ip,使用本地公网 // 这里调用百度的ip定位api服务 详见 ak需要申请 // http://api.map.baidu.com/lbsapi/cloud/ip-l

iOS定位和获取当前天气

这里是定义了一个类,用来当app 启动的时候,在后台获取当前和位置,并根据位置获取当前天气信息,当点击底部的 tabbar 显示我的控制器的时候,在页面上显示当前位置和当前的天气状况,天气接口用的 "心知天气" 这个免费的接口,因为是免费的所以天气信息很少,只能获取到当前温度.当前天气状况(晴还是雨)和指定的一组天气图片从他们网站下载下来直接拖进项目里面,根据天气状态显示指定的图片.(项目全面接入的MVVM 和 RAC) CHMLocationManager.h 1 #import &

基于百度定位及天气获取的DEMO

demo基于百度定位APIv4.0版.新浪天气(不用查询城市代码). 需求: 1.button实现触发定位监听和天气捕获 2.两个textview 分别显示详细地址.天气. 界面很简陋,侧重功能实现. 下面记录下主要技术点: 1.百度定位 /** * 发起定位 */ public void requestLocationInfo() { setLocationOption(); if (mLocationClient != null && !mLocationClient.isStarte

百度地图定位 : 获取当前位置的经纬度

说明: 1.初始化 BaiduMap SDK要在显示界面之前,即: SDKInitializer.initialize(Context); setContentView(R.layout.main); 2. 设置定位的模式是 LocationMode.Hight_Accuracy 时,在室内可能无法获取到准确的经纬度,会得到默认的值是4.9E-324 处理办法是将模式改为Battery_Saving,或到室外 3.可以根据当前设备网络连接情况和GPS是否开启来设定定位模式 //获得网络连接情况

Android定位&amp;地图&amp;导航——基于百度地图移动获取位置和自动定位

一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyApplication类 public class MyApplication extends Application { static MyApplication myApplication; BMapManager mBMapManager = null; String mStrKey = "7ZfuR

百度定位SDK实现获取当前经纬度及位置

使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API中的定位SDK,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,同时可以设定位置通知点,当到达某一位置时,发出通知信息等方式来告知用户.jar包下载以及官方文档请参照:百度定位SDK,前提是需要注册百度开发者账号.下面来看看定位的基本原理,目前,定位SDK可以通过GPS.基站

android 基于百度地图api开发定位以及获取详细地址

一:百度地图开发必须要到百度开发平台android开发api下载相应的库,已经申请百度地图开发key. 二:新建项目baidumaplocation.设计main.xml文件这里注意的是MapView控件必须使用来自百度库封装好的com.baidu.mapapi.MapView .设计代码如下: Xml代码   <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&q

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation{ BMKCoordinateRegion region; region.center.latitude  = userLocation.location.coordinate.latitude; region.center.longitude = userLoca

从百度API中获取天气

网络上看到鱼C的Python入门课程不错,语言风格也引人入胜,想做个实验,这东西到底好不好入门, 就把这个视频推荐给老婆,让他试着学一下,做足了老婆的工作. 这不,这两天她很上心,学得很有成就感,我也顺便帮他做了一个小Demo.如下,从百度的API中取天气情况并解析打印出来 代码如下,内有注释 1 # -*- coding: utf-8 -*- 2 ## 从网络上获取北京的天气,源码来源于网络,自己封装 3 import sys, urllib, urllib.request, json 4 5