Xutils的使用和listview的显示网络数据
来源:互联网 发布:经典网络歌曲 编辑:程序博客网 时间:2024/05/22 06:10
1:在build.gradle中注册:一个是xutils的,一个是gson解析的,一个是glide显示图片的
compile 'org.xutils:xutils:3.5.0' compile 'com.google.code.gson:gson:2.8.1' compile 'com.github.bumptech.glide:glide:4.0.0'2:在AndroidManifest.xml中注册网络权限
compile 'org.xutils:xutils:3.5.0' compile 'com.google.code.gson:gson:2.8.1' compile 'com.github.bumptech.glide:glide:4.0.0'3:自定义App类继承 Application,实现oncreate方法,然后在AndroidManifest.xml中关联上@Overridepublic void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(BuildConfig.DEBUG);}4:根据接口请求数据,得到的json串用来创建解析的bean类
5:主main类6:适配器类package text.bwie.com.gong2;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.widget.ListView;import com.google.gson.Gson;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.view.annotation.ContentView;import org.xutils.view.annotation.ViewInject;import org.xutils.x;import java.util.ArrayList;import java.util.List;//通过xutils的解析方式,可以用@ContentView(R.layout.activity_main)来代替setContentView(R.layout.activity_main);@ContentView(R.layout.activity_main)public class MainActivity extends AppCompatActivity { // @ViewInject(R.id.listview)来代替findviewbyid @ViewInject(R.id.listview) private ListView listview; private MyAdapter adapter;//集合的泛型要定义成自己的json解析的bean类 private List<Bean.DataBean> arr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); x.view().inject(this); //创建集合 arr=new ArrayList<>(); //创建适配求 adapter=new MyAdapter(this,arr); listview.setAdapter(adapter);loadData(); } private void loadData() { //请求网络接口 RequestParams params=new RequestParams("放入自己的网络接口"); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { //在主线程中 // Log.e("onSuccess","onSuccess"+result); Gson gson=new Gson(); //解析适配器 result就是网络请求下来的json串 Bean bean = gson.fromJson(result, Bean.class); // Log.e("onSuccess","onSuccess"+bean); //将解析的json串加入集合 arr.addAll(bean.getData()); //刷新适配器 adapter.notifyDataSetChanged(); } @Override public void onError(Throwable ex, boolean isOnCallback) { //发生错误 Log.e("onError","onError"+ex.getMessage()); } @Override public void onCancelled(CancelledException cex) { //用户取消 } @Override public void onFinished() { //完成 } }); }}
package text.bwie.com.gong2;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.bumptech.glide.Glide;import org.xutils.view.annotation.ViewInject;import org.xutils.x;import java.util.List;/** * 类描述: * 姓名 :刘希鑫 */public class MyAdapter extends BaseAdapter { private Context context; private List<Bean.DataBean> arr; public MyAdapter(Context context,List<Bean.DataBean> arr){ this.context = context; this.arr = arr; } @Override public int getCount() { return arr==null?0:arr.size(); } @Override public Object getItem(int i) { return arr.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHodle hodle; if (view==null){ view=View.inflate(context,R.layout.list_layout,null); hodle=new ViewHodle();// hodle.name=view.findViewById(R.id.name);// hodle.url=view.findViewById(R.id.url); x.view().inject(hodle,view); view.setTag(hodle); }else { hodle= (ViewHodle) view.getTag(); } Bean.DataBean bean=arr.get(i); hodle.name.setText(bean.getName()); Glide.with(context).load(bean.getUrl()).into(hodle.url); return view; } class ViewHodle{ @ViewInject(R.id.name) TextView name; @ViewInject(R.id.url) ImageView url; }}
阅读全文
0 0
- Xutils的使用和listview的显示网络数据
- XUtils的网络请求使用
- Android 事务操作和数据显示(ListView的使用)
- 使用ListView显示数据库的数据
- ListView请求网络数据的使用
- xutils网络框架的最简单使用
- ListView AsynTask异步加载网络Json格式数据和图片显示的优化
- Android网络框架xUtils的Http网络数据请求操作
- HttpURLConnection、HttpClient请求网络数据、Xutils的HttpUtils 请求数据
- xUtils获取数据 + ListView显示数据 + 进度条对话框
- xUtils获取数据 + ListView显示数据 + 进度条对话框
- Xutils和Volley请求服务器的使用
- Xutils和Xutils3的基本使用
- Android Xutils和Xutils3的基本使用
- XUtils结合使用的登录和注册
- ListView显示数据库的数据-SimpleCursorAdapter的使用
- 网络请求数据之XUtils和Volley
- DataList和ListView数据控件的使用
- 【买房攻略之菜鸟篇】买房挑户型基础知识,教你如何挑选户型!
- 既可以判断正数、负数、小数的正则表达式
- ReactNative判断网络状态
- HDOJ 2571 命运(动态规划)
- 元素的介绍
- Xutils的使用和listview的显示网络数据
- Android开发常用网址
- QT5知识点记录梳理(一)
- hdu 3635(并查集的应用)
- openresty招聘
- Java的反射机制
- 融云发布公告:五大高级功能将全面开放
- windows配置thrift开发环境
- 用C代码写贪吃蛇游戏--打印食物