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
  • 相关阅读:
    【机器学习】机器学习12个关键经验教训
    【机器学习】24个终极项目提升您的机器学习知识和技能
    2018-12-21-WPF-弹出-popup-里面的-TextBox-无法输入汉字
    2019-10-31-C#-dotnet-获取整个局域网的-ip-地址
    2018-11-26-win10-uwp-获取窗口的坐标和宽度高度
    2019-5-21-dotnet-core-使用-CoreRT-将程序编译为-Native-程序
    2019-5-21-Roslyn-使用-Directory.Build.props-管理多个项目配置
    2019-2-26-SublimeText-快速打开当前文件的文件夹
    2019-2-18-VisualStudio-给项目添加特殊的-Nuget-的链接
    2019-8-31-dotnet-如何在-Mock-模拟-Func-判断调用次数
  • 原文地址:https://www.cnblogs.com/NeilLing/p/4290091.html
Copyright © 2011-2022 走看看