json解析文件

来源:互联网 发布:人工智能带来的便利 编辑:程序博客网 时间:2024/06/11 13:04

main

<android.support.v4.widget.DrawerLayout    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:id="@+id/drawer_layout"    android:layout_height="match_parent"    tools:context="com.example.hello.mylianxiyuekao.MainActivity">    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        >        <FrameLayout            android:layout_width="match_parent"            android:layout_height="match_parent"            android:id="@+id/frame_layout"            android:layout_above="@+id/radio_group"            >        </FrameLayout>        <RadioGroup            android:id="@+id/radio_group"            android:layout_alignParentBottom="true"            android:orientation="horizontal"            android:layout_width="match_parent"            android:layout_height="40dp"            >            <RadioButton                android:id="@+id/rb1"                android:button="@null"                android:gravity="center"                android:clickable="true"                android:padding="10dp"                android:background="@drawable/radio_selector"                android:layout_width="wrap_content"                android:layout_weight="1"                android:layout_height="match_parent" />            <RadioButton                android:id="@+id/rb2"                android:button="@null"                android:gravity="center"                android:clickable="true"                android:padding="10dp"                android:background="@drawable/radio_selector2"                android:layout_width="wrap_content"                android:layout_weight="1"                android:layout_height="match_parent" />            <RadioButton                android:id="@+id/rb3"                android:button="@null"                android:gravity="center"                android:clickable="true"                android:padding="10dp"                android:background="@drawable/xlistview_arrow"                android:layout_width="wrap_content"                android:layout_weight="1"                android:layout_height="match_parent" />            <RadioButton                android:id="@+id/rb4"                android:button="@null"                android:gravity="center"                android:clickable="true"                android:padding="10dp"                android:background="@drawable/radio_selector3"                android:layout_width="wrap_content"                android:layout_weight="1"                android:layout_height="match_parent" />        </RadioGroup>    </RelativeLayout>    <RelativeLayout        android:background="#ffffff"        android:id="@+id/drawer_relative"        android:layout_gravity="left"        android:layout_width="200dp"        android:layout_height="match_parent">        <ImageView            android:id="@+id/image_touxiang"            android:layout_centerHorizontal="true"            android:layout_margin="10dp"            android:src="@mipmap/ic_launcher"            android:layout_width="80dp"            android:layout_height="80dp" />        <TextView            android:layout_marginTop="80dp"            android:layout_width="match_parent"            android:layout_height="40dp"            android:text="客服热线"/>        <TextView            android:layout_marginTop="120dp"            android:layout_width="match_parent"            android:layout_height="40dp"            android:text="客服热线"/>        <TextView            android:layout_marginTop="160dp"            android:layout_width="match_parent"            android:layout_height="40dp"            android:text="客服热线"/>        <TextView            android:layout_marginTop="200dp"            android:layout_width="match_parent"            android:layout_height="40dp"            android:text="客服热线"/>    </RelativeLayout></android.support.v4.widget.DrawerLayout>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++home
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:background="#135"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent">    <android.support.design.widget.TabLayout        android:id="@+id/tab"        app:tabGravity="center"        app:tabIndicatorColor="@color/colorAccent"        app:tabMode="scrollable"        app:tabSelectedTextColor="@color/colorPrimaryDark"        app:tabTextColor="@color/colorPrimary"        android:layout_width="match_parent"        android:layout_height="40dp">    </android.support.design.widget.TabLayout>    <android.support.v4.view.ViewPager        android:id="@+id/view_pager"        android:layout_width="match_parent"        android:layout_height="match_parent"        >    </android.support.v4.view.ViewPager></LinearLayout>
++++++++++++++++++++++++++++++++++++++++++++++++++++++
faxian
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:background="#f89"    android:layout_width="match_parent"    android:layout_height="match_parent"></LinearLayout>++++++++++++++++++++++++++++++++++++++++++++++++++++++++hushen
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:background="#a18"    android:layout_width="match_parent"    android:layout_height="match_parent">    <com.handmark.pulltorefresh.library.PullToRefreshListView        xmlns:ptr="http://schemas.android.com/apk/res-auto"        android:layout_height="match_parent"        android:layout_width="match_parent"        android:id="@+id/hushen_list_view"        ptr:ptrDrawable="@drawable/default_ptr_flip"        ptr:ptrAnimationStyle="flip"        ptr:ptrHeaderBackground="#383838"        ptr:ptrHeaderTextColor="#FFFFFF"  >    </com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
bankuai
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:background="#f89"    android:layout_width="match_parent"    android:layout_height="match_parent">    <com.handmark.pulltorefresh.library.PullToRefreshListView        xmlns:ptr="http://schemas.android.com/apk/res-auto"        android:layout_height="match_parent"        android:layout_width="match_parent"        android:id="@+id/bankuai_list_view"        ptr:ptrDrawable="@drawable/default_ptr_flip"        ptr:ptrAnimationStyle="flip"        ptr:ptrHeaderBackground="#383838"        ptr:ptrHeaderTextColor="#FFFFFF"  >    </com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
zhishu
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:background="#e06"    android:layout_width="match_parent"    android:layout_height="match_parent">    <com.handmark.pulltorefresh.library.PullToRefreshListView        xmlns:ptr="http://schemas.android.com/apk/res-auto"        android:layout_height="match_parent"        android:layout_width="match_parent"        android:id="@+id/zhishu_list_view"        ptr:ptrDrawable="@drawable/default_ptr_flip"        ptr:ptrAnimationStyle="flip"        ptr:ptrHeaderBackground="#383838"        ptr:ptrHeaderTextColor="#FFFFFF"  >    </com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ganggu
<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:background="#a44"    android:layout_width="match_parent"    android:layout_height="match_parent">    <com.handmark.pulltorefresh.library.PullToRefreshListView        xmlns:ptr="http://schemas.android.com/apk/res-auto"        android:layout_height="match_parent"        android:layout_width="match_parent"        android:id="@+id/ganggu_list_view"        ptr:ptrDrawable="@drawable/default_ptr_flip"        ptr:ptrAnimationStyle="flip"        ptr:ptrHeaderBackground="#383838"        ptr:ptrHeaderTextColor="#FFFFFF"  >    </com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
item_img_layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal"    android:padding="10dp"    android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:id="@+id/image_view"        android:layout_width="100dp"        android:layout_height="100dp" />    <TextView        android:id="@+id/text_title"        android:layout_width="0dp"        android:layout_weight="1"        android:layout_height="wrap_content" /></LinearLayout>
++++++++++++++++++++++++++++++++++++++++++++++++++++++
item_text_layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:padding="10dp"    android:layout_width="match_parent"    android:layout_height="match_parent">    <TextView        android:id="@+id/text_title"        android:layout_width="wrap_content"        android:layout_weight="1"        android:layout_height="wrap_content" /></LinearLayout>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class MainActivity extends AppCompatActivity {    private DrawerLayout dl;    private RelativeLayout rl;    private List<DataDataBean.DataBean> list = new ArrayList<>();    private MyAdapter myAdapter;    private int page_num=1;    private RadioGroup radioGroup;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        radioGroup = (RadioGroup) findViewById(R.id.radio_group);        dl = (DrawerLayout) findViewById(R.id.drawer_layout);        //主内容区域的布局        //抽屉布局        rl = (RelativeLayout) findViewById(R.id.drawer_relative);        ImageView imageView=(ImageView)findViewById(R.id.image_touxiang) ;        imageView.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                dl.closeDrawer(rl);            }        });        //设置点击事件        //抽屉的监听事件        dl.setDrawerListener(new DrawerLayout.DrawerListener() {            /**             *             * @param drawerView             * @param slideOffset 表示的抽屉拖出来的宽度,,像素值             */            @Override            public void onDrawerSlide(View drawerView, float slideOffset) {            }            /**             * 抽屉打开了             * @param drawerView             */            @Override            public void onDrawerOpened(View drawerView) {            }            /**             * 抽屉关闭             * @param drawerView             */            @Override            public void onDrawerClosed(View drawerView) {            }            /**             * 抽屉的状态改变             *             * idle -- 表示与导航视图没有交互,静止             dragging -- 表示目前有与导航视图的交互,拖拽的状态             settling -- 表示有与导航视图的交互,并且导航视图正在关闭或打开             * @param newState             */            @Override            public void onDrawerStateChanged(int newState) {                Log.i("zhaungtai---",newState+"---");            }        });        //默认显示        getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new Fragmenthome()).commit();        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup radioGroup, int i) {                switch (i){                    case R.id.rb1:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new Fragmenthome()).commit();                        break;                    case R.id.rb2:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new Fragmentxiangfa()).commit();                        break;                    case R.id.rb3:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new Fragmentxiazai()).commit();                        break;                    case R.id.rb4:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new Fragmentuser()).commit();                        break;                    default:                        break;                }            }        });    }}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class Fragmenthome extends Fragment {    private TabLayout tabLayout;    private ViewPager viewPager;    private List<String> list;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.home,container,false);        tabLayout = view.findViewById(R.id.tab);        viewPager =view.findViewById(R.id.view_pager);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        list = new ArrayList<>();        list.add("沪深");        list.add("板块");        list.add("指数");        list.add("港股");        list.add("新三板");        list.add("商品");        list.add("更新");        //设置适配器        viewPager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {            @Override            public CharSequence getPageTitle(int position) {                return list.get(position);            }            @Override            public Fragment getItem(int position) {                Fragment fragment = null;                switch (position) {                    case 0:                        fragment = new Fragmenthushen();                        break;                    case 1:                        fragment = new Fragmentbankuai();                        break;                    case 2:                        fragment = new Fragmentzhishu();                        break;                    case 3:                        fragment = new Fragmentganggu();                        break;                    case 4:                        fragment = new Fragmentxinsanban();                        break;                    case 6:                        fragment = new Fragmentgengxin();                        break;                    case 5:                        fragment = new Fragmentsangpin();                        break;                    default:                        break;                }                return fragment;            }            @Override            public int getCount() {                return list.size();            }        });        //关联        tabLayout.setupWithViewPager(viewPager);        viewPager.setOffscreenPageLimit(list.size());    }}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class Fragmentuser extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.user,container,false);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);    }}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//http://mnews.gw.com.cn/wap/data/news/news/mobile/jbgg/page_1.json/** *  */public class Fragmenthushen extends Fragment {    private PullToRefreshListView refreshListView;    private List<DataDataBean.DataBean> list = new ArrayList<>();    private MyAdapter myAdapter;    private int page_num = 1;    private ILoadingLayout startLabels;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.hushen_view,container,false);        refreshListView = view.findViewById(R.id.hushen_list_view);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        //1.设置listView的适配器        getDataFromNet();        //2.设置刷新模式        /*设置pullToRefreshListView的刷新模式,BOTH代表支持上拉和下拉,PULL_FROM_END代表上拉,PULL_FROM_START代表下拉 */        refreshListView.setMode(PullToRefreshBase.Mode.BOTH);        //3.通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别(也就是设置向下拉的时候头部里面显示的文字)        //此时这里设置的是下拉刷新的时候显示的文字,所以第一个设置true表示现在是刷新,第二个设置为false        final ILoadingLayout startLabels = refreshListView.getLoadingLayoutProxy(true, false);        startLabels.setPullLabel("下拉刷新");        startLabels.setRefreshingLabel("正在刷新...");        startLabels.setReleaseLabel("放开刷新");        ILoadingLayout endLabels = refreshListView.getLoadingLayoutProxy(false, true);        endLabels.setPullLabel("上拉刷新");        endLabels.setRefreshingLabel("正在载入...");        endLabels.setReleaseLabel("放开刷新...");        //4.设置监听事件        /**         * 如果Mode设置成Mode.BOTH,需要设置刷新Listener为OnRefreshListener2,并实现onPullDownToRefresh()、         * onPullUpToRefresh()两个方法。         如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要设置刷新Listener为OnRefreshListener,         同时实现onRefresh()方法。         当然也可以设置为OnRefreshListener2,但是Mode.PULL_FROM_START的时候只调用onPullDownToRefresh()方法,         Mode.PULL_FROM_END的时候只调用onPullUpToRefresh()方法         */        refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            //下拉刷新的时候调用的方法....请求第一页的数据,清空之前的数据,然后再添加设置适配器            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                String path = "http://mnews.gw.com.cn/wap/data/news/xbsjxw/page_1.json";                NetDataUtil.getData(path, getActivity(), new JsonCallBack() {                    @Override                    public void getJsonString(String json) {                        JSONArray jsonArray=null;                        try {                            jsonArray = new JSONArray(json);                            String s = jsonArray.get(0).toString();                            Log.d("TAG","7777+++++++++++++++++++++++++++++"+s);                            //解析                            Gson gson = new Gson();                            DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                            //先清空一下数据                            list.clear();                            //添加到集合的最前边,,,,(0,,,,)                            list.addAll(0,dataDataBean.getData());                            //设置适配器                            setAdapter();                            //设置适配器之后停止刷新的操作                            refreshListView.onRefreshComplete();                        } catch (Exception e) {                            e.printStackTrace();                        }                        //可以设置刷新的时间....//                        startLabels.setLastUpdatedLabel("上次更新时间:"+new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));//last最近的,最后一次update修改/更新                    }                });            }            //上拉刷新的时候调用的方法..page++,然后在请求数据            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                page_num++;                getDataFromNet();            }        });    }    /**     * 获取网络数据     */    private void getDataFromNet() {        String path = "http://mnews.gw.com.cn/wap/data/news/xbsjxw/page_";        //第一个参数是接口,第二个上下文,第三个回调json数据        NetDataUtil.getData(path+page_num+".json", getActivity(), new JsonCallBack() {            @Override            public void getJsonString(String json) {                JSONArray jsonArray=null;                try {                    jsonArray = new JSONArray(json);                    String s = jsonArray.get(0).toString();                    Log.d("TAG","111+++++++++++++++++++++++++++++"+s);                //解析                Gson gson = new Gson();                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                //往后面添加...                list.addAll(dataDataBean.getData());                //设置适配器                setAdapter();                //停止刷新                refreshListView.onRefreshComplete();                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    private void setAdapter() {        if (myAdapter == null){            myAdapter = new MyAdapter(getActivity(),list);            refreshListView.setAdapter(myAdapter);        }else {            myAdapter.notifyDataSetChanged();        }    }}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public class Fragmentgengxin extends Fragment {    private PullToRefreshListView refreshListView;    private List<LunBoBean.DataBean> list = new ArrayList<>();    private MyAdapter2 myAdapter;    private int page_num = 1;    private ILoadingLayout startLabels;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.gengxin_view,container,false);        refreshListView = view.findViewById(R.id.gengxin_list_view);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        //1.设置listView的适配器        getDataFromNet();        //2.设置刷新模式        /*设置pullToRefreshListView的刷新模式,BOTH代表支持上拉和下拉,PULL_FROM_END代表上拉,PULL_FROM_START代表下拉 */        refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            //下拉刷新的时候调用的方法....请求第一页的数据,清空之前的数据,然后再添加设置适配器            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                String path = "http://mnews.gw.com.cn/wap/data/news/news/mobile/jjxw/page_1.json";                NetDataUtil.getData(path, getActivity(), new JsonCallBack() {                    @Override                    public void getJsonString(String json) {                        JSONArray jsonArray=null;                        try {                            jsonArray = new JSONArray(json);                            String s = jsonArray.get(0).toString();                            Log.d("TAG","444+++++++++++++++++++++++++++++"+s);                            //解析                            Gson gson = new Gson();                            LunBoBean lunBoBean = gson.fromJson(s, LunBoBean.class);                            //先清空一下数据                            list.clear();                            //添加到集合的最前边,,,,(0,,,,)                            list.addAll(0,lunBoBean.getData());                            //设置适配器                            setAdapter();                            //设置适配器之后停止刷新的操作                            refreshListView.onRefreshComplete();                        } catch (Exception e) {                            e.printStackTrace();                        }                        //可以设置刷新的时间....//                        startLabels.setLastUpdatedLabel("上次更新时间:"+new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));//last最近的,最后一次update修改/更新                    }                });            }            //上拉刷新的时候调用的方法..page++,然后在请求数据            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                page_num++;                getDataFromNet();            }        });    }    /**     * 获取网络数据     */    private void getDataFromNet() {        String path = "http://mnews.gw.com.cn/wap/data/news/news/mobile/jjxw/page_";        //第一个参数是接口,第二个上下文,第三个回调json数据        NetDataUtil.getData(path+page_num+".json", getActivity(), new JsonCallBack() {            @Override            public void getJsonString(String json) {                JSONArray jsonArray=null;                try {                    jsonArray = new JSONArray(json);                    String s = jsonArray.get(0).toString();                    Log.d("TAG","333+++++++++++++++++++++++++++++"+s);                    //解析                    Gson gson = new Gson();                    LunBoBean lunBoBean = gson.fromJson(s, LunBoBean.class);                    //往后面添加...                    list.addAll(lunBoBean.getData());                    //设置适配器                    setAdapter();                    //停止刷新                    refreshListView.onRefreshComplete();                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    private void setAdapter() {        if (myAdapter == null){            myAdapter = new MyAdapter2(getActivity(),list);            refreshListView.setAdapter(myAdapter);        }else {            myAdapter.notifyDataSetChanged();        }    }}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++




原创粉丝点击