private ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_main);
//获取控件
listview = findViewById(R.id.listview01);
AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
//获取一个路径
try {
URL url = new URL(path);
HttpURLConnection conenction = (HttpURLConnection) url.openConnection();
//设置提交方式
conenction.setRequestMethod("GET");
//设置延时
conenction.setReadTimeout(5 * 1000);
conenction.setConnectTimeout(5 * 1000);
//s获取响应码
int responseCode = conenction.getResponseCode();
//判断是否有数据
if (responseCode == 200) {
//拿到通过流传回来的数据
InputStream inputStream = conenction.getInputStream();
//转换成字符
String s = StreamToString(inputStream, "utf-8");
Log.i("你好", s);
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
javaBeanOne javaBeanOne = gson.fromJson(s, javaBeanOne.class);
final List<javaBeanOne.DataBean> data = javaBeanOne.getData();
final MyBaseAdapter myBaseAdapter = new MyBaseAdapter(Second.this, data);
DaoHelper daoHelper = new DaoHelper(Second.this);
//添加数据库
/*
for(int i=0;i<data.size();i++){
daoHelper.insert(data.get(i).getNews_title(),data.get(i).getPic_url());
}*/
listview.setAdapter(myBaseAdapter);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
data.remove(i);
myBaseAdapter.notifyDataSetChanged();
}
});
//查询数据库
List<User> select = daoHelper.select();
}
};
asyncTask.execute();
}
public String StreamToString(InputStream input, String charset) {try {
InputStreamReader inputStreamReader = new InputStreamReader(input, charset);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder builder = new StringBuilder();
String string;
while ((string = bufferedReader.readLine()) != null) {
builder.append(string);
}
Log.i("-----",builder.toString());
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
另外一个类
public class Imageutils {
// ImageView imageview;
public void ImagePath(final String path, final ImageView imageview){
AsyncTask<Void, Void, Bitmap> asyncTask = new AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... voids) {
//获取一个路径
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置提交方式
connection.setRequestMethod("GET");
//设置延时
connection.setReadTimeout(5 * 1000);
connection.setConnectTimeout(5 * 1000);
//s获取响应码
int responseCode = connection.getResponseCode();
//判断是否有数据
if (responseCode == 200) {
//拿到通过流传回来的数据
InputStream inputStream = connection.getInputStream();
Bitmap bit = BitmapFactory.decodeStream(inputStream);
return bit;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
imageview.setImageBitmap(bitmap);
}
};
asyncTask.execute();
}
}
适配器
public class MyBaseAdapter extends BaseAdapter{
Context context;
List<javaBeanOne.DataBean> data;
private viewHolder holder;
Imageutils imageutils = new Imageutils();
public MyBaseAdapter(Context context, List<javaBeanOne.DataBean> data) {
this.context =context;
this.data =data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int i) {
return data.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if(view == null){
view = View.inflate(context, R.layout.item_listview,null);
holder = new viewHolder();
holder.text01 = view.findViewById(R.id.textviewurl);
holder.image01 = view.findViewById(R.id.imageurl);
view.setTag(holder);
}else{
holder = (viewHolder) view.getTag();
}
//设置数据
holder.text01.setText(data.get(i).getNews_title());
new Imageutils().ImagePath(data.get(i).getPic_url(),holder.image01);
return view;
}
class viewHolder{
TextView text01;
ImageView image01;
}
}