百度定位并获取县区天气-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 ...
随机推荐
- Git Permission denied (publickey).
有可能, jenkins slave service or jenkins service的logon 账户没有设置好
- php + Bootstrap-v3-Typeahead 自动完成组件的使用
Bootstrap 中的 Typeahead 组件就是通常所说的自动完成 AutoComplete,类似百度.谷歌等搜索提示:输入关键词出现相应的下拉列表数据. 是Bootstrap-3-Typeah ...
- Java 引用传递
按照Java的规定,Java的函数参数在传递的时候有两种方式. 对于基本类型,如int,double等作为函数参数传递时,采取的是传值方式. 对于对象,如数组.字符串等作为参数传递时,采用的是引用方式 ...
- selenium高亮显示操作步骤方法
package com.allin.pc;import java.util.List;import org.openqa.selenium.WebElement;import org.openqa.s ...
- spark配置
-Dspark.master=local -Xms128m -Xmx512m -XX:MaxPermSize=300m -ea
- 【Spring】搭建最简单的Spring MVC项目
每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用 ...
- [问题2014S15] 复旦高等代数II(13级)每周一题(第十五教学周)
[问题2014S15] 设 \(O\) 为 \(n\) 阶正交阵,\(A=\mathrm{diag}\{a_1,a_2,\cdots,a_n\}\) 为实对角阵, 证明: 方阵 \(OA\) 的特征 ...
- Linux下Ruby开发配置
以CentOS为例 安装ruby:yum install ruby 安装ruby devel:yum install ruby-devel,这个装上以后,就可以使用gem安装第三方模块了 安装gem, ...
- CSRF攻击原理以及防御
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
- PHP保留两位小数的几种方法
$num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 $format_ ...