//添加依赖
buildscript { repositories { google() jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }
apply plugin: 'org.greenrobot.greendao'
dependencies {
compile 'org.greenrobot:greendao:3.0.1'
}
// In the build.gradle file of your app project:
android {
...
}
greendao {
schemaVersion 2
}
//Bean
package com.example.jingdongdeom.Bean; import org.greenrobot.greendao.annotation.Entity; import org.greenrobot.greendao.annotation.Id; import org.greenrobot.greendao.annotation.Generated; /** * Created by huoxuebin on 2018/4/22. */ @Entity public class User { @Id private Long id; private String sname; public String getSname() { return this.sname; } public void setSname(String sname) { this.sname = sname; } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } @Generated(hash = 405242272) public User(Long id, String sname) { this.id = id; this.sname = sname; } @Generated(hash = 586692638) public User() { } }
package com.example.jingdongdeom.Activity; import android.content.Context; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.example.jingdongdeom.Bean.User; import com.example.jingdongdeom.Bean.ZSBean; import com.example.jingdongdeom.DaoMaster; import com.example.jingdongdeom.DaoSession; import com.example.jingdongdeom.R; import com.example.jingdongdeom.UserDao; import com.example.jingdongdeom.utils.BaseObserver; import com.example.jingdongdeom.utils.RetrofitManager; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class SerachActivity extends AppCompatActivity { private EditText editText; private XRecyclerView xRecyclerView; private UserDao userDao; private User user; private String sname; private List<String> list = new ArrayList<>(); private ListView lv; private Adapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_serach); editText = findViewById(R.id.edname); lv = findViewById(R.id.lv); //调取 DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this,"user_db"); SQLiteDatabase database = helper.getReadableDatabase(); DaoMaster daoMaster = new DaoMaster(database); DaoSession session = daoMaster.newSession(); userDao = session.getUserDao(); lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) { userDao.deleteByKey((long) i); list.remove(i); // adapter.notifyDataSetChanged(); lv.setAdapter(new Adapter(SerachActivity.this,list)); return false; } }); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { editText.setText(list.get(i).toString()); } }); List<User> users = userDao.loadAll(); if (users!=null){ for (int i=0;i<users.size();i++){ String sname = users.get(i).getSname(); list.add(sname); } lv.setAdapter(new Adapter(SerachActivity.this,list)); } } //搜索,添加数据库 public void serach(View view) { sname = editText.getText().toString(); user = new User(null, sname); long insert = userDao.insert(user); list.add(sname); adapter = new Adapter(SerachActivity.this, list); lv.setAdapter(adapter); } //删除 public void delete(View view) { userDao.deleteAll(); list.clear(); adapter = new Adapter(SerachActivity.this, list); lv.setAdapter(adapter); } class Adapter extends BaseAdapter{ Context context; List<String> list; public Adapter(Context context, List<String> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { TextView textView = new TextView(context); textView.setText(list.get(i)); return textView; } } }