登录+二维码


主页面

package com.example.yinchenglong1601r20180521.view;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.example.yinchenglong1601r20180521.R;

public class MainActivity extends AppCompatActivity {

    private EditText uname;
    private EditText psw;
    private Button tj;
    private CheckBox cb1;
    private CheckBox cb2;
    private SharedPreferences sharedPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取控件
        initView();
        //使用键值对来判断是否选中记住密码和自动登录
        if (sharedPreferences.getBoolean("RememberPassword", false)) {
            cb1.setChecked(true);
            uname.setText(sharedPreferences.getString("username", ""));
            psw.setText(sharedPreferences.getString("password", ""));
        }
        if (sharedPreferences.getBoolean("AutomaticLogin", false)) {
            cb2.setChecked(true);
            Intent intent = new Intent(MainActivity.this, Main2Activity.class);

            startActivity(intent);
        }
        jizhumima();

    }

    private void jizhumima() {
        //选中记住密码时
        cb1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (cb1.isChecked()) {
                    sharedPreferences.edit().putBoolean("RememberPassword", true).commit();
                } else {
                    sharedPreferences.edit().putBoolean("RememberPassword", false).commit();
                }

            }
        });
        //选中自动登录时也选中记住密码
        cb2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (cb2.isChecked()) {
                    cb1.setChecked(true);
                    sharedPreferences.edit().putBoolean("AutomaticLogin", true).commit();
                } else {
                    sharedPreferences.edit().putBoolean("AutomaticLogin", false).commit();
                }
            }
        });
    }

    private void initView() {
        //获取id
        uname = findViewById(R.id.et1);
        psw = findViewById(R.id.et2);
        tj = findViewById(R.id.tijiao);
        cb1 = findViewById(R.id.cb1);
        cb2 = findViewById(R.id.cb2);
        //使用SharedPreferences方法
        sharedPreferences = getSharedPreferences("loginUser", Context.MODE_PRIVATE);
        //点击跳转
        tj.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //判断文本框
                login(v);
                //判断是否选中
                if (cb1.isChecked()) {
                    SharedPreferences.Editor editor = sharedPreferences.edit();
                    editor.putString("username", uname.getText().toString());
                    editor.putString("password", psw.getText().toString());
                    editor.commit();

                } else {
                    uname.setText("");
                    psw.setText("");
                }
            }
        });
    }

    public void login(View view){
        String name = uname.getText().toString();//用户名
        String pwd = psw.getText().toString();//密码

        StringBuilder stringBuilder = new StringBuilder();
        boolean flag = true;
        if ("".equals(name) || "".equals(name.trim())
                || name == null) {
            stringBuilder.append("手机号不能为空");
            flag = false;
        } else {

            if (name.length() != 11) {
                stringBuilder.append("手机号长度为11位有效数字");
                flag = false;
            }
            if (!name.startsWith("1")) {
                if (stringBuilder.length() > 0) {
                    stringBuilder.append(",手机号应该以数字1开头");
                } else {
                    stringBuilder.append("手机号应该以数字1开头");
                }

                flag = false;
            }
        }
        if ("".equals(pwd) || "".equals(pwd.trim())
                || pwd == null) {
            if (stringBuilder.length() > 0) {
                stringBuilder.append(",密码不能为空");
            } else {
                stringBuilder.append("密码不能为空");
            }
            flag = false;
        }else if(pwd.length()!=6){
            if (stringBuilder.length() > 0) {
                stringBuilder.append(",密码长度不正确");
            } else {
                stringBuilder.append("密码长度不正确");
            }
            flag = false;
        }
        if (flag == false) {
            Toast.makeText(MainActivity.this, stringBuilder.toString(),
                    Toast.LENGTH_SHORT).show();
        }else {
            Intent intent=new Intent(MainActivity.this,Main2Activity.class);
            startActivity(intent);
            finish();
        }

    }
}
 
 

主页面布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.yinchenglong1601r20180521.view.MainActivity">

   <LinearLayout
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:orientation="horizontal">
       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="用户名:"/>
       <EditText
           android:layout_width="180dp"
           android:layout_height="wrap_content"
           android:id="@+id/et1"/>
   </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="密码:"/>
        <EditText
            android:layout_width="180dp"
            android:layout_height="wrap_content"
            android:password="true"
            android:id="@+id/et2"/>
    </LinearLayout>
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/cb1"
        android:text="记住密码"/>
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/cb2"
        android:text="自动登录"/>
</LinearLayout>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="提交"
        android:id="@+id/tijiao"/>
</LinearLayout>
 
 

第二个页面

package com.example.yinchenglong1601r20180521.view;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.widget.FrameLayout;
import android.widget.RadioGroup;

import com.example.yinchenglong1601r20180521.R;
import com.example.yinchenglong1601r20180521.presenter.Fragment01;
import com.example.yinchenglong1601r20180521.presenter.Fragment02;

import java.util.ArrayList;
import java.util.List;

public class Main2Activity extends AppCompatActivity {

    private RadioGroup rg;
    private FrameLayout fl;
    private List<Fragment> list;
    private Fragment01 fragment01;
    private Fragment02 fragment02;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        //获取id
        rg = findViewById(R.id.rg);
        fl = findViewById(R.id.fl);
        //定义一个大集合
        list = new ArrayList<>();
        //实例化对象
        fragment01 = new Fragment01();
        fragment02 = new Fragment02();
        //添加到集合中
        list.add(fragment01);
        list.add(fragment02);
        //进行点击切换的前提
        final FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.fl,list.get(0)).commit();
        //点击事件
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int i) {
            //根据点击的按钮id来判断展示的内容
            switch (i){
                case R.id.rb1:
                    fragmentManager.beginTransaction().replace(R.id.fl,fragment01).commit();
                    break;
                case R.id.rb2:
                    fragmentManager.beginTransaction().replace(R.id.fl,fragment02).commit();
                    break;
            }
        }
    });
    }
}
 
 

第二个页面布局



fragment01

package com.example.yinchenglong1601r20180521.presenter;

import android.annotation.SuppressLint;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.example.yinchenglong1601r20180521.R;
import com.example.yinchenglong1601r20180521.model.MyBean;
import com.example.yinchenglong1601r20180521.model.NetWorkUtils;
import com.example.yinchenglong1601r20180521.view.MyAdapter;
import com.google.gson.Gson;

import java.util.List;

/**
 * data:2018/05/21.
 * author : 殷成龙(Administrator)
 * function :
 */

public class Fragment01 extends Fragment{

    private ListView lv;
    private MyAdapter adapter;
    private List<MyBean.DataBean> list;
    String path = "http://www.xieast.com/api/news/news.php";
    @SuppressLint("StaticFieldLeak")
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment01, container, false);
        //获取id
        lv = view.findViewById(R.id.lv);
        //new Asy();

        new AsyncTask<String,Integer,String>(){


            @Override
            protected String doInBackground(String... params) {
                NetWorkUtils netWorkUtils = new NetWorkUtils();
                String url = netWorkUtils.getURL(path);
                return url;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                MyBean myBean = gson.fromJson(s, MyBean.class);
                list = myBean.getData();
                adapter = new MyAdapter(list,getActivity());
                lv.setAdapter(adapter);

            }
        }.execute();
        //设置适配器

        return view;
    }

}
 
 

二维码界面

fragment02

package com.example.yinchenglong1601r20180521.presenter;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

import com.example.yinchenglong1601r20180521.R;
import com.example.yinchenglong1601r20180521.view.MainActivity;
import com.uuzuche.lib_zxing.activity.CodeUtils;

/**
 * data:2018/05/21.
 * author : 殷成龙(Administrator)
 * function :
 */

public class Fragment02 extends Fragment{

    private Button btn;
    private ImageView img;
    private Bitmap bitmap;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment02, container, false);
        btn = view.findViewById(R.id.btn);
        img = view.findViewById(R.id.img);
        //生成二维码
        bitmap = CodeUtils.createImage("15011444890", 400, 400, null);
        img.setImageBitmap(bitmap);
        btn.setOnClickListener(new View.OnClickListener() {

            private SharedPreferences sharedPreferences;

            @Override
            public void onClick(View v) {
                //点击时把自动登录变为false
                sharedPreferences = getActivity().getSharedPreferences("loginUser", Context.MODE_PRIVATE);
                sharedPreferences.edit().putBoolean("AutomaticLogin", false).commit();
                //跳转到登录页面
                Intent intent = new Intent(getActivity(), MainActivity.class);
                startActivity(intent);
            }
        });
        return view;
    }
}
 
 

fragmen01布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/lv"></ListView>
</android.support.constraint.ConstraintLayout>
 
 

fragment01的item布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/img1"/>
    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/img2"/>
    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/img3"/>
</LinearLayout>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv"/>
</LinearLayout>

fragment02布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:id="@+id/img"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn"
        android:text="退出登陆"
        />
</LinearLayout>

MyAdapter适配器

package com.example.yinchenglong1601r20180521.view;

import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.yinchenglong1601r20180521.R;
import com.example.yinchenglong1601r20180521.model.MyBean;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.List;

/**
 * data:2018/05/21.
 * author : 殷成龙(Administrator)
 * function :
 */

public class MyAdapter extends BaseAdapter {
    private List<MyBean.DataBean> list;
    private Context context;
    private ViewHolder holder;

    public MyAdapter(List<MyBean.DataBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null){
            convertView = View.inflate(context, R.layout.item,null);
            holder = new ViewHolder();
            holder.tv = convertView.findViewById(R.id.tv);
            holder.img1 = convertView.findViewById(R.id.img1);
            holder.img2 = convertView.findViewById(R.id.img2);
            holder.img3 = convertView.findViewById(R.id.img3);
            convertView.setTag(holder);
        }else{
            holder = (ViewHolder) convertView.getTag();
        }
        holder.tv.setText(list.get(position).getTitle());
        ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.img1);
        Log.d("msg",list.get(position).getThumbnail_pic_s());
        ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),holder.img2);
        ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(),holder.img3);

        return convertView;
    }
    class ViewHolder{
        ImageView img1,img2,img3;
        TextView tv;
    }
}
 
 

图片工具类

package com.example.yinchenglong1601r20180521.model;

import android.app.Application;
import android.os.Environment;

import com.example.yinchenglong1601r20180521.R;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;

import java.io.File;

/**
 * data:2018/05/21.
 * author : 殷成龙(Administrator)
 * function :图片工具类
 */

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        File file = new File(Environment.getExternalStorageDirectory() + "/" + "image");
        ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this)
                //设置缓存地址
                .diskCache(new UnlimitedDiskCache(file))
                //关联getimg
                .defaultDisplayImageOptions(getimg())
                //内存缓存20M
                .memoryCacheSize(2 * 1024 * 1024)
                //可以缓存文件数量
                .diskCacheFileCount(100)
                //线程池数量
                .threadPoolSize(3)
                .build();
        ImageLoader.getInstance().init(build);
    }

    public DisplayImageOptions getimg() {
        DisplayImageOptions img = new DisplayImageOptions.Builder()
                //加载时显示的图片
                .showImageOnLoading(R.mipmap.ic_launcher)
                .showImageOnFail(R.mipmap.ic_launcher)
                .showImageForEmptyUri(R.mipmap.ic_launcher)
                //设置圆角
                .displayer(new RoundedBitmapDisplayer(25))
                .build();
        return img;
    }
}
 
 

bean类

package com.example.yinchenglong1601r20180521.model;

import java.util.List;

/**
 * data:2018/05/21.
 * author : 殷成龙(Administrator)
 * function :
 */

public class MyBean {

    /**
     * code : 1
     * data : [{"author_name":"大国军情","category":"头条","date":"2018-05-12 07:25","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512_fe1bf1b6ec00098f9455c84dc81e6763_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://04.imgmini.eastday.com/mobile/20180512/20180512_3f636fca330f2311583896aed3185196_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://04.imgmini.eastday.com/mobile/20180512/20180512_793fab03dadcd417bf2d8e5e1e48a0f5_cover_mwpm_03200403.jpg","title":"美国被特朗普坑惨了!又有3个铁杆盟友公开唱对台戏!","uniquekey":"1326bf3c4505783d4a964f81b6220e9d","url":"http://mini.eastday.com/mobile/180512072544020.html"},{"author_name":"新华网","category":"头条","date":"2018-05-12 07:25","thumbnail_pic_s":"http://01.imgmini.eastday.com/mobile/20180512/20180512072505_0fe08f494e7c090764244e3581b3e5ca_5_mwpm_03200403.jpg","thumbnail_pic_s02":"http://01.imgmini.eastday.com/mobile/20180512/20180512072505_0fe08f494e7c090764244e3581b3e5ca_1_mwpm_03200403.jpg","thumbnail_pic_s03":"http://01.imgmini.eastday.com/mobile/20180512/20180512072505_0fe08f494e7c090764244e3581b3e5ca_3_mwpm_03200403.jpg","title":"第71届戛纳电影节:贾樟柯电影《江湖儿女》首映","uniquekey":"9db153b507c10bbbed1d26c29c030eef","url":"http://mini.eastday.com/mobile/180512072505095.html"},{"author_name":"遇见优佳","category":"头条","date":"2018-05-12 07:24","thumbnail_pic_s":"http://06.imgmini.eastday.com/mobile/20180512/20180512_38f5183808987be3783b180740d12a2a_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://06.imgmini.eastday.com/mobile/20180512/20180512_a3d9f98eb0e3fe36574581f00fa0f898_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://06.imgmini.eastday.com/mobile/20180512/20180512_37fa1339af2e64cfd2dc85191950e8ba_cover_mwpm_03200403.jpg","title":"以色列发射60枚火箭弹对伊朗进行报复,中东小霸王称号保不住了","uniquekey":"4f47eb31b188cfa90881260bb2b11aa8","url":"http://mini.eastday.com/mobile/180512072412903.html"},{"author_name":"国际在线","category":"头条","date":"2018-05-12 07:22","thumbnail_pic_s":"http://00.imgmini.eastday.com/mobile/20180512/20180512072229_a296d945ae7fe08eed7d78060ce3f5c2_6_mwpm_03200403.jpg","thumbnail_pic_s02":"http://00.imgmini.eastday.com/mobile/20180512/20180512072229_a296d945ae7fe08eed7d78060ce3f5c2_7_mwpm_03200403.jpg","thumbnail_pic_s03":"http://00.imgmini.eastday.com/mobile/20180512/20180512072229_a296d945ae7fe08eed7d78060ce3f5c2_5_mwpm_03200403.jpg","title":"苏丹驻华大使送别招待会在公共外交文化交流中心举行","uniquekey":"a3ef77503b9924d7ad6957a5af5da5d1","url":"http://mini.eastday.com/mobile/180512072229596.html"},{"author_name":"中国新闻网","category":"头条","date":"2018-05-12 07:17","thumbnail_pic_s":"http://00.imgmini.eastday.com/mobile/20180512/20180512071745_6accdc1c2a1356851f0bf51247a8f256_9_mwpm_03200403.jpg","thumbnail_pic_s02":"http://00.imgmini.eastday.com/mobile/20180512/20180512071745_6accdc1c2a1356851f0bf51247a8f256_8_mwpm_03200403.jpg","thumbnail_pic_s03":"http://00.imgmini.eastday.com/mobile/20180512/20180512071745_6accdc1c2a1356851f0bf51247a8f256_4_mwpm_03200403.jpg","title":"十九届三中全会以来推进党和国家机构改革述评","uniquekey":"b447b3941c73a35e587273a8a1b05c2d","url":"http://mini.eastday.com/mobile/180512071745564.html"},{"author_name":"阿尔法军事","category":"头条","date":"2018-05-12 07:15","thumbnail_pic_s":"http://01.imgmini.eastday.com/mobile/20180512/20180512_85e54ca8649794d2c3fdf06faf04fa87_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://01.imgmini.eastday.com/mobile/20180512/20180512_e8df98afa3707e436d1793e66d5bc063_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://01.imgmini.eastday.com/mobile/20180512/20180512_a1d1e3735f424eba66244a7842b2f7bf_cover_mwpm_03200403.jpg","title":"太反常!特朗普声称退出伊核协议以来,伊朗的表现让美军不适应","uniquekey":"fc91bd75121e2e84a6cb3d239ddb9846","url":"http://mini.eastday.com/mobile/180512071539046.html"},{"author_name":"东方网","category":"头条","date":"2018-05-12 07:13","thumbnail_pic_s":"http://06.imgmini.eastday.com/mobile/20180512/20180512071324_ae237ccc4fcee20ec4909588b5b7609f_1_mwpm_03200403.jpg","title":"沪正在全面消除无证餐饮店铺 \u201c共享餐厅\u201d最快6月运营","uniquekey":"ebed0b6a189873fa375a47ee8463c9be","url":"http://mini.eastday.com/mobile/180512071324017.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 07:09","thumbnail_pic_s":"http://05.imgmini.eastday.com/mobile/20180512/20180512070940_3108dd32b82c16f350b949340f95a647_1_mwpm_03200403.jpg","title":"特朗普嘲讽奥巴马:他花18亿救人,我让朝鲜免费放人","uniquekey":"8a88eb5466a46cf6d975579ccb658e29","url":"http://mini.eastday.com/mobile/180512070940666.html"},{"author_name":"新华网","category":"头条","date":"2018-05-12 07:03","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512070344_7f0366d60dea69d79c1f0432600b5f20_4_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512070344_7f0366d60dea69d79c1f0432600b5f20_2_mwpm_03200403.jpg","thumbnail_pic_s03":"http://02.imgmini.eastday.com/mobile/20180512/20180512070344_7f0366d60dea69d79c1f0432600b5f20_3_mwpm_03200403.jpg","title":"身在国外,这五点我必须说清楚!","uniquekey":"6113c546a13e9292ced28b0199a23108","url":"http://mini.eastday.com/mobile/180512070344831.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:59","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512065922_e367e5443f66512176376bd05ed65f9a_1_mwpm_03200403.jpg","title":"再\u201c读\u201d汶川|究竟是一种什么样的力量,让中国人如此勇敢地面对可怕的灾难?","uniquekey":"ca9d43ed0e6875692164bea6cc898065","url":"http://mini.eastday.com/mobile/180512065922743.html"},{"author_name":"中国网","category":"头条","date":"2018-05-12 06:50","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512065018_01abef975bd32ccc728ac4e4e6a7ec6e_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://03.imgmini.eastday.com/mobile/20180512/20180512065018_9cfcb8c2869e997daf379bb7ce19180e_6_mwpm_03200403.jpg","thumbnail_pic_s03":"http://03.imgmini.eastday.com/mobile/20180512/20180512065018_0b79422343a8c1c37ec8121cd0c7a11c_5_mwpm_03200403.jpg","title":"十年对比:通往汶川的唯一通道十年之变","uniquekey":"da0a52bc92c10e81d16a4e728701cffc","url":"http://mini.eastday.com/mobile/180512065018882.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:49","thumbnail_pic_s":"http://05.imgmini.eastday.com/mobile/20180512/20180512064903_6a2e203b71d2710aded08d300ab29eeb_1_mwpm_03200403.jpg","title":"全国第一!上海的马路边,应该容得下更多街头艺人","uniquekey":"fa498034a3f9cd9fa2f5e0a2fbfd4da4","url":"http://mini.eastday.com/mobile/180512064903130.html"},{"author_name":"网易越娱乐","category":"头条","date":"2018-05-12 06:46","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512064621_bab229c7b39e6fa7e59dd27703ddfb38_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://04.imgmini.eastday.com/mobile/20180512/20180512064621_bab229c7b39e6fa7e59dd27703ddfb38_3_mwpm_03200403.jpg","thumbnail_pic_s03":"http://04.imgmini.eastday.com/mobile/20180512/20180512064621_bab229c7b39e6fa7e59dd27703ddfb38_1_mwpm_03200403.jpg","title":"被吐槽演技差的宋茜这回动真格的,吴亦凡黄子韬们也跟上节奏了!","uniquekey":"e1b21b938c2fc3a7345ca5bd93ab3d8e","url":"http://mini.eastday.com/mobile/180512064621690.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:38","thumbnail_pic_s":"http://09.imgmini.eastday.com/mobile/20180512/20180512063843_59894e298ee0432f1d141cb347f356c8_1_mwpm_03200403.jpg","title":"美国重新制裁伊朗 德国经济界担忧遭连累","uniquekey":"526a4c110dedc726aa4e53afbcbea23d","url":"http://mini.eastday.com/mobile/180512063843828.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:38","thumbnail_pic_s":"http://06.imgmini.eastday.com/mobile/20180512/20180512063843_b6081361df8e6cd58b6d52035cb3ee3a_1_mwpm_03200403.jpg","title":"马哈蒂尔宣布特赦前副总理安华 二十年前送其入狱","uniquekey":"e0a21ea66ac913345a3ddeef2de9acea","url":"http://mini.eastday.com/mobile/180512063843353.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:38","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512063843_a198728f6df54faf3ac82f9eff70a209_1_mwpm_03200403.jpg","title":"日本二手店惊现陈水扁竞选外套 台网友酸:穿上之后手都不会抖了","uniquekey":"06c93effa61afee08c768604e97de4d2","url":"http://mini.eastday.com/mobile/180512063843086.html"},{"author_name":"人民网","category":"头条","date":"2018-05-12 06:19","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512061919_eae4ad26c428cc7f961a1d6cf6e4264e_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://04.imgmini.eastday.com/mobile/20180512/20180512061919_eae4ad26c428cc7f961a1d6cf6e4264e_7_mwpm_03200403.jpg","thumbnail_pic_s03":"http://04.imgmini.eastday.com/mobile/20180512/20180512061919_eae4ad26c428cc7f961a1d6cf6e4264e_4_mwpm_03200403.jpg","title":"10年过去了,他们还好吗","uniquekey":"ed31cf77aaf7073879898beaed6b172d","url":"http://mini.eastday.com/mobile/180512061919917.html"},{"author_name":"新闻早餐","category":"头条","date":"2018-05-12 06:15","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512_418566db5b32e600bc27d0bc8cb0a6a6_cover_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512_8d766fd5086f98ec8741ed44505ce35c_cover_mwpm_03200403.jpg","thumbnail_pic_s03":"http://02.imgmini.eastday.com/mobile/20180512/20180512_509df6c0c45109a6989bc86c663d02cd_cover_mwpm_03200403.jpg","title":"新闻早餐:打捞人员发现疑似杀空姐嫌犯尸体 将做DNA鉴定","uniquekey":"fa422c905b7767276acd999a9439b43c","url":"http://mini.eastday.com/mobile/180512061559294.html"},{"author_name":"大众网","category":"头条","date":"2018-05-12 06:07","thumbnail_pic_s":"http://07.imgmini.eastday.com/mobile/20180512/20180512060745_78550703b206b53ace6a0c51b1d737d4_1_mwpm_03200403.jpg","title":"难忘救援经历 回忆激励前行 ","uniquekey":"92ee0d2a31867a8f215b0517d99a9409","url":"http://mini.eastday.com/mobile/180512060745166.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:07","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512060707_4f667adcf6d62ec0b177add95ac037e9_1_mwpm_03200403.jpg","title":"回望汶川(下)| 房子差不多修好了,那么人呢?","uniquekey":"164f8861bd6628737684dcff49f376d2","url":"http://mini.eastday.com/mobile/180512060707642.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:07","thumbnail_pic_s":"http://07.imgmini.eastday.com/mobile/20180512/20180512060707_72a977a668e79cc22e88db944b2871ce_1_mwpm_03200403.jpg","title":"竟为\u201c两岸一家亲\u201d向深绿道歉,谋求连任台北市长的柯文哲向蔡英文\u201c折腰认错\u201d","uniquekey":"a8832fbcd574b6675c0cf3a0d37937bc","url":"http://mini.eastday.com/mobile/180512060707366.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 06:07","thumbnail_pic_s":"http://09.imgmini.eastday.com/mobile/20180512/20180512060706_82f81c098284dc2144d47776df34b478_1_mwpm_03200403.jpg","title":"【钩沉】\u201c摸着石头过河\u201d,是邓小平的原创吗","uniquekey":"92f7d43683b6d8b300ecb8888148d70e","url":"http://mini.eastday.com/mobile/180512060706828.html"},{"author_name":"中青在线","category":"头条","date":"2018-05-12 06:01","thumbnail_pic_s":"http://03.imgmini.eastday.com/mobile/20180512/20180512060138_731141065c8389f053e98fd09959e9b2_2_mwpm_03200403.jpg","thumbnail_pic_s02":"http://03.imgmini.eastday.com/mobile/20180512/20180512060138_731141065c8389f053e98fd09959e9b2_1_mwpm_03200403.jpg","thumbnail_pic_s03":"http://03.imgmini.eastday.com/mobile/20180512/20180512060138_731141065c8389f053e98fd09959e9b2_3_mwpm_03200403.jpg","title":"忠诚守护 老人被埋170小时 家中狗狗挣脱绳索陪伴不离","uniquekey":"4ca3a79d5762fb1d130daeadfb1f7be9","url":"http://mini.eastday.com/mobile/180512060138223.html"},{"author_name":"人民网","category":"头条","date":"2018-05-12 05:37","thumbnail_pic_s":"http://07.imgmini.eastday.com/mobile/20180512/20180512053736_8f66fb9da7fc1f943a0ce8e61a694391_3_mwpm_03200403.jpg","thumbnail_pic_s02":"http://07.imgmini.eastday.com/mobile/20180512/20180512053736_8f66fb9da7fc1f943a0ce8e61a694391_4_mwpm_03200403.jpg","thumbnail_pic_s03":"http://07.imgmini.eastday.com/mobile/20180512/20180512053736_8f66fb9da7fc1f943a0ce8e61a694391_1_mwpm_03200403.jpg","title":"西安再添世界500强企业 将为大西安人才发展战略提供新动能","uniquekey":"e93a1d8243a9037b1da76adc7a793739","url":"http://mini.eastday.com/mobile/180512053736878.html"},{"author_name":"中国新闻网","category":"头条","date":"2018-05-12 05:36","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512053627_9945660161d740d7ed793166d7227a70_1_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512053627_9945660161d740d7ed793166d7227a70_2_mwpm_03200403.jpg","title":"高速车道突然飞来轮胎 司机握紧方向盘救了一车游客","uniquekey":"b006b13ae3d14707f881eb92fc914ecd","url":"http://mini.eastday.com/mobile/180512053627582.html"},{"author_name":"解放网","category":"头条","date":"2018-05-12 05:36","thumbnail_pic_s":"http://01.imgmini.eastday.com/mobile/20180512/20180512053610_4bc3792a8ae8dfa412a4da9f45478910_1_mwpm_03200403.jpg","title":"早读|上海将筹建\u201c中共一大纪念馆\u201d","uniquekey":"94eee6750d18b56e69e7f21639e3e5f1","url":"http://mini.eastday.com/mobile/180512053610949.html"},{"author_name":"西安晚报","category":"头条","date":"2018-05-12 05:23","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512052309_d81eabc5f596d49d94d73f8b3fbc6a8c_1_mwpm_03200403.jpg","title":"中国电子商务快速发展 给世界带来巨大商机","uniquekey":"fb1c5b67794834d0a6103a20b64854c0","url":"http://mini.eastday.com/mobile/180512052309026.html"},{"author_name":"大众网","category":"头条","date":"2018-05-12 05:15","thumbnail_pic_s":"http://04.imgmini.eastday.com/mobile/20180512/20180512051537_1f79912ff681c7cc4a96a6f97f967479_1_mwpm_03200403.jpg","title":"\u201c竹简\u201d寄情 感恩父母","uniquekey":"4aa30f5d94850ca14205845bc5847c5a","url":"http://mini.eastday.com/mobile/180512051537520.html"},{"author_name":"光明网","category":"头条","date":"2018-05-12 05:07","thumbnail_pic_s":"http://09.imgmini.eastday.com/mobile/20180512/20180512050734_de8eae16975f2ddf8223b7c549096c70_3_mwpm_03200403.jpg","thumbnail_pic_s02":"http://09.imgmini.eastday.com/mobile/20180512/20180512050734_de8eae16975f2ddf8223b7c549096c70_1_mwpm_03200403.jpg","thumbnail_pic_s03":"http://09.imgmini.eastday.com/mobile/20180512/20180512050734_de8eae16975f2ddf8223b7c549096c70_2_mwpm_03200403.jpg","title":"北京海运进出口货物七成走天津","uniquekey":"e491de85803b55c5412ad0fbb2346a87","url":"http://mini.eastday.com/mobile/180512050734360.html"},{"author_name":"凤凰网","category":"头条","date":"2018-05-12 04:56","thumbnail_pic_s":"http://02.imgmini.eastday.com/mobile/20180512/20180512045657_15014004f9669c5aee78579be692dd66_1_mwpm_03200403.jpg","thumbnail_pic_s02":"http://02.imgmini.eastday.com/mobile/20180512/20180512045657_15014004f9669c5aee78579be692dd66_2_mwpm_03200403.jpg","title":"生活中诱发痔疮的五个原因不可忽略, 痔疮的治疗方法","uniquekey":"2f2995abb898f94aeacecd6537013404","url":"http://mini.eastday.com/mobile/180512045657878.html"}]
     * msg : 成功的返回
     */

    private int code;
    private String msg;
    private List<DataBean> data;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * author_name : 大国军情
         * category : 头条
         * date : 2018-05-12 07:25
         * thumbnail_pic_s : http://04.imgmini.eastday.com/mobile/20180512/20180512_fe1bf1b6ec00098f9455c84dc81e6763_cover_mwpm_03200403.jpg
         * thumbnail_pic_s02 : http://04.imgmini.eastday.com/mobile/20180512/20180512_3f636fca330f2311583896aed3185196_cover_mwpm_03200403.jpg
         * thumbnail_pic_s03 : http://04.imgmini.eastday.com/mobile/20180512/20180512_793fab03dadcd417bf2d8e5e1e48a0f5_cover_mwpm_03200403.jpg
         * title : 美国被特朗普坑惨了!又有3个铁杆盟友公开唱对台戏!
         * uniquekey : 1326bf3c4505783d4a964f81b6220e9d
         * url : http://mini.eastday.com/mobile/180512072544020.html
         */

        private String author_name;
        private String category;
        private String date;
        private String thumbnail_pic_s;
        private String thumbnail_pic_s02;
        private String thumbnail_pic_s03;
        private String title;
        private String uniquekey;
        private String url;

        public String getAuthor_name() {
            return author_name;
        }

        public void setAuthor_name(String author_name) {
            this.author_name = author_name;
        }

        public String getCategory() {
            return category;
        }

        public void setCategory(String category) {
            this.category = category;
        }

        public String getDate() {
            return date;
        }

        public void setDate(String date) {
            this.date = date;
        }

        public String getThumbnail_pic_s() {
            return thumbnail_pic_s;
        }

        public void setThumbnail_pic_s(String thumbnail_pic_s) {
            this.thumbnail_pic_s = thumbnail_pic_s;
        }

        public String getThumbnail_pic_s02() {
            return thumbnail_pic_s02;
        }

        public void setThumbnail_pic_s02(String thumbnail_pic_s02) {
            this.thumbnail_pic_s02 = thumbnail_pic_s02;
        }

        public String getThumbnail_pic_s03() {
            return thumbnail_pic_s03;
        }

        public void setThumbnail_pic_s03(String thumbnail_pic_s03) {
            this.thumbnail_pic_s03 = thumbnail_pic_s03;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getUniquekey() {
            return uniquekey;
        }

        public void setUniquekey(String uniquekey) {
            this.uniquekey = uniquekey;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }
}
 
 

网络请求

package com.example.yinchenglong1601r20180521.model;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by Sun on 2017/11/11.
 */

public class NetWorkUtils {



    public  static  String getURL(String path){
    String data="";

        try {
            URL url = new URL(path);


            HttpURLConnection ht = (HttpURLConnection) url.openConnection();

            ht.setConnectTimeout(5000);
            ht.setReadTimeout(5000);
            int responseCode = ht.getResponseCode();


            if(responseCode==200){
                InputStream inputStream = ht.getInputStream();
               /* BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
                StringBuffer buffer=new StringBuffer();
                String con;
                while ((con=bufferedReader.readLine())!=null){
                    buffer.append(con);
                }
               String str=buffer.toString();
                return str;*/
                byte[] b=new byte[1024];
                int len=0;
                while((len=inputStream.read(b))!=-1){
                    String s = new String(b, 0, len);
                    data+=s;


                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
}
 
 

清单文件中二维码需要添加的权限和图片的权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.yinchenglong1601r20180521">
    <!--二维码所需权限-->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".model.App"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".view.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".view.Main2Activity"></activity>
    </application>

</manifest>

//二维码所需依赖
compile 'cn.yipianfengye.android:zxing-library:2.2'

猜你喜欢

转载自blog.csdn.net/yin_chenglong/article/details/80397395
今日推荐