ListView获取网路链接展示接口信息

2024-03-06 03:20

本文主要是介绍ListView获取网路链接展示接口信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

例:




HttpURLConnection网络请求,
ImageLoader获取图片

在Module的build.gradle文件中添加依赖和属性配置(记得还有第三方共享的jar包要导):

dependencies {
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.google.code.gson:gson:2.2.4'
}


MainActivity类:
public class MainActivity extends AppCompatActivity {private ListView lv;private Handler myHandler=new Handler(){public void handleMessage(android.os.Message msg) {List<News.NewslistBean> lists= (List<News.NewslistBean>) msg.obj;MyAdapter myAdapter = new MyAdapter(MainActivity.this, lists);lv.setAdapter(myAdapter);};};@Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv = (ListView) findViewById(R.id.lv);new Thread(){public void run(){try {URL url=new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1");HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.setReadTimeout(5000);connection.setConnectTimeout(5000);int code=connection.getResponseCode();if(code==200){//5
                        InputStream inputStream = connection.getInputStream();String content=streamToString(inputStream);Gson gson=new Gson();News news = gson.fromJson(content, News.class);List<News.NewslistBean> newslist = news.getNewslist();Message msg=Message.obtain();msg.obj=newslist;myHandler.sendMessage(msg);}} catch (Exception e) {e.printStackTrace();}}}.start();}public String streamToString(InputStream is){StringBuilder builder=new StringBuilder();BufferedReader reader=new BufferedReader(new InputStreamReader(is));String con;try {while((con=reader.readLine())!=null){builder.append(con);}reader.close();} catch (Exception e) {e.printStackTrace();}return builder.toString();}
}
 

微笑微笑微笑activity_main

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.samsung.sfl10191.MainActivity">
<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/lv"
    ></ListView>
</android.support.constraint.ConstraintLayout>




微笑微笑微笑适配器MyAdapter类

public class MyAdapter extends BaseAdapter{Context con;List<News.NewslistBean> lists;public MyAdapter(Context con, List<News.NewslistBean> lists) {this.con=con;this.lists=lists;}@Override
    public int getCount() {return lists.size();}@Override
    public Object getItem(int position) {return lists.get(position);}@Override
    public long getItemId(int position) {return position;}@Override
    public View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;if(convertView==null){holder = new ViewHolder();convertView = View.inflate(con,R.layout.item,null);holder.img = (ImageView) convertView.findViewById(R.id.img);holder.title = (TextView) convertView.findViewById(R.id.tv_title);convertView.setTag(holder);}else{holder = (ViewHolder) convertView.getTag();}holder.title.setText(lists.get(position).getTitle());ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(con));ImageLoader.getInstance().displayImage(lists.get(position).getPicUrl().toString(),holder.img);return convertView;}class ViewHolder {TextView title;ImageView img;}
}
item 布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"><ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/img"/><TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_title"
        /></LinearLayout>


 

Bean类可以换成这个链接:http://www.xieast.com/api/news/news.php

(记得上面的链接也要一起换)

Bean类 News
public class News {/**
     * code : 200
     * msg : success
     * newslist : [{"ctime":"2017-10-19","title":"财新将全面收费 \u201c财新通\u201d问世","description":"健康点healthpoint","picUrl":"https://t1.qpic.cn/mblogpic/34d9dfb75cfceb04a840/2000","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371237&signature=UtWCCzY7cc41Os1d*zC5vmHTSC16K*ObDmVLSMPEGBGevaU7Iv7eS6lWazuYAmrmioKb2AjS70n6pAWLS1yVyP8GenoWkX3qSFotv90gnQY="},{"ctime":"2017-10-19","title":"A股重要时间窗,谁是最大赢家?近13亿元大单抢筹12只个股(名单)","description":"和讯股票","picUrl":"https://t1.qpic.cn/mblogpic/f01a972dbcc1060fd456/2000","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371236&signature=hS6p51Z3mxkZjPaoTF3reR8jhlW2icEP0ONmPGoAdBkFOcVHXTcweULe7X3LpeNBFji59GoaP0uRG04wsfO2JDMvoUqViS0m8Ox-ghygPJQ="},{"ctime":"2017-10-19","title":"【晨报健康】家长们注意!宝宝爱咬指甲是缺微量元素,还可能是心理问题","description":"许昌晨报","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-54523025.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371236&signature=V8REkzFTdHAoMo3X6rM49RadrAtk7uS-HPQzIy36kyO*o3smsFAMdueqRSzZMTbYOEXnxwVn7be5cKmY-IJ2zAZM8904iOzwbddRFaUtYOg="},{"ctime":"2017-10-19","title":"青山之恋 青春之恋 看《青恋》","description":"FM95浙江经济广播","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-34497627.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371236&signature=Dwg9MLnjMi*08GMHfMCv8hwga2zSWN5apJtgOY3grPqpPJ2MRT8OLPWNXt2Cb-HYjPySj5eZ*FX9IT*qQjWAx97cz-AB5DOcATs0hZCXr08="},{"ctime":"2017-10-19","title":"看完近40所热门民办幼升小3年面试真题,我发现英语应该这样准备","description":"金融辣妈","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-55332312.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371235&signature=SnczEF4q6JlHR9btdgUs8ZDTRbuccMx5veRDpiNeSYog9W6QVaZttSipOSi*KnHmRrACgRpj9Y-wqMMFMyNoIh3QO8F5-xgJyD0cCGuZCb0="},{"ctime":"2017-10-19","title":"【晨报生活】家里装了这种水龙头的都看看!必须马上清理","description":"许昌晨报","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-54453832.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371234&signature=vfXQVBJRwtCm72RJ0dEBeOxqJJl3vT1bqyLpFymEzjFxo0Pjh3-fTiYcYhhK9mG9p2sC2YQU8-nymSFtucyl64xxmlnjMzON0-o6kI5vxO0="},{"ctime":"2017-10-19","title":"小小常学成语| 囫囵吞枣","description":"常青藤爸爸","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-51774641.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371234&signature=hcOVVSRjeJdwbNTtxQ55l2T14sP7EEpBJPv8R6p9n2yZLwbhXLuI-Yv3*0*86P9pRYhJCl*b-HMGOFl3ef9cqqiJHl7qteBjdqnK9kak9co="},{"ctime":"2017-10-19","title":"中国真的是发展中国家?答案残忍,让无数西方人满身冷汗!","description":"墨者善狩","picUrl":"https://zxpic.gtimg.com/infonew/0/wechat_pics_-54993853.jpg/640","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371233&signature=LmfrXWxk3w2nIcCR16IgPp0g5ZikcS77PIKePd41n5OaiXUooVs4Bhk1kZ2nvR7bfst2MX8VgUj7jIDP12MEGq7z5wlS*tsPMjTVCS-HGDk="},{"ctime":"2017-10-19","title":"橡胶:企稳上涨还需时日","description":"期货日报","picUrl":"https://t1.qpic.cn/mblogpic/f01a972dbcc1060fd456/2000","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371233&signature=28obULKpBc*Z84dxynArFR*6yzY0JRqq9P6mAUdbYcxOZWHsyQHI*SwsztAzBZkWH8TffGCcPu6FfHHy8kiLk3jAmlurnbNKobV61PbuFdM="},{"ctime":"2017-10-19","title":"下游需求良好,市场购销活跃:国内新产大豆量增价升","description":"期货日报","picUrl":"https://t1.qpic.cn/mblogpic/f01a972dbcc1060fd456/2000","url":"https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371233&signature=M-y2V58Cp1wLX41cJtGT1vs3Ua4VKArCEbp9yBzO3*ZraloJOhYoCAgv3JiE7q-cMG2KJH41nqs2JTOR3LLbLhxOITSx6HRtEUznPEiW8l8="}]
     */

    private int code;private String msg;private List<NewslistBean> newslist;public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public List<NewslistBean> getNewslist() {return newslist;}public void setNewslist(List<NewslistBean> newslist) {this.newslist = newslist;}public static class NewslistBean {/**
         * ctime : 2017-10-19
         * title : 财新将全面收费 财新通问世
         * description : 健康点healthpoint
         * picUrl : https://t1.qpic.cn/mblogpic/34d9dfb75cfceb04a840/2000
         * url : https://mp.weixin.qq.com/s?src=16&ver=435&timestamp=1508371237&signature=UtWCCzY7cc41Os1d*zC5vmHTSC16K*ObDmVLSMPEGBGevaU7Iv7eS6lWazuYAmrmioKb2AjS70n6pAWLS1yVyP8GenoWkX3qSFotv90gnQY=
         */

        private String ctime;private String title;private String description;private String picUrl;private String url;public String getCtime() {return ctime;}public void setCtime(String ctime) {this.ctime = ctime;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public String getPicUrl() {return picUrl;}public void setPicUrl(String picUrl) {this.picUrl = picUrl;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}}
}

这篇关于ListView获取网路链接展示接口信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778721

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2