package com.example.zhuhuohuo;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import com.example.zhuhuohuo.adpter.MyAdapter;
import com.example.zhuhuohuo.bean.User;
import com.example.zhuhuohuo.dao.sqldao;
import com.example.zhuhuohuo.utiles.HttpUtils;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private String mUrl = "https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA";
private Button hq_btn;
private ListView show_lv;
private MyAdapter mAdapter;
private List<List<String>> mList = new ArrayList<>();
private sqldao sqldao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
//异步
mAdapter = new MyAdapter(MainActivity.this,mList);
show_lv.setAdapter(mAdapter);
show_lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher_background);
builder.setTitle("系统提示");
builder.setMessage("确认要删除吗?");
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mList.remove(position);
mAdapter.notifyDataSetChanged();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog creat = builder.create();
creat.show();
}
});
sqldao = new sqldao(MainActivity.this);
if (sqldao.selectData().isEmpty()){
new MyTask().execute(mUrl);
}else {
String json = sqldao.selectData();
Gson gson = new Gson();
User user = gson.fromJson(json, User.class);
mList.addAll(user.getResult());
mAdapter.notifyDataSetChanged();
}
}
private void initView() {
show_lv = (ListView) findViewById(R.id.show_lv);
}
@Override
public void onClick(View v) {
}
//定义一个类继承AsyncTask
class MyTask extends AsyncTask<String, Void, List<List<String>>> {
@Override
protected List<List<String>> doInBackground(String... strings) {
String data = HttpUtils.getData(strings[0]);
Gson gson = new Gson();
User user = gson.fromJson(data, User.class);
ContentValues contentValues = new ContentValues();
contentValues.put("json",data);
sqldao.insertData(contentValues);
return user.getResult();
}
@Override
protected void onPostExecute(List<List<String>> lists) {
super.onPostExecute(lists);
mList.addAll(lists);
mAdapter.notifyDataSetChanged();
}
}
}