GreenDao的简单使用
来源:互联网 发布:淘宝查销售额 编辑:程序博客网 时间:2024/06/05 08:13
一、配置
1.修改gradle文件夹下的gradle-wrapper.properties修改为:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip2、在工程的buildgradle中导入
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
}
3、在项目的buildgradle中导入
//导入插件
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
//在dependencies中添加如下代码
dependencies {
compile 'org.greenrobot:greendao:3.2.2'
}
二、工具类
public class Daosingleton { private static Daosingleton daosingleton; private Daosingleton() { } public BookDao getdao(Context context) { DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(context, "students.db", null); DaoMaster daoMaster = new DaoMaster(devOpenHelper.getReadableDb()); DaoSession daoSession = daoMaster.newSession(); BookDao studentsDao = daoSession.getBookDao(); return studentsDao; } public static Daosingleton getDaosingleton() { if (daosingleton == null) { synchronized (Daosingleton.class) { if (daosingleton == null) { daosingleton = new Daosingleton(); } } } return daosingleton; }}
三、简单使用public class Main2Activity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemLongClickListener { private Button insert; private ProgressBar bar; private ListView listview; private BookDao getdao; private MyAdapter myAdapter; private List<Book> list=null; private PopupWindow window; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); getdao = Daosingleton.getDaosingleton().getdao(Main2Activity.this); initView(); initData(); } private void initPro(final List<Book> list1) { Handler handler=new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { bar.setVisibility(View.GONE); myAdapter.notifys(list1); } }); } }, 2000); } private void initView() { insert = (Button) findViewById(R.id.insert); bar = (ProgressBar) findViewById(R.id.bar); listview = (ListView) findViewById(R.id.listview); /* initPro();*/ insert.setOnClickListener(this); } private void initData() { list = getdao.queryBuilder().build().list(); myAdapter = new MyAdapter(Main2Activity.this, list); listview.setAdapter(myAdapter); myAdapter.notifys(list); listview.setOnItemLongClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.insert: Intent intent=new Intent(Main2Activity.this,Main3Activity.class); startActivity(intent); break; } } @Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, final int i, long l) { View view1=View.inflate(Main2Activity.this,R.layout.view,null); window = new PopupWindow(view1,300,300); window.showAsDropDown(listview.getChildAt(i)); window.setBackgroundDrawable(new ColorDrawable(0)); window.setOutsideTouchable(true); Button updata=(Button) view1.findViewById(R.id.updata); Button delete=(Button) view1.findViewById(R.id.delete); delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Book book = list.get(i); myAdapter.de(book); getdao.delete(book); myAdapter.notifys(list); window.dismiss(); } }); updata.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Book book = list.get(i); getdao.delete(book); myAdapter.de(book); Intent intent=new Intent(Main2Activity.this,Main3Activity.class); startActivity(intent); window.dismiss(); } }); return false; } @Override protected void onResume() { super.onResume(); list.clear(); list = getdao.queryBuilder().list(); initPro(list); }}
阅读全文
0 0
- GreenDAO的简单使用
- GreenDAO的简单使用
- GreenDao的简单使用
- greendao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- greendao的简单使用1
- GreenDao的简单使用2
- greenDao的简单使用教程
- GreenDao的使用步骤及简单使用
- GreenDao的配置和简单的使用
- GreenDao的简单使用及其介绍
- greenDAO的简单使用(一)
- greenDAO的简单使用(二)
- 数据结构(二)——队列
- 架构和设计有什么区别?
- 环形单链表的约瑟夫问题
- tensorflow中tf.maximum,tf.minimum,tf.argmax,tf.argmain的对比
- linux内核移植
- GreenDao的简单使用
- HDU4734[F(x)]
- 穷举法&在给定一组字符中随机抽取字符的方法
- 本地对象的常用几种方法
- 邮件退件的挺多,邮件营销的时,退件率多少合适?阈值控制在多少?
- 转发 、JSP开发常见问题
- 原生js,onclick与addEventListener区别
- 百度地图路书
- 7、static关键字