筆記

一佛舱、配置

1.修改gradle文件夾下的gradle-wrapper.properties修改為:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

2、在工程的buildgradle中導(dǎo)入

dependencies {

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'

}

3、在項目的buildgradle中導(dǎo)入

//導(dǎo)入插件

apply plugin: 'com.android.application'

apply plugin: 'org.greenrobot.greendao'

//在dependencies中添加如下代碼

dependencies {

compile 'org.greenrobot:greendao:3.2.2'

}

二眶痰、工具類

public classDaosingleton {private staticDaosingletondaosingleton;privateDaosingleton() {? ? }publicBookDao getdao(Context context) {? ? ? ? DaoMaster.DevOpenHelper devOpenHelper =newDaoMaster.DevOpenHelper(context,"students.db",null);? ? ? ? DaoMaster daoMaster =newDaoMaster(devOpenHelper.getReadableDb());? ? ? ? DaoSession daoSession = daoMaster.newSession();? ? ? ? BookDao studentsDao = daoSession.getBookDao();returnstudentsDao;? ? }public staticDaosingleton getDaosingleton() {if(daosingleton==null) {synchronized(Daosingleton.class) {if(daosingleton==null) {daosingleton=newDaosingleton();? ? ? ? ? ? ? ? }? ? ? ? ? ? }? ? ? ? }returndaosingleton;? ? }}

三、簡單使用

public classMain2ActivityextendsAppCompatActivityimplementsView.OnClickListener, AdapterView.OnItemLongClickListener {privateButtoninsert;privateProgressBarbar;privateListViewlistview;privateBookDaogetdao;privateMyAdaptermyAdapter;privateListlist=null;privatePopupWindowwindow;@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);? ? ? ? setContentView(R.layout.activity_main2);getdao= Daosingleton.getDaosingleton().getdao(Main2Activity.this);? ? ? ? initView();? ? ? ? initData();? ? }private voidinitPro(finalList list1) {? ? ? ? Handler handler=newHandler();? ? ? ? handler.postDelayed(newRunnable() {@Overridepublic voidrun() {? ? ? ? ? ? ? ? runOnUiThread(newRunnable() {@Overridepublic voidrun() {bar.setVisibility(View.GONE);myAdapter.notifys(list1);? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? });? ? ? ? ? ? }? ? ? ? },2000);? ? }private voidinitView() {insert= (Button) findViewById(R.id.insert);bar= (ProgressBar) findViewById(R.id.bar);listview= (ListView) findViewById(R.id.listview);/* initPro();*/insert.setOnClickListener(this);? ? }private voidinitData() {list=getdao.queryBuilder().build().list();myAdapter=newMyAdapter(Main2Activity.this,list);listview.setAdapter(myAdapter);myAdapter.notifys(list);listview.setOnItemLongClickListener(this);? ? }@Overridepublic voidonClick(View v) {switch(v.getId()) {caseR.id.insert:? ? ? ? ? ? ? ? Intent intent=newIntent(Main2Activity.this,Main3Activity.class);? ? ? ? ? ? ? ? startActivity(intent);break;? ? ? ? }? ? }@Overridepublic booleanonItemLongClick(AdapterView adapterView, View view,final inti,longl) {? ? ? ? View view1=View.inflate(Main2Activity.this,R.layout.view,null);window=newPopupWindow(view1,300,300);window.showAsDropDown(listview.getChildAt(i));window.setBackgroundDrawable(newColorDrawable(0));window.setOutsideTouchable(true);? ? ? ? Button updata=(Button) view1.findViewById(R.id.updata);? ? ? ? Button delete=(Button) view1.findViewById(R.id.delete);? ? ? ? delete.setOnClickListener(newView.OnClickListener() {@Overridepublic voidonClick(View view) {? ? ? ? ? ? ? ? Book book =list.get(i);myAdapter.de(book);getdao.delete(book);myAdapter.notifys(list);window.dismiss();? ? ? ? ? ? }? ? ? ? });? ? ? ? updata.setOnClickListener(newView.OnClickListener() {@Overridepublic voidonClick(View view) {? ? ? ? ? ? ? ? Book book =list.get(i);getdao.delete(book);myAdapter.de(book);? ? ? ? ? ? ? ? Intent intent=newIntent(Main2Activity.this,Main3Activity.class);? ? ? ? ? ? ? ? startActivity(intent);window.dismiss();? ? ? ? ? ? }? ? ? ? });return false;? ? }@Overrideprotected voidonResume() {super.onResume();list.clear();list=getdao.queryBuilder().list();? ? ? ? initPro(list);? ? }}

4温艇、

public classMyAdapterextendsBaseAdapter {privateContextcontext;privateListlist=newArrayList<>();privateViewHolderholder;privateBeanbean;publicMyAdapter(Context context, List list) {this.context= context;this.list= list;? ? }@Overridepublic intgetCount() {returnlist.size();? ? }@OverridepublicObject getItem(intposition) {returnlist.get(position);? ? }@Overridepublic longgetItemId(intposition) {returnposition;? ? }@OverridepublicView getView(intposition, View convertView, ViewGroup parent) {if(convertView ==null) {holder=newViewHolder();? ? ? ? ? ? convertView = View.inflate(context, R.layout.item,null);holder.name= (TextView) convertView.findViewById(R.id.name);holder.company= (TextView) convertView.findViewById(R.id.company);? ? ? ? ? ? convertView.setTag(holder);? ? ? ? }else{holder= (ViewHolder) convertView.getTag();? ? ? ? }bean=list.get(position);holder.name.setText(bean.getName());holder.company.setText(bean.getCompany());returnconvertView;? ? }static classViewHolder {? ? ? ? TextViewname;? ? ? ? TextViewcompany;? ? }public voidnotifys(List list1){this.list= list1;? ? ? ? notifyDataSetChanged();? ? }}

5鹅很、

public class MyAdapter extends RecyclerView.Adapter {

private final Context context;

private List list=new ArrayList<>();

private Listener listener;

public MyAdapter(Context context, List list3) {

this.context=context;

this.list=list3;

}

@Override

public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view=View.inflate(context,R.layout.item,null);

MyAdapter.ViewHordle holder=new MyAdapter.ViewHordle(view);

return holder;

}

@Override

public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {

MyAdapter.ViewHordle holder1= (MyAdapter.ViewHordle) holder;

holder1.name.setText(list.get(position).getName());

Glide.with(context)

.load(list.get(position).getFigure())

.error(R.drawable.d)

.into(holder1.tu);

holder.itemView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

listener.click(v,position);

}

});

}

@Override

public int getItemCount() {

return list.size();

}

class ViewHordle extends RecyclerView.ViewHolder{

ImageView tu;

TextView name;

public ViewHordle(View itemView) {

super(itemView);

tu= (ImageView) itemView.findViewById(R.id.images);

name= (TextView) itemView.findViewById(R.id.name);

}

}

public ?void setOnItemClickListener(Listener listener){

this.listener=listener;

}

interface Listener{

void click(View v,int position);

}

public void notifys(List list){

notifyDataSetChanged();

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市厚者,隨后出現(xiàn)的幾起案子躁劣,更是在濱河造成了極大的恐慌,老刑警劉巖库菲,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件账忘,死亡現(xiàn)場離奇詭異,居然都是意外死亡熙宇,警方通過查閱死者的電腦和手機鳖擒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烫止,“玉大人蒋荚,你說我怎么就攤上這事」萑洌” “怎么了期升?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長互躬。 經(jīng)常有香客問我播赁,道長,這世上最難降的妖魔是什么吼渡? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任容为,我火速辦了婚禮,結(jié)果婚禮上寺酪,老公的妹妹穿的比我還像新娘舟奠。我一直安慰自己,他們只是感情好房维,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布沼瘫。 她就那樣靜靜地躺著,像睡著了一般咙俩。 火紅的嫁衣襯著肌膚如雪耿戚。 梳的紋絲不亂的頭發(fā)上湿故,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音膜蛔,去河邊找鬼坛猪。 笑死,一個胖子當著我的面吹牛皂股,可吹牛的內(nèi)容都是我干的墅茉。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼呜呐,長吁一口氣:“原來是場噩夢啊……” “哼就斤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蘑辑,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤洋机,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后洋魂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绷旗,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年副砍,在試婚紗的時候發(fā)現(xiàn)自己被綠了衔肢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡豁翎,死狀恐怖角骤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谨垃,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布硼控,位于F島的核電站刘陶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏牢撼。R本人自食惡果不足惜匙隔,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望熏版。 院中可真熱鬧纷责,春花似錦、人聲如沸撼短。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曲横。三九已至喂柒,卻和暖如春不瓶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灾杰。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工蚊丐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艳吠。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓麦备,卻偏偏與公主長得像,于是被迫代替她去往敵國和親昭娩。 傳聞我的和親對象是個殘疾皇子凛篙,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容