网络访问数据并展示
2017-10-18 08:59
85 查看
权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
重点:
android:name=".MyApp"
导包:
compile 'com.squareup.okio:okio:1.5.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' compile 'com.google.code.gson:gson:2.8.2' compile 'com.android.support:mediarouter-v7:25.0.0' compile 'com.android.support:appcompat-v7:25.0.0' compile 'com.android.support:recyclerview-v7:25.0.0' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
代码如下:
public class Shouye extends Fragment { private ImageView tu1,tu2; private EditText et;
String mpath = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; //定义RecyclerView private RecyclerView mRecyclerView; //在封装的实体类中找到集合的那个类作为泛型 private List<MySurperClass.DataBean> mDatas; //适配器 private HomeAdapter mAdapter; //实例化ImageLoader ImageLoader instance; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.shouye, null); tu1 = (ImageView) view.findViewById(id.tu1); tu2 = (ImageView) view.findViewById(id.tu2); et = (EditText) view.findViewById(id.et); //记住 mDatas=new ArrayList<>(); mRecyclerView = (RecyclerView) view.findViewById(R.id.id_recyclerview); boolean newtWorkAvailable = NetWorkUtils.isNetWorkAvailable(getActivity()); if (!newtWorkAvailable) { Toast.makeText(getActivity(), "点击", Toast.LENGTH_SHORT).show(); } getdata(); return view; } public void getdata() { //mRecyclerView做出listview布局 实现效果 mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); //使用okhttp实现页面 OkHttp3Utils.getInstance().doGet(mpath, new GsonObjectCallback<MySurperClass>() { @Override public void onUi(MySurperClass mySurperClass) { mDatas=mySurperClass.getData(); HomeAdapter mAdapter = new HomeAdapter(); mRecyclerView.setAdapter(mAdapter); } @Override public void onFailed(Call call, IOException e) { } }); } //适配器 class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder> { @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from( getActivity()).inflate(R.layout.item, parent, false)); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(mDatas.get(position).getNews_title()); String image = mDatas.get(position).getPic_url(); instance= ImageLoader.getInstance(); instance.displayImage(image,holder.iv); } @Override public int getItemCount() { return mDatas.size(); } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; ImageView iv; public MyViewHolder(View view) { super(view); tv = (TextView) view.findViewById(R.id.id_num); iv = (ImageView) view.findViewById(R.id.img); } }
xml文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#f00" android:orientation="vertical"> <LinearLayout android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/tu1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_normal_code" /> <EditText android:id="@+id/et" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="搜索一下" android:drawableRight="@drawable/ic_edit_search" android:layout_weight="0.98"/> <ImageView android:id="@+id/tu2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_goods_kefu" /> </LinearLayout> <android.support.v7.widget.RecyclerView android:layout_below="@+id/ll" android:id="@+id/id_recyclerview" android:divider="#ffff0000" android:dividerHeight="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>效果图:
相关文章推荐
- 使用HttpURLConnection访问网络接口,展示列表数据
- 封装项目整体架构,访问网络数据,展示列表数据,根据图片数量的不同来多条目加载,使用Universal-Image-Loader进行图片加载
- ListView多条目展示 请求网络数据 和图片
- 1.使用java.net.URL类访问网络数据
- android之访问网络获取网页数据并存入数据库
- 网络访问之json数据解析
- html5_AngularJs访问网络数据ajax
- android_网络判断,Greendao,retrofit,eventbus结合展示数据
- WEEK2--DrawerLayout 和 ListView 获取网络数据并展示
- 搜索网络影视图片数据,展示为无限轮播图+ImageLoader
- 网络请求+ListView展示数据+数据库
- Beginning Silverlight 4 in C#-数据访问和网络
- Ajax处理XML,XMLHttpRequest对象的创建和访问servlet并返回xml数据到页面展示
- 访问有用户名和密码的网络共享,实现数据导入
- Android之ListView访问网络数据
- 解析网络json数据并展示到ListView上
- xListView主页面请求网络数据展示到listView的三个步骤
- 主机1访问主机2时数据在二层网络的流程。
- 使用 Xlistview 展示网络请求数据
- Android_请求网络数据展示到Listview