MainActivity
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.AsyncTask;
import android.os.Bundle;
import android.renderscript.Sampler;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.InputStream;
import java.util.List;
/**
* Created by lenovo on 2017/09/02.
*/
public class Main extends Activity {
private Gson gson;
private ListView listView;
private List<Bean.DataBean> list;
private String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = findViewById(R.id.listview);
new My().execute("");
}
class My extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... strings) {
String string = "";
try {
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(path);
HttpResponse response = client.execute(httpGet);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
byte[] b = new byte[1024];
int l = 0;
while ((l = is.read(b)) != -1) {
String str = new String(b, 0, l);
string += str;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return string;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
gson = new Gson();
Bean bean = gson.fromJson(s, Bean.class);
list = bean.getData();
final MyAda myAda = new MyAda();
Myhelp myhelp = new Myhelp(Main.this);
final SQLiteDatabase database = myhelp.getWritableDatabase();
for (int i = 0; i < list.size(); i++) {
// 给字段赋值
ContentValues values = new ContentValues();
values.put("news_title", list.get(i).getNews_title());
values.put("pic_url", list.get(i).getPic_url());
// 执行数据库插入数据
database.insert("user", null, values);
}
listView.setAdapter(myAda);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
list.remove(i);
database.execSQL("delete from user where news_title = '" + list.get(i).getNews_title() + "'");
myAda.notifyDataSetChanged();
}
});
}
}
class MyAda extends BaseAdapter {
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
Hand hand = new Hand();
if (view == null) {
view = View.inflate(Main.this, R.layout.item, null);
hand = new Hand();
hand.te = view.findViewById(R.id.te);
hand.img = view.findViewById(R.id.img);
view.setTag(hand);
} else {
hand = (Hand) view.getTag();
}
hand.te.setText(list.get(i).getNews_title());
String pic_url = list.get(i).getPic_url();
ImageLoader il = ImageLoader.getInstance();
il.displayImage(pic_url, hand.img);
return view;
}
}
class Hand {
TextView te;
ImageView img;
}
class Myhelp extends SQLiteOpenHelper {
// public Myhelp(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
// super(context, name, factory, version, errorHandler);
// }
public Myhelp(Context context) {
super(context, "bwie.db", null, 1);//数据库名字
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table user(id Integer primary key autoincrement,news_title varchar,pic_url varchar)");//写建表语句
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
}