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;
}
}