新聞中心
隨著移動互聯(lián)網(wǎng)的不斷發(fā)展,大量的數(shù)據(jù)需要存儲到數(shù)據(jù)庫中,但是訪問數(shù)據(jù)庫的速度相對較慢,這就需要借助緩存來提高數(shù)據(jù)的訪問速度。而xutils3.0是一個功能強(qiáng)大,易于使用的開源框架,它提供了豐富的功能,其中就包括實(shí)現(xiàn)數(shù)據(jù)庫緩存的功能。

目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、長泰網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
一、xutils3.0簡介
xutils3.0是一個基于Android的開源工具類庫,它提供了許多Android開發(fā)中常用的工具類和方法,如數(shù)據(jù)庫操作、圖片加載、網(wǎng)絡(luò)請求、資源注入等,這些工具類和方法將Android開發(fā)中常用的操作進(jìn)一步封裝,使得開發(fā)者可以更加方便快捷的完成各種開發(fā)任務(wù)。
二、xutils3.0實(shí)現(xiàn)數(shù)據(jù)庫緩存的功能
1.初始化
在使用xutils3.0實(shí)現(xiàn)數(shù)據(jù)庫緩存之前,需要先進(jìn)行初始化操作,例如在Application中進(jìn)行初始化:
“`
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);
x.Ext.setDebug(BuildConfig.DEBUG);
}
}
“`
其中,x.Ext.init(this)表示初始化xutils3.0框架,x.Ext.setDebug(BuildConfig.DEBUG)表示設(shè)置是否輸出Debug日志。
2.創(chuàng)建實(shí)體類
在xutils3.0中,實(shí)體類表示了一個數(shù)據(jù)庫表,在進(jìn)行數(shù)據(jù)庫操作時,需要通過實(shí)體類來操作表中的數(shù)據(jù)。下面是一個示例實(shí)體類:
“`
@Table(name=”user”)
public class User {
@Column(name=”id”,isId=true,autoGen=true)
private int id;
@Column(name=”name”)
private String name;
@Column(name=”age”)
private int age;
//省略getter、setter方法
}
“`
其中,@Table注解表示表名,@Column注解表示列名,isId=true表示該列為主鍵,autoGen=true表示主鍵自動增長。
3.創(chuàng)建數(shù)據(jù)庫
在xutils3.0中,需要使用DbManager來創(chuàng)建和管理數(shù)據(jù)庫,下面是一個示例:
“`
DbManager.DaoConfig daoConfig = new DbManager.DaoConfig()
.setDbName(“mydb”) //設(shè)置數(shù)據(jù)庫名
.setDbVersion(1) //設(shè)置數(shù)據(jù)庫版本號
.setDbUpgradeListener(new DbManager.DbUpgradeListener() { //設(shè)置升級監(jiān)聽器
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
//升級數(shù)據(jù)庫
}
});
DbManager dbManager = x.getDb(daoConfig); //獲取DbManager實(shí)例
“`
其中,setDbName()設(shè)置數(shù)據(jù)庫名,setDbVersion()設(shè)置數(shù)據(jù)庫版本號,setDbUpgradeListener()設(shè)置數(shù)據(jù)庫升級監(jiān)聽器,用于在數(shù)據(jù)庫版本更新時執(zhí)行數(shù)據(jù)庫升級操作。x.getDb(daoConfig)用于獲取DbManager的實(shí)例。
4.存儲數(shù)據(jù)
在xutils3.0中,可以使用DbManager來存儲數(shù)據(jù),如下所示:
“`
User user = new User();
user.setName(“小明”);
user.setAge(18);
dbManager.save(user);
“`
其中,dbManager.save(user)表示將user對象存儲到數(shù)據(jù)庫中。
5.查詢數(shù)據(jù)
在xutils3.0中,可以使用DbManager來查詢數(shù)據(jù),如下所示:
“`
List userList = dbManager.selector(User.class).findAll();
“`
其中,dbManager.selector(User.class)表示查詢User表,findAll()表示查詢所有記錄。
6.修改數(shù)據(jù)
在xutils3.0中,可以使用DbManager來修改數(shù)據(jù),如下所示:
“`
User user = new User();
user.setId(1);
user.setName(“小紅”);
user.setAge(20);
dbManager.update(user);
“`
其中,dbManager.update(user)表示將user對象修改到數(shù)據(jù)庫中。
7.刪除數(shù)據(jù)
在xutils3.0中,可以使用DbManager來刪除數(shù)據(jù),如下所示:
“`
dbManager.deleteById(User.class,1);
“`
其中,deleteById(User.class,1)表示刪除User表中id為1的記錄。
8.緩存數(shù)據(jù)
在xutils3.0中,可以使用DbManager實(shí)現(xiàn)數(shù)據(jù)庫緩存的功能,如下所示:
“`
List userList = dbManager.selector(User.class).findAll();
CacheManager.getInstance().put(User.class.getName(), userList);
“`
其中,CacheManager是自己定義的一個緩存管理類,put(User.class.getName(), userList)表示將userList列表對象緩存到內(nèi)存中,緩存的key為User.class.getName()。
9.獲取緩存數(shù)據(jù)
在xutils3.0中,可以使用CacheManager來獲取緩存數(shù)據(jù),如下所示:
“`
List userList = (List) CacheManager.getInstance().get(User.class.getName());
“`
其中,CacheManager.getInstance().get(User.class.getName())表示從內(nèi)存中獲取key為User.class.getName()的緩存數(shù)據(jù),需要強(qiáng)制類型轉(zhuǎn)換為List。
三、
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
android開發(fā)三大框架
XUtil框架、volley、ImageLoader框架。
1、XUtil框架:
主要有四大模塊:
?。?) 數(shù)據(jù)庫模塊:Android中的orm框架,一行代碼就可以進(jìn)行增刪改查;支持事務(wù),默認(rèn)關(guān)閉;可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請注解表名和列名);支持綁定外鍵,保存實(shí)體時外鍵關(guān)聯(lián)實(shí)體自動保存或更新;自動加載外鍵關(guān)聯(lián)實(shí)體,支持延時加載;支持鏈?zhǔn)奖磉_(dá)查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2)注解模塊:android中的ioc框架,完全注解方式就可以進(jìn)行UI,資源和事件綁定;新的事件綁定方式,使用混淆工具混淆后仍可正常工作;目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包c(diǎn)om.lidroid.xutils.view.annotation.event。
?。?)網(wǎng)絡(luò)模塊:支持同步,異步方式的請正拿求;支持大文件上傳,上傳大文件不會oom;支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;下載支持301/302重定向,支持設(shè)置是否根據(jù)Content-Disposition重命名下載的文件;返回文本內(nèi)容的請求(默認(rèn)只啟用了GET請求)支持緩存,可設(shè)置默認(rèn)過期時間和針對當(dāng)前請求的過期時間。
?。?)圖片緩存模塊:加載bitmap的時候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動時候出現(xiàn)的圖片錯位等現(xiàn)象;支持加載網(wǎng)絡(luò)圖片和本地圖片;內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;可配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動畫等…
2、volley:ON,圖像等的異步下載;網(wǎng)絡(luò)請求的排序(scheng)網(wǎng)絡(luò)請求的優(yōu)先級處理緩存多級別取消請求和Activity和生命周期的聯(lián)動(Activity結(jié)束時同時取消所有網(wǎng)絡(luò)請求)。
3、ImageLoader框架:支持多線程圖片加載液寬。提供豐富的細(xì)節(jié)配置,比如線程池大小,鬧清亮HTPP請求項(xiàng),內(nèi)存和磁盤緩存,圖片顯示時的參數(shù)配置等等;提供雙緩存,支持加載過程的監(jiān)聽;提供圖片的個性化顯示配置接口。
Xutils數(shù)據(jù)庫模塊怎么往表里新添加一個字段呢
添加表字段(如果一次添加多字段后面不加bit) ALTER TABLE 表名 ADD 字段胡氏拆名 bit 例褲棗如: alter table main add 年齡char(3),姓核租名varchar(8),性別char(2)
android 中的數(shù)據(jù)庫存在在工程中的哪個目錄下
存在res/raw/ 下面,然后程序啟動的時候再把這個文件考到sd卡下,然后才能使用sqlite進(jìn)行連接
追問:
sld=SQLiteDatabase.openDatabase
(
“/data/data/com.bn.fkdp/mydb”, //數(shù)據(jù)庫所在路徑
null,//CursorFactory
SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY //讀寫、若不存在則創(chuàng)建
);
這是本人參考的一個程序中的數(shù)據(jù)庫 本人想新建一個但是我在它的工程中怎么找不到”/data/data/com.bn.fkdp/mydb”, 這個路徑啊 請大俠指點(diǎn)一下
追答:
在DDMS里應(yīng)該是可以找到那個路徑的,如果是用模擬器運(yùn)行的話。
Android中有內(nèi)置的數(shù)據(jù)庫SQLite,其默認(rèn)存儲位置是在:標(biāo)題欄中Window->show view->File Exporer->data/data/應(yīng)用項(xiàng)目的包名,例如:假如有一個操作Android SQLite數(shù)據(jù)庫的應(yīng)用包名為com.example.xutilsdemo,那么其內(nèi)置的數(shù)據(jù)庫的存儲位置即為:/data/data/com.example.xutilsdemo/databases/xxx.db
一般在 data/data/com.xxx.xxx/databases目錄下
這個必須要運(yùn)行之后才會自動創(chuàng)建。你更好跟下代碼,看代碼里有沒有一個類繼承SqliteOpenHelper,如果有這個只要app一打開就會創(chuàng)建。
另外很多真機(jī)確實(shí)限制了data/data目錄的訪問權(quán)限,如果是這樣的話也可以root一下。更好還是先跟下代碼
一般在 data/data/com.xxx.xxx/databases目錄下
xutils3.0數(shù)據(jù)庫緩存的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于xutils3.0數(shù)據(jù)庫緩存,輕松實(shí)現(xiàn)數(shù)據(jù)庫緩存——xutils3.0,android開發(fā)三大框架,Xutils數(shù)據(jù)庫模塊怎么往表里新添加一個字段呢,android 中的數(shù)據(jù)庫存在在工程中的哪個目錄下的信息別忘了在本站進(jìn)行查找喔。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價值。
文章題目:輕松實(shí)現(xiàn)數(shù)據(jù)庫緩存——xutils3.0(xutils3.0數(shù)據(jù)庫緩存)
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/djehojs.html


咨詢
建站咨詢
