在看过三个版本(对就是版本)greenDao教程最终发现AIDE无法使用带有注解的库的时候,我是稍有点绝望的。

同时也萌发了自己对网络教程的感慨:还是看官方文档吧官方文档我爱你。

然后呢,不想用sqlite只好自己继续寻数据库了,于是找到了sugar。

正文

先把github放出来,很多东西自己看就够了。

ps : 在我自己浏览的时候好像没有看见需要在使用开始和结束的时候调用:

SugarContext.init(this);

SugarContext.terminate();

这两个方法。

在github上有下载,我用的是gradle。

接下来

简单操作

插入

创建实例

只需要新建一个类来继承 SugarRecord这个类,然后在类中声明变量等即可,如下:

public class MyRed extends SugarRecord

{

private String mDesc;

private String mUrl;

private String mWho;

private String mThink;

public MyRed(){

}

public MyRed(String desc, String url, String who, String think){

setDesc(desc);

setUrl(url);

setWho(who);

setThink(think);

}

public void setThink(String mThink)

{

this.mThink = mThink;

}

public String getThink()

{

return mThink;

}

public void setDesc(String mDesc)

{

this.mDesc = mDesc;

}

public String getDesc()

{

return mDesc;

}

public void setUrl(String mUrl)

{

this.mUrl = mUrl;

}

public String getUrl()

{

return mUrl;

}

public void setWho(String mWho)

{

this.mWho = mWho;

}

public String getWho()

{

return mWho;

}}

在AndroidManifest.xml中配置

android:value 的值随自己需要更改。

初始化

在使用前需要调用上文提到的两个方法。

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

SugarContext.init(this);

}

@Override

protected void onDestroy()

{

// TODO: Implement this method

super.onDestroy();

SugarContext.terminate();

}

我是在主activity的onCreate() 和onDestory()中调用的方法。

保存

需要调用.save()方法。

mMyRedPresenter.saveMyRed(

new MyRed(

mEditTextDesc.getText().toString(),

mEditTextUrl.getText().toString(),

mEditTextWho.getText().toString(),

mEditTextThink.getText().toString()));

将四个EditText中的文本作为参数,new一个 MyRed ,然后传入方法saveMyRed中

@Override

public void saveMyRed(MyRed myRed)

{

if(!myRed.getDesc().isEmpty()

&& (myRed.getUrl().length() > 5)

&& !myRed.getWho().isEmpty()){

myRed.save();

Toast.makeText(mView,"Saved",Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(mView,"Saved failed",Toast.LENGTH_SHORT).show();

}

// TODO: Implement this method

}

稍作判断后觉定是否存入数据库。

查询

嗯 通过调用MyRed的

MyRed.listAll(MyRed.class);

方法即可获取一个List 然后查询操作请随意。

更新

在通过listAll()获取的List中获取MyRed类,然后用setXXX()方法改变对应值后再使用MyRed.save()方法即可。

MyRed.save()会自动判断是新数据还是更新数据。

删除

同上获取MyRed类变量后调用MyRed.delete()即可。

备注1

简单使用嘛,就这样了。

备注2

[使用时练手用的](git.starstudio.org/kfdykme/myRed)

android studio sugar,Android | Sugar 的介绍和简单使用相关推荐

  1. 使用Android Studio搭建Android集成开发环境

    一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...

  2. 在Mac上使用android studio调试android手机

    一.环境准备 1.安卓手机:Android版本为9 2.MacBook Pro 3.安卓数据线 二.adb介绍 1.adb概念 adb:全称是Android Debug Bridge,意思是Andro ...

  3. android studio1.2.6,1.2.2 使用Android Studio开发Android APP | 菜鸟教程

    写在前面本节将介绍如何使用Android Studio开发Android APP,和前面Eclipse + ADT + SDK搭建Android开发环境一样,本节也只是介绍一些基本东西,深入的,比如快 ...

  4. android application 方法,Android Studio新建Android application配置的详细方法

    Android Studio如何新建Android application配置呢?下面是小编介绍的Android Studio新建Android application配置的详细方法,有需要的小伙伴一 ...

  5. 【Android应用开发】Android Studio 简介 (Android Studio Overview)

    一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- I ...

  6. android+图标+i_explore+无背景,Android Studio中Android Device Monitor中的File Explore不显示文...

    环境:操作系统是Mac,模拟器 问题:Android Studio中Android Device Monitor中的File Explore不显示文件 本人在自学文件存储,想查看"dada/ ...

  7. Android开发工具Android Studio、Android SDK和Genymotion完全配置

    所谓"工欲善其事,必先利其器".Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Androi ...

  8. 在Android Studio中将Android工程变为Library使用

    在Android Studio中将Android工程变为Library使用 转载2016-03-28 10:43:58 有时候网上会有些工程格式不是我们想要的Library格式可以直接给AS使用.这时 ...

  9. android studio - 解决Android Studio不停的Indexing的问题

    android studio - 解决Android Studio不停的Indexing的问题 参考文章: (1)android studio - 解决Android Studio不停的Indexin ...

  10. android app启动图片 加动画效果,Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案...

    Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案 大家在设计APP的末期,都会想给APP搞一些"花里胡哨"的特效来提高APP的B格.博主表示亲测有效 ...

最新文章

  1. 写时复制(Copy-On-Write)思想在Java中的应用
  2. 李开复:AI行业正在回归商业本质,技术公司要有服务心态落地为王 | MEET2020
  3. junit单元测试报错InvalidTestClassError: Invalid test class
  4. 进程线程区别,和线程初识
  5. shell python比较_shell中的条件判断以及与python中的对比
  6. 百度SEO站群PHP进销存源码ERP多仓库管理源码
  7. 【图像数据增强】Mixup、Cutout、Random Erasing、CutMix、Mosaic等详解
  8. Linux内核 eBPF基础: 探索USDT探针
  9. 如何聊离职原因,向面试官展示自己的忠诚
  10. 音乐在线播放Demo
  11. 淘宝婴儿商品销量分析
  12. python大文件去重_python3 大文件去重的方法
  13. 应用电子技术创新实验设计说明书
  14. IEEE802.3-2015 CL78 节能以太网(EEE)要点翻译
  15. win7快捷方式去箭头_【初级会计】作为会计的你必须知道的快捷方式
  16. 2022.4月份科研记录【日记】
  17. k-最近邻聚类k-Nearest Neighbor
  18. 二分查找算法应用-实现求平方根函数
  19. 软考中级哪个证最好考?
  20. IDEA中引入框架并配置artifact后,启动tomcat无法访问项目

热门文章

  1. 赶紧收藏!非常实用的 30 个 Python 技巧
  2. 深入细枝末节,Python的字体反爬虫到底怎么一回事
  3. 进程间通信-Queue(python版)
  4. Python3.7.3安装(Ubuntu16.04)
  5. ReportViewer教程(13)-交互式排序
  6. 漫步最优化二十一——全局收敛
  7. leetcode - 104. 二叉树的最大深度
  8. 数字图像处理--图像梯度的基本原理
  9. FFMPEG 图像拉伸缩放及数据格式转换
  10. ffmpeg sws_scale函数详解