百度定位并获取县区天气-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
百度定位并获取县区天气-XML+fragment+sqlite的更多相关文章
- 使用百度定位Api获取当前用户登录地址
最近在做一个商城项目,客户想把网站做成类似于美团的效果,切换地区时,内容也跟随变化.这就要首先解决根据用户id获得地址的问题,最终决定使用百度定位(不适用于搭建反向代理的项目) String url ...
- Android 百度定位SDKv4.2及6.0_百度定位实例_安卓定位实例
介绍 由于项目需要.前几天一直在研究百度定位的功能.通过不断的实践终于有结果了.不愿意独享 现在我把我的研究成果和大家分享一下.其实百度的 API 已经相当不错了 这之所以要写出来.一是自己做一个笔记 ...
- 基于百度定位及天气获取的DEMO
demo基于百度定位APIv4.0版.新浪天气(不用查询城市代码). 需求: 1.button实现触发定位监听和天气捕获 2.两个textview 分别显示详细地址.天气. 界面很简陋,侧重功能实现. ...
- Android定位&地图&导航——基于百度地图移动获取位置和自动定位
一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyAppl ...
- 百度定位SDK实现获取当前经纬度及位置
使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API ...
- 从百度API中获取天气
网络上看到鱼C的Python入门课程不错,语言风格也引人入胜,想做个实验,这东西到底好不好入门, 就把这个视频推荐给老婆,让他试着学一下,做足了老婆的工作. 这不,这两天她很上心,学得很有成就感,我也 ...
- IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息
IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocati ...
- 根据新浪天气API获取各地天气状况(Java实现)
原文出自 参考网址(重要) http://blog.csdn.net/cyxlzzs/article/details/7602469 新浪 http://blog.csdn.net/l_ch_g/a ...
- 【百度地图开发之二】基于Fragment的地图框架的使用
写在前面的话: [百度地图开发之二]基于Fragment的地图框架的使用(博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明. Author:hmji ...
随机推荐
- html5,实例开发代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- C#函数过载
什么是method?函数也.overloading,是过载的意思.为什么会过载呢?因为一个函数,本来后面拖着两个参数的,现在拖着三个参数了,那不是过载是什么? 为什么同一个函数,后面可以跟两个参数,也 ...
- WebService处理大数据量数据
在通过WebService处理大数据量数据时出现如下错误: soap fault: 运行配置文件中指定的扩展时出现异常. ---> 超过了最大请求长度. 解决方法: 因为上传的文件大于系统默认配 ...
- 给jar包进行数字签名(2014-06-28记)
整理一下两年前用到的一些资料. 为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数据签名,当客户端打开Applet或者JWS程 ...
- Deferred解决JS同步问题
测试脚本: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- oneKey 系统备份
oneKey系统备份,系统进入不了备份ghost界面 原因:备份文件名中有括号"()"
- php数组插入数据库这个功能该怎么实现
原文网址:https://segmentfault.com/q/1010000004048449 比如一个数组$a=array("a"=>"1",&quo ...
- pip 添加trusted host 一劳永逸
继上一篇<Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED>出现的问题进行一个一劳永逸的操作 pip升级到7.0以后,在使用http ...
- C#中的多线程 - 基础知识
原文:http://www.albahari.com/threading/ 文章来源:http://blog.gkarch.com/threading/part1.html 1简介及概念 C# 支持通 ...
- 【OOAD】OOAD概述
什么是面向对象? OOP:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序 ...