此工程较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的更多相关文章

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

    最近在做一个商城项目,客户想把网站做成类似于美团的效果,切换地区时,内容也跟随变化.这就要首先解决根据用户id获得地址的问题,最终决定使用百度定位(不适用于搭建反向代理的项目) String url ...

  2. Android 百度定位SDKv4.2及6.0_百度定位实例_安卓定位实例

    介绍 由于项目需要.前几天一直在研究百度定位的功能.通过不断的实践终于有结果了.不愿意独享 现在我把我的研究成果和大家分享一下.其实百度的 API 已经相当不错了 这之所以要写出来.一是自己做一个笔记 ...

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

    demo基于百度定位APIv4.0版.新浪天气(不用查询城市代码). 需求: 1.button实现触发定位监听和天气捕获 2.两个textview 分别显示详细地址.天气. 界面很简陋,侧重功能实现. ...

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

    一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyAppl ...

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

    使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API ...

  6. 从百度API中获取天气

    网络上看到鱼C的Python入门课程不错,语言风格也引人入胜,想做个实验,这东西到底好不好入门, 就把这个视频推荐给老婆,让他试着学一下,做足了老婆的工作. 这不,这两天她很上心,学得很有成就感,我也 ...

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

    IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocati ...

  8. 根据新浪天气API获取各地天气状况(Java实现)

    原文出自 参考网址(重要) http://blog.csdn.net/cyxlzzs/article/details/7602469  新浪 http://blog.csdn.net/l_ch_g/a ...

  9. 【百度地图开发之二】基于Fragment的地图框架的使用

    写在前面的话: [百度地图开发之二]基于Fragment的地图框架的使用(博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明. Author:hmji ...

随机推荐

  1. Elementory os install .net core

    ref link : https://www.microsoft.com/net/core#linuxubuntu sudo sh -c 'echo "deb [arch=amd64] ht ...

  2. ECStore在Win环境下如何运行CMD命令

    大多数程序员使用windows开发环境来做ECStore二次开发,经常需要使用 ECStore自带的cmd命令进行一些系统操作,如清除缓存(cacheclean),升级程序(update),创建新的a ...

  3. MVC过滤器使用案例:统一处理异常顺道精简代码

    重构的乐趣在于精简代码,模块化设计,解耦功能……而对异常处理的重构则刚好满足上述三个方面,下面是我的一点小心得. 一.相关的学习 在文章<精简自己20%的代码>中,讨论了异常的统一处理,并 ...

  4. wex5 教程之 图文讲解 Cloudx5一键部署

    视频教程地址:http://v.youku.com/v_show/id_XMTc3OTExNTUwNA==.html 效果预览: 一键部署cloudx5三要领 1.数据源命名为x5 2.数据库命名为x ...

  5. maven私有库配置

    私有库的配置 协同开发过程中私有库可以为团队提升很大效率,之前我的私有库一直存在问题导致jar包导入异常.现在在这分享一下私有库配置的几个点,可能因为我们学校比较简陋所以配置的比较简单,欢迎大家补充 ...

  6. samba的rpm包,只有tar.gz文件安装

    tar.gz包是源代码的包,不能直接运行,需要安装tar xvf samba-3.5.1.tar.gz cd samba-3.5.1 &&cd source3 &&./ ...

  7. [课程设计]Scrum 2.6 多鱼点餐系统开发进度(下单一览页面-菜式添加功能实现)

    Scrum 2.6 多鱼点餐系统开发进度  (下单一览页面-菜式添加功能实现) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题 ...

  8. AS3语言注意事项汇总

    1. 在IE中,主DisplayObject加入stage后,可能其大小还是0,这时可以通过监听resize信息,在主DisplayObject获得正确的大小后,运行主要程序.需要注意的是在这个过程中 ...

  9. JAVA线程同步辅助类CyclicBarrier循环屏障

    CyclicBarrier是一个同步辅助类,主要作用是让一组线程互相等待,知道都到达一个公共障点,在一起走.在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrie ...

  10. Android study first ----------安卓项目目录结构及adb指令

    #Android项目的目录结构 * Activity:应用被打开时显示的界面 * src:项目代码 * R.java:项目中所有资源文件的资源id * Android.jar:Android的jar包 ...