//retrofit+Rxjvav 解析到数据库 private Toolbar tobar; private ListView lv; private List<DatasBean> list; private List<DatasBean> Mist=new ArrayList<>(); private com.example.ti1.listAdter listAdter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); intoRxjava(); query(); } private void query() { Mist.clear(); List<DatasBean> list = Utis.getUtis(MainActivity.this).getMaster().queryBuilder().list(); Mist.addAll(list); listAdter.notifyDataSetChanged(); } private void intoRxjava() { Retrofit retrofit = new Retrofit.Builder().baseUrl(URL.UrlStr) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); jiexi jiexi = retrofit.create(jiexi.class); Observable<Ben> rxjava = jiexi.getRxjava(); rxjava.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<Ben>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { Log.e("TAG","onError-----------"); } @Override public void onNext(Ben ben) { String s = ben.toString(); Log.e("TAG",ben.getData().getStatus()+"4444444444444444444444444444444444444444"); list = ben.getData().getDatas(); Utis.getUtis(MainActivity.this).getMaster().insertInTx(list); List<DatasBean> list = Utis.getUtis(MainActivity.this).getMaster().queryBuilder().list(); Mist.addAll(list); listAdter.notifyDataSetChanged(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu,menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.zeng: tianjia(); break; case R.id.shan: shuanchu(); break; case R.id.cha: chaxun(); break; case R.id.xiu: xiugai(); break; case R.id.shuju: startActivity(new Intent(MainActivity.this,TwoActivity.class)); break; } return super.onOptionsItemSelected(item); } private void tianjia() { Intent intent = new Intent(MainActivity.this,tianjianActivity.class); startActivityForResult(intent,100); } private void xiugai() { int i = Mist.size() - 2; Intent intent=new Intent(MainActivity.this,xiugaiActivity.class); intent.putExtra("i",i); startActivityForResult(intent,1); } private void chaxun() { int size = Mist.size(); DatasBean datasBean = Mist.get(size - 3); String displayName = datasBean.getDisplayName(); Toast.makeText(MainActivity.this, displayName+"", Toast.LENGTH_SHORT).show(); } private void shuanchu() { int size = Mist.size(); Utis.getUtis(MainActivity.this).getMaster().delete(Mist.get(size-1)); Mist.remove(size-1); listAdter.notifyDataSetChanged(); } private void initView() { tobar = (Toolbar) findViewById(R.id.tobar); lv = (ListView) findViewById(R.id.lv); setSupportActionBar(tobar); listAdter = new listAdter(Mist,MainActivity.this); lv.setAdapter(listAdter); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==1&&resultCode==2){ int i = Mist.size() - 2; DatasBean datasBean = Mist.get(i); String zhang = data.getStringExtra("zhang"); String mi = data.getStringExtra("mi"); datasBean.setBriefShow(mi); datasBean.setDisplayName(zhang); Utis.getUtis(MainActivity.this).getMaster().update(datasBean); listAdter.notifyDataSetChanged(); } if (requestCode==100&&resultCode==200){ String etzhang = data.getStringExtra("etzhang"); String etmi = data.getStringExtra("etmi"); Utis.getUtis(MainActivity.this).getMaster().insert(new DatasBean(null,etzhang,etmi)); listAdter.notifyDataSetChanged(); } query(); }
//retrofit接口类 public interface jiexi { @GET("cniaoplay/featured2?p={\"page\":0}") Observable<Ben> getRxjava(); }
//修改数据库 跳转页面 private EditText zhang; private EditText mi; private Button xiu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xiugai); initView(); } private void initView() { zhang = (EditText) findViewById(R.id.zhang); mi = (EditText) findViewById(R.id.mi); xiu = (Button) findViewById(R.id.xiu); xiu.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.xiu: submit(); break; } } private void submit() { // validate String zhangString = zhang.getText().toString().trim(); if (TextUtils.isEmpty(zhangString)) { Toast.makeText(this, "zhangString不能为空", Toast.LENGTH_SHORT).show(); return; } String miString = mi.getText().toString().trim(); if (TextUtils.isEmpty(miString)) { Toast.makeText(this, "miString不能为空", Toast.LENGTH_SHORT).show(); return; } // Intent intent = getIntent(); // int i = intent.getIntExtra("i", 1); Intent intent1 = new Intent(); intent1.putExtra("zhang",zhangString); intent1.putExtra("mi",miString); //intent1.putExtra("ii",i); setResult(2,intent1); finish(); }
//跳转添加数据库 private EditText et_zhang; private EditText et_mi; private Button tian; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tianjian); initView(); } private void initView() { et_zhang = (EditText) findViewById(R.id.et_zhang); et_mi = (EditText) findViewById(R.id.et_mi); tian = (Button) findViewById(R.id.tian); tian.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.tian: submit(); break; } } private void submit() { // validate String zhang = et_zhang.getText().toString().trim(); if (TextUtils.isEmpty(zhang)) { Toast.makeText(this, "zhang不能为空", Toast.LENGTH_SHORT).show(); return; } String mi = et_mi.getText().toString().trim(); if (TextUtils.isEmpty(mi)) { Toast.makeText(this, "mi不能为空", Toast.LENGTH_SHORT).show(); return; } Intent intent = getIntent(); intent.putExtra("etzhang",zhang); intent.putExtra("etmi",mi); setResult(200,intent); Log.e("TAG",zhang); Log.e("TAG",mi); finish(); }
//添加依赖 compile 'io.reactivex:rxjava:1.0.14' compile 'io.reactivex:rxandroid:1.0.1' compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' compile 'com.google.code.gson:gson:2.8.1' compile 'com.android.support:design:25.3.1'
//添加数据库的配置
apply plugin: 'com.android.application' //添加 apply plugin: 'org.greenrobot.greendao'
android { compileSdkVersion 25 buildToolsVersion "26.0.1" // greendao{ schemaVersion 1 daoPackage 'com.example.a666.shujuku.dao' targetGenDir 'src/main/java' } // defaultConfig { applicationId "com.example.ti1" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" } // buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // }
//在项目配置中 添加: classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0' buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }