lianxi1

来源:互联网 发布:人体检测软件 编辑:程序博客网 时间:2024/06/06 00:33

             activity main xml

<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/drawer"    android:layout_width="match_parent"    android:layout_height="match_parent"    >    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="match_parent">        <FrameLayout            android:id="@+id/frame"            android:layout_width="match_parent"            android:layout_height="match_parent"            android:layout_above="@+id/rg">        </FrameLayout>        <RadioGroup            android:id="@+id/rg"            android:layout_width="match_parent"            android:layout_height="40dp"            android:layout_alignParentBottom="true"            android:orientation="horizontal">            <RadioButton                android:id="@+id/rb1"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_weight="1"                android:background="@drawable/yes"                android:button="@null"                android:checked="true"                android:gravity="center"                android:padding="10dp"                android:text="首页" />            <RadioButton                android:id="@+id/rb2"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_weight="1"                android:background="@drawable/yes"                android:button="@null"                android:gravity="center"                android:padding="10dp"                android:text="发现" />            <RadioButton                android:id="@+id/rb3"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_weight="1"                android:background="@drawable/yes"                android:button="@null"                android:gravity="center"                android:padding="10dp"                android:text="下载" />            <RadioButton                android:id="@+id/rb4"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_weight="1"                android:background="@drawable/yes"                android:button="@null"                android:gravity="center"                android:padding="10dp"                android:text="我的" />        </RadioGroup>    </RelativeLayout>    <LinearLayout        android:background="#ffffff"        android:layout_width="240dp"        android:layout_height="match_parent"        android:layout_gravity="left"        android:orientation="vertical">        <ImageView            android:layout_width="100dp"            android:layout_height="100dp"            android:layout_margin="50dp"            android:src="@mipmap/ic_launcher" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="20dp"            android:text="钱包" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="20dp"            android:text="行程记录" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="20dp"            android:text="友好邀请" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="20dp"            android:text="设置" />    </LinearLayout></android.support.v4.widget.DrawerLayout>
                             

                  fragment—首页xml

        

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <android.support.design.widget.TabLayout        android:id="@+id/tab"        android:layout_width="match_parent"        android:layout_height="55dp"        app:tabGravity="center"        app:tabIndicatorColor="@color/colorAccent"        app:tabMode="scrollable"        app:tabSelectedTextColor="@color/colorPrimaryDark"        app:tabTextColor="@color/colorPrimary">    </android.support.design.widget.TabLayout>    <android.support.v4.view.ViewPager        android:id="@+id/vp"        android:layout_width="match_parent"        android:layout_height="match_parent">    </android.support.v4.view.ViewPager></LinearLayout>
          

                                 MainActivity.java

   

package com.example.zhoukao_03;import android.os.Bundle;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.AppCompatActivity;import android.widget.RadioGroup;import com.example.zhoukao_03.fragment.FragmentFaXian;import com.example.zhoukao_03.fragment.FragmentShouYe;import com.example.zhoukao_03.fragment.FragmentWoDe;import com.example.zhoukao_03.fragment.FragmentXiaZai;public class MainActivity extends AppCompatActivity {    private DrawerLayout drawer;    private RadioGroup rg;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        drawer = (DrawerLayout) findViewById(R.id.drawer);        rg = (RadioGroup) findViewById(R.id.rg);        getSupportFragmentManager().beginTransaction().replace(R.id.frame,new FragmentShouYe()).commit();        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup radioGroup, int i) {                switch (i){                    case R.id.rb1:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame,new FragmentShouYe()).commit();                        break;                    case R.id.rb2:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame,new FragmentFaXian()).commit();                        break;                    case R.id.rb3:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame,new FragmentXiaZai()).commit();                        break;                    case R.id.rb4:                        getSupportFragmentManager().beginTransaction().replace(R.id.frame,new FragmentWoDe()).commit();                        break;                    default:                        break;                }            }        });    }    }
                                                                           Fragment shouye.java


                     

package com.example.zhoukao_03.fragment;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.example.zhoukao_03.R;import java.util.ArrayList;import java.util.List;/** * Created by lenovo on 2017/10/21. */public class FragmentShouYe extends Fragment {    private TabLayout tab;    private ViewPager vp;    private List<String> list;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view=inflater.inflate(R.layout.fragment_shouye,container,false);        tab = (TabLayout) view.findViewById(R.id.tab);        vp = (ViewPager) view.findViewById(R.id.vp);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        list = new ArrayList<>();        list.add("推荐");        list.add("课程");        list.add("实战");        list.add("职业路径");        vp.setOffscreenPageLimit(list.size());        vp.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 FragmentTuiJian();                        break;                    case 1:                        fragment=new FragmentKeCheng();                        break;                    case 2:                        fragment=new FragmentShiZhan();                        break;                    case 3:                        fragment=new FragmentZhiYe();                        break;                    default:                        break;                }                return fragment;            }            @Override            public int getCount() {                return list.size();            }        });        tab.setupWithViewPager(vp);    }}                                                                  fragmenttuijian xml 
<?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">    <android.support.v4.view.ViewPager        android:id="@+id/vp"        android:layout_width="match_parent"        android:layout_height="200dp"        android:layout_above="@+id/linear">    </android.support.v4.view.ViewPager>    <LinearLayout        android:id="@+id/linear"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:orientation="horizontal">    </LinearLayout>    <com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto"        android:id="@+id/plv"        android:layout_width="match_parent"        android:layout_height="match_parent"        ptr:ptrAnimationStyle="flip"        ptr:ptrDrawable="@drawable/default_ptr_flip"        ptr:ptrHeaderBackground="#383838"        ptr:ptrHeaderTextColor="#FFFFFF">    </com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>





                                  FragmentTuiJian().java 
 
package com.example.zhoukao_03.fragment;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import com.example.zhoukao_03.JsonCallBack;import com.example.zhoukao_03.R;import com.example.zhoukao_03.adapter.ListViewAdapter;import com.example.zhoukao_03.adapter.ViewPagerAdapter;import com.example.zhoukao_03.bbean.DataDataBean;import com.example.zhoukao_03.util.GetDataUtil;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.ILoadingLayout;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;/** * Created by lenovo on 2017/10/21. */public class FragmentTuiJian extends android.support.v4.app.Fragment {    private ViewPager vp;    private PullToRefreshListView plv;    private List<DataDataBean.DataBean> lists=new ArrayList<>();    private ListViewAdapter lvadapter;    private int page_num=1;    private ILoadingLayout startLabels;private Handler handler=new Handler(){    @Override    public void handleMessage(Message msg) {        super.handleMessage(msg);        if (msg.what==0){            vp.setCurrentItem(vp.getCurrentItem()+1);            handler.sendEmptyMessageDelayed(0,2000);        }    }};    private LinearLayout linear;    private List<ImageView> images;    private List<String> list;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_tuijian, container, false);        vp = (ViewPager) view.findViewById(R.id.vp);        plv = (PullToRefreshListView) view.findViewById(R.id.plv);        linear = (LinearLayout) view.findViewById(R.id.linear);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        getNet();        lunBoTu(); /*设置pullToRefreshListView的刷新模式,BOTH代表支持上拉和下拉,PULL_FROM_END代表上拉,PULL_FROM_START代表下拉 */        plv.setMode(PullToRefreshBase.Mode.BOTH);        startLabels = plv.getLoadingLayoutProxy(true, false);        startLabels.setPullLabel("下拉刷新");        startLabels.setRefreshingLabel("正在拉");        startLabels.setReleaseLabel("放开刷新");        ILoadingLayout endLabels = plv.getLoadingLayoutProxy(false, true);        endLabels.setPullLabel("上拉刷新");        endLabels.setRefreshingLabel("正在载入...");        endLabels.setReleaseLabel("放开刷新...");        plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                getNet();            }            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                page_num++;                GetDataUtil.getDat("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+page_num, getActivity(), new JsonCallBack() {                    @Override                    public void getJsonString(String s) {                        Gson gson = new Gson();                        DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                        lists.addAll(0,dataDataBean.getData());                        setAdapter();                        plv.onRefreshComplete();                        startLabels.setLastUpdatedLabel("上次更新时间:" + new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));                    }                });            }        });    }    private void lunBoTu() {        GetDataUtil.getDat("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1", getActivity(), new JsonCallBack() {            @Override            public void getJsonString(String s) {                list = new ArrayList<String>();                Gson gson = new Gson();                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                list.add(dataDataBean.getData().get(0).getImg());                ViewPagerAdapter adapter=new ViewPagerAdapter(getActivity(), list);                vp.setAdapter(adapter);//                init();                vp.setCurrentItem(list.size()*100000);                handler.sendEmptyMessageDelayed(0,2000);//                vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {//                    @Override//                    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {////                    }////                    @Override//                    public void onPageSelected(int position) {//                        for (int i=0;i<images.size();i++){//                            if (i==position%list.size()){//                                images.get(i).setImageResource(R.drawable.shape1);//                            }else {//                                images.get(i).setImageResource(R.drawable.shape2);//                            }//                        }//                    }////                    @Override//                    public void onPageScrollStateChanged(int state) {////                    }//                });            }        });    }//    private void init() {//        images = new ArrayList<>();//        linear.removeAllViews();//        for (int i=0;i<list.size();i++){//            ImageView imageView = new ImageView(getActivity());//            if (i==0){//                imageView.setImageResource(R.drawable.shape1);//            }else {//                imageView.setImageResource(R.drawable.shape2);//            }//            images.add(imageView);//            LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);//            params.setMargins(5,0,5,0);//            linear.addView(imageView);//        }//    }    private void getNet() {        GetDataUtil.getDat("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1", getActivity(), new JsonCallBack() {            @Override            public void getJsonString(String s) {                Gson gson = new Gson();                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                lists.addAll(dataDataBean.getData());                setAdapter();                plv.onRefreshComplete();                startLabels.setLastUpdatedLabel("上次更新时间:" + new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));            }        });    }    private void setAdapter() {        if (lvadapter==null){            lvadapter = new ListViewAdapter(getActivity(),lists);            plv.setAdapter(lvadapter);        }else {            lvadapter.notifyDataSetChanged();        }    }}                            GETDatautil
package com.example.zhoukao_03.util;import android.content.Context;import android.os.AsyncTask;import android.util.Log;import com.example.zhoukao_03.JsonCallBack;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * Created by lenovo on 2017/10/21. */public class GetDataUtil {    public static void getDat(final String path, Context context, final JsonCallBack jsonCallBack) {        if (NetWorkUtil.isNetworkConnected(context)) {            AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {                @Override                protected String doInBackground(Void... voids) {                    try {                        URL url = new URL(path);                        HttpURLConnection connection = (HttpURLConnection) url.openConnection();                        connection.setRequestMethod("GET");                        connection.setConnectTimeout(5000);                        connection.setReadTimeout(5000);                        int responseCode = connection.getResponseCode();                        if (responseCode == 200) {                            InputStream inputStream = connection.getInputStream();                            String json = streamToString(inputStream, "utf-8");                            Log.i("666666", json);                            return json;                        }                    } catch (Exception e) {                        e.printStackTrace();                    }                    return null;                }                @Override                protected void onPostExecute(String s) {                    super.onPostExecute(s);                    jsonCallBack.getJsonString(s);                }            };            asyncTask.execute();        } else {            NetWorkUtil.showNoNetWorkDlg(context);        }    }    private static String streamToString(InputStream inputStream, String ss) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, ss);            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while ((s = bufferedReader.readLine()) != null) {                builder.append(s);            }            bufferedReader.close();            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}

网络判断network

package com.example.zhoukao_03.util;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;/** * Created by lenovo on 2017/10/21. */public class NetWorkUtil {    public static boolean isNetworkConnected(Context context) {        if (context != null) {            ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo networkInfo = manager.getActiveNetworkInfo();            if (networkInfo != null) {                return networkInfo.isAvailable();            }        }        return false;    }    public static void showNoNetWorkDlg(final Context context) {        AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setMessage("网络未连接,是否去设置")                .setPositiveButton("确定", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        // 跳转到系统的网络设置界面                        Intent intent = null;                        // 先判断当前系统版本                        if(android.os.Build.VERSION.SDK_INT > 10){  // 3.0以上                            intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);                        }else{                            intent = new Intent();                            intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");                        }                        context.startActivity(intent);                    }                }).setNegativeButton("取消", null).show();    }}

jsoncallback
/** * Created by lenovo on 2017/10/21. */public interface JsonCallBack {    public void getJsonString(String s);}

listviewadapter 适配器
package com.example.zhoukao_03.adapter;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.example.zhoukao_03.R;import com.example.zhoukao_03.bbean.DataDataBean;import com.example.zhoukao_03.util.ImageLoaderUtil;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * Created by lenovo on 2017/10/21. */public class ListViewAdapter extends BaseAdapter{    Context context;    List<DataDataBean.DataBean> lists;    public ListViewAdapter(Context context, List<DataDataBean.DataBean> lists) {        this.context=context;        this.lists=lists;    }    @Override    public int getCount() {        return lists.size();    }    @Override    public Object getItem(int i) {        return lists.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        ViewHolder holder;        if (view==null){            view=View.inflate(context, R.layout.items,null);            holder=new ViewHolder();            holder.imageView= (ImageView) view.findViewById(R.id.image);            holder.textView= (TextView) view.findViewById(R.id.text);            view.setTag(holder);        }else {            holder= (ViewHolder) view.getTag();        }        holder.textView.setText(lists.get(i).getTitle());        ImageLoader.getInstance().displayImage(lists.get(i).getUserImg(),holder.imageView, ImageLoaderUtil.getDataOption());        return view;    }    private class ViewHolder{        TextView textView;        ImageView imageView;    }}                                                                                                  viewpageradapter
package com.example.zhoukao_03.adapter;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.example.zhoukao_03.util.ImageLoaderUtil;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * Created by lenovo on 2017/10/21. */public class ViewPagerAdapter extends PagerAdapter{    Context context;    List<String> list;    public ViewPagerAdapter(Context context, List<String> list) {        this.context=context;        this.list=list;    }    @Override    public int getCount() {        return Integer.MAX_VALUE;    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    @Override    public Object instantiateItem(ViewGroup container, int position) {        ImageView imageView=new ImageView(context);        imageView.setScaleType(ImageView.ScaleType.FIT_XY);        ImageLoader.getInstance().displayImage(list.get(position%list.size()),imageView, ImageLoaderUtil.getDataOption());        container.addView(imageView);        return imageView;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {        container.removeView((View) object);    }}


权限
<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 

                             



原创粉丝点击