百度定位并获取县区天气-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 ...
随机推荐
- RQNOJ Bus
H城是一座小城市,前几日才刚刚建立公交系统,且只有一辆公交车.于是,如何最大化这唯一一辆公交车的载客量成了亟待解决的问题. H城的俯视图可以近似地看成是一个棋盘网络——共有N行M列,从南向北,每行从1 ...
- centos 更新python
1.CentOS安装Python的依赖包 yum groupinstall "Development tools"yum install zlib-devel bzip2-deve ...
- python-操作csv文件
import csv lv,er=[],[] #读 with open('date.csv') as mycsv: reader=csv.DictReader(mycsv) for row in re ...
- Unity的旋转-四元数,欧拉角用法简介
当初弄不明白旋转..居然找不到资料四元数应该用轴角相乘...后来自己摸明白了 通过两种旋转的配合,可以告别世界空间和本地空间矩阵转换了,大大提升效率. 每个轴相乘即可,可以任意轴,无限乘.无万向节锁问 ...
- noi 8787 数的划分
题目链接:http://noi.openjudge.cn/ch0206/8787/ 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 简直跟分苹果一模一样. #include < ...
- php程序员的水平 看看自己属于那个级别的
文章链接:http://www.oschina.net/question/570781_60150?sort=time&p=4#answers
- linux atom 不支持中文
linux atom 不支持中文 1.首先在ubuntu下安装泉驿正黑字体 sudo apt-get install ttf-wqy-* 2.Edit > Preferences > Se ...
- Android first---文件读取(登录案例编写为主)
以android登录案例来介绍文件的读取与androidAPI给予的方法 第一步:绘制界面 绘制方法:在线性布局下面设置相对布局 代码部分: <LinearLayout xmlns:androi ...
- Nginx的负载均衡 - 整体架构
Nginx的负载均衡 - 整体架构 Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd Nginx目前提供的负载均衡模块: ngx_http_upstre ...
- day 2
三目运算符 A?B:C 等价于 if(A) B; else C; 实例: int i: i=(3>2?5:1) //如果3>2为真,i的值为5,否则为1 printf(“%d”,i): ...