ActiveAndroid的简单使用
2017-09-18 09:18
211 查看
ActiveAndroid简单使用讲解
现在android 主流数据库框架ormlite activeAndroid greenDao等orm数据库框架的使用,本文主要简单讲解activeAndroid的简单使用讲解,便于大家更好的理解和使用,如有讲解不当之处请予以指出,我们一起探讨。一:首先就是使用配置
大家首先可以查看activeAndroid的源码地址 https://github.com/pardom/ActiveAndroid 对于使用android studio的用户打大家可以这样配置
repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'对于还在使用Eclipse开发android 的朋友们,可以换了使用android studio。哈哈。
二:项目配置讲解
首先在
AndroidManifest.xml文件中配置数据库名称和数据库版本号。
<manifest ...> <application android:name="com.activeandroid.app.Application" ...> ... <meta-data android:name="AA_DB_NAME" android:value="xu.db" /> <meta-data android:name="AA_DB_VERSION" android:value="1" /> </application> </manifest>
接着,在
AndroidManifest.xml文件中指定application元素的name为
com.activeandroid.app.Application,如果需要自定义Application,需要让你的Application对象继 承自com.activeandroid.app.Application而不是android.app.Application。如果你需要继承其他库 的Application,则需要在Application中初始化和处理ActiveAndroid。
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ActiveAndroid.initialize(this); } @Override public void onTerminate() { super.onTerminate(); ActiveAndroid.dispose(); } }
三:创建model进行表的创建和使用
创建的模型必须继承Model类,这样你的类名就是你的表名。如果不想使用类名做表名,则可以使用@Table定义表名。@Column用于定义列名。Model类使用无参的构造函数,如果定义自己的构造函数必须定义一个无参的构造函数。案例如下:
@Table(name = "HomepageItem") public class HomepageItem extends Model { @Column(name = "item_id") public String id;//id @Column(name = "item_name") public String name; @Column(name = "item_url") public String icon; @Column(name = "item_flag") public String itemFlag; }
四;增删改查的使用
1:首先就是单条数据的保存
HomepageItem item = new HomepageItem(); item.name = "demo"; item.save();2:批量插入
ActiveAndroid.beginTransaction(); try { for (int i = 0; i < 100; i++) { HomepageItem item = new HomepageItem(); item.name = "demo"+i ; item.save(); } ActiveAndroid.setTransactionSuccessful(); } finally { ActiveAndroid.endTransaction(); }
3:数据更新处理
如果使用的还是当前对象或者遍历拿到当前数据对象的话,那么使用save插入方法,也可以直接更新数据库中表的数据处理。也就是
HomepageItem homepageItem = new HomepageItem(); homepageItem.name = "demotwo"; homepageItem.save();
正规的方式当然是根据条件进行更新数据,
new Update(HomepageItem.class).set("item_id = ?", "demo").where("item_name = ?", "小张");更新条件下item_name为小张的item_id更新为demo
4:删除处理操作
one:调用delete()方法就可以删除一条记录,下面的例子中,通过id加载一个Item对象,并且删除他。
HomepageItem item = HomepageItem.load(HomepageItem.class, 1);two:通过静态方法删除
HomepageItem.delete(HomepageItem.class, 1);threee:创建调用Delete对象删除
new Delete().from(HomepageItem.class).where("Id = ?", 1).execute();
four:也可以这样写同上也是创建Delete对象
Delete delete = new Delete(); HomepageItem.delete(HomepageItem.class, 1);
5:查询处理操作
Select select = new Select(); select.from(HomepageItem.class).execute();其他复杂查询可以根据where条件查询处理操作,
new Select().from(HomepageItem.class).as("a") .where("Id=1");ORM框架使用起来确实是很方便的,给我们编码提高了效率,但是也有着致命弊端。前面我们也介绍了ORM的实现的原理是Java的反射机制,反射有个缺点,就是会造成效率不高、耗时较长的现象。当有数据批量操作的时候,会把耗时加长好几倍。所以当遇到业务中有很多的记录要处理的时候,就不推荐大家使用框架了,还是老老实实的写比较靠谱
相关文章推荐
- android ORM数据库框架ActiveAndroid的简单使用
- Adnroid中的数据存储大全,以及ActiveAndroid的简单使用
- 地图入门(一):Android上使用Google Maps加标注的最最简单的例子
- APIDemo学习笔记——Android上几种简单的Animation使用方法(三)——3D Transition
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- Android中LocationManager的简单使用,获取当前位置
- ActiveReports for .NET 简单使用
- Android 之 下拉框(Spinner)的简单使用
- Android Service使用方法--简单音乐播放实例
- Android Google Map的简单使用(一)
- android-ListActivity与HashMap的简单使用
- 【Android笔记 三】Location获取地理位置信息(中)Criteria类的简单使用
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- android google map 的简单使用
- Android上使用Google Maps最最简单的例子
- ActiveReports for .NET 简单使用
- Android ListView的简单使用
- android Service 的简单使用(学习别人)
- Android中LocationManager的简单使用,获取当前位置