您的位置:首页 > 理论基础 > 计算机网络

网络访问数据并展示

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>
效果图:

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: