package activity.example.com.day;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.view.menu.BaseMenuPresenter;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import org.w3c.dom.Text;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import activity.example.com.day.com.bawei.bean.Bean;
import activity.example.com.day.com.bawei.bean.Bean2;
import activity.example.com.day.com.bawei.bean.Data;
public class Main2Activity extends AppCompatActivity {
private ListView lv;
private String urll;
private Gson gson;
List<Data> list = new ArrayList<Data>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
lv = (ListView)findViewById(R.id.lv);
ass();
}
public String ass(){
new Thread(){
private StringBuilder builder;
@Override
public void run() {
super.run();
try {
URL url = new URL("http://api.expoon.com/AppNews/getNewsList/type/1/p/1");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int code = urlConnection.getResponseCode();
if(code==200) {
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream));
builder = new StringBuilder();
String s = "";
while ((s = bf.readLine()) != null) {
builder.append(s);
}
Message message = Message.obtain();
message.obj=builder.toString();
Handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
return null;
}
Handler Handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
gson = new Gson();
Bean bean = gson.fromJson((String) msg.obj, Bean.class);
List<Data> data = bean.getData();
for(int i=0;i<data.size();i++){
list.add(new Data(data.get(i).getNews_id(),data.get(i).getNews_summary(),data.get(i).getNews_title(),data.get(i).getPic_url()));
}
lv.setAdapter(new Adapter());
}
};
class Adapter 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;
}
class ViewHowder{
ImageView img;
TextView tv;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
Data data = list.get(i);
ViewHowder howder = new ViewHowder();
if(view==null){
view=View.inflate(Main2Activity.this,R.layout.lv,null);
howder.img = (ImageView) view.findViewById(R.id.imageView2);
howder.tv = (TextView)view.findViewById(R.id.textView);
view.setTag(howder);
}else{
howder = (ViewHowder) view.getTag();
}
howder.tv.setText(data.getNews_title());
new MyASynctask(howder.img).execute(data.getPic_url());
return view;
}
}
class MyASynctask extends AsyncTask<String,Void,Bitmap>{
private ImageView img;
private Bitmap bitmap;
public MyASynctask(ImageView img){
this.img=img;
}
@Override
protected Bitmap doInBackground(String... strings) {
try {
URL url = new URL(strings[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
bitmap = BitmapFactory.decodeStream(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
img.setImageBitmap(bitmap);
}
}
}
获取网络字符串及图片
最新推荐文章于 2024-07-06 20:32:26 发布