判断是否有网络状态及数据库

MainActivity代码

package com.example.week01;

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

import bean.MyPhone;
import bean.NetworkUtils;
import bean.PhoneDao;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button get_btn;
private ListView lv;
private String mUrl="https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA";
private List<List<String>> mList=new ArrayList<List<String>>();
private MyAdapter myAdapter;
private SQLiteDatabase sd;
private PhoneDao dao;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
  /*  MyHelper helper = new MyHelper(MainActivity.this);
    sd = helper.getWritableDatabase();*/

    dao = new PhoneDao(MainActivity.this);
    //判断网络状态

    if (NetworkUtils.getNetwork(MainActivity.this)){
        Toast.makeText(MainActivity.this,"有网你玩吧",Toast.LENGTH_LONG).show();
        new Async().execute(mUrl);
    }
    else{
        Toast.makeText(MainActivity.this,"么有网",Toast.LENGTH_LONG).show();
        String s = dao.cursor();
        Gson gson = new Gson();
        MyPhone myPhone = gson.fromJson(s, MyPhone.class);
        myAdapter.setmList(myPhone.getResult());
/*mList.addAll(myPhone.getResult());
        myAdapter.notifyDataSetChanged();*/
    }
    myAdapter = new MyAdapter(MainActivity.this, mList);
    lv.setAdapter(myAdapter);
}
private void initView() {
    get_btn = (Button) findViewById(R.id.get_btn);
    lv = (ListView) findViewById(R.id.lv);
    get_btn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.get_btn:
            new Async().execute(mUrl);
            break;
    }
}
    class Async extends AsyncTask<String,Void,List<List<String>>>{

        @Override
        protected List<List<String>> doInBackground(String... strings) {
            try {
                String s = HttpUtils.get(strings[0]);
                Gson gson = new Gson();
            MyPhone myPhone = gson.fromJson(s, MyPhone.class);

               ContentValues contentValues = new ContentValues();
                contentValues.put("name",s);
                dao.insert(contentValues);
              /* *//* MyPhone myPhone = gson.fromJson(s, MyPhone.class);
                List<List<String>> result = myPhone.getResult(*//*);*/
                return myPhone.getResult();

            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute( List<List<String>> lists) {
            super.onPostExecute(mList);
           myAdapter.setmList(lists);
        }
    }

}
Dao层代码
package bean;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class PhoneDao {

private SQLiteDatabase sd;

public   PhoneDao(Context context){
    MyHelper helper = new MyHelper(context);
    sd = helper.getWritableDatabase();
}

//查询

public String cursor(){
    String s="";
    Cursor phone = sd.query("phone", null, null, null, null, null, null);
    while (phone.moveToNext()){
        s= phone.getString(phone.getColumnIndex("name"));
    }
    return  s;
}
public long insert(ContentValues con){

    long phone = sd.insert("phone", null, con);
    return phone;
}

}

猜你喜欢

转载自blog.csdn.net/weixin_43629061/article/details/84347591