zoukankan      html  css  js  c++  java
  • 百度定位并获取县区天气-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
  • 相关阅读:
    亚像素显示详解
    一文看懂显示关键材料之彩色滤光片(Color Filter)
    Android Camera2 Opengles2.0 实时滤镜(冷暖色/放大镜/模糊/美颜)
    Android Camera2 预览,拍照,人脸检测并实时展现
    Camera2点击对焦实现2
    关于Android Camera2 API 的自动对焦的坑
    Camera2点击对焦实现
    Android 新老两代 Camera API 大起底
    Android Camera2 参数调节关键字翻译集合,常用关键字解析
    MediaCodec在Android视频硬解码组件的应用
  • 原文地址:https://www.cnblogs.com/NeilLing/p/4290091.html
Copyright © 2011-2022 走看看