public class MainActivity extends AppCompatActivity {
private ListView lv;
private List<Bitmap> bitmaps;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
//子线程中获取数据
new Thread(){
@Override
public void run() {
super.run();
bitmaps = getlist_item();
}
}.start();
//给listview设置适配器
lv.setAdapter(new BaseAdapter() {
@Override
public int getCount() {
//listview长度
return bitmaps.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null){
view = View.inflate(MainActivity.this,R.layout.list_item,null);
}
//找到控件,插入数据
ImageView iv = (ImageView) view.findViewById(R.id.iv);
iv.setImageBitmap(bitmaps.get(i));
return view;
}
});
}
public List<Bitmap> getlist_item() {
List<Bitmap> Bitmaplist = new ArrayList<Bitmap>();
try {
//获取网址(当前为其他网址可以使用)//网址有问题无法访问(可直接访问不可以用代码访问)
URL url = new URL("http://api.expoon.com/AppNews/getNewsList/type/1/p/1");
//获取urlConnection
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//使用urlConnection获取状态码
int responseCode = urlConnection.getResponseCode();
//判断状态是否成功链接
if (responseCode == 200){
//获取获取到InputStream流
InputStream inputStream = urlConnection.getInputStream();
//使用BufferedReader读取网页中的信息
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
//获取BufferedReader,用来得到json字符串
StringBuffer stringBuffer = new StringBuffer();
String line;
//循环读取存储到StringBuffer中
while((line = reader.readLine()) != null){
Log.e("getlist_item: ",line );
//json字符串
stringBuffer.append(line);
}
//获取gson
Gson gson = new Gson();
//将json串转换成Java对象
JavaBean javaBean = gson.fromJson(stringBuffer.toString(), JavaBean.class);
//循环读取Java对象中的信息
for (int i=0;i<javaBean.getData().getPc_feed_focus().size();i++){
//获得图片地址
String image_url = javaBean.getData().getPc_feed_focus().get(i).getImage_url();
URL imgurl = new URL("http:"+image_url);
//获取urlConnection
HttpURLConnection imgurlConnection = (HttpURLConnection) imgurl.openConnection();
//使用urlConnection获取状态码
int imgresponseCode = imgurlConnection.getResponseCode();
//判断是否成功连接
if (imgresponseCode == 200){
//获取获取到InputStream流
InputStream inputStream1 = imgurlConnection.getInputStream();
//使用BitmapFactory来处理得到图片
Bitmap bitmap = BitmapFactory.decodeStream(inputStream1);
//放入图片集合
Bitmaplist.add(bitmap);
}
}
}else {
}
//返回集合
return Bitmaplist;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
urlConnection的网络访问
最新推荐文章于 2021-08-13 05:39:51 发布