网络请求数据登录 、SharedPreferences:记住密码,自动登录、fragment和RadioGroup联动:网络获取数据listview展示,登录的账号生成二维码

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

import liyuanqi.bwie.com.di2zhoukaolx.activity.DataActivity;
import liyuanqi.bwie.com.di2zhoukaolx.model.JsonBeanDengLu;
import liyuanqi.bwie.com.di2zhoukaolx.parsenter.ActivityPrasenter;

public class MainActivity extends AppCompatActivity implements View.OnClickListener, ActivityPrasenter.DengluData {
SharedPreferences mSharedPreferences;
private EditText username;
private EditText password;
private Button login;
CheckBox jizhu;
CheckBox zidong;
SharedPreferences.Editor edit;
private ActivityPrasenter mActivityPrasenter;
private String mZhanghao;
private String mMama;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    mActivityPrasenter.Denglu();
    DeangPanduan();
    checkboxischeck();


}

private void DeangPanduan() {
    boolean zidongs = mSharedPreferences.getBoolean("zidongs", false);
    boolean jizhus = mSharedPreferences.getBoolean("jizhus", false);
     mZhanghao = mSharedPreferences.getString("zhanghao", "");
     mMama = mSharedPreferences.getString("mima", "");
    if (zidongs){
        Intent intent=new Intent(MainActivity.this, DataActivity.class);
        startActivity(intent);

    }
    if (jizhus){
        jizhu.setChecked(true);
        username.setText(mZhanghao);
        password.setText(mMama);

    }
}

private void checkboxischeck() {
    zidong.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (zidong.isChecked()){
                jizhu.setChecked(true);
                edit.putBoolean("zidongs",true);
                edit.putBoolean("jizhus",true);
                edit.commit();
            }
        }
    });
    jizhu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (jizhu.isChecked()){
                edit.putBoolean("jizhus",true);
                edit.commit();
            }else {
                zidong.setChecked(false);
                edit.putBoolean("jizhus",false);
                edit.putBoolean("zidongs",false);
                edit.commit();
            }
        }
    });

}

private void initView() {
    username = (EditText) findViewById(R.id.username);
    password = (EditText) findViewById(R.id.password);
    jizhu = (CheckBox) findViewById(R.id.jizhu);
    zidong = (CheckBox) findViewById(R.id.zhidong);
    login = (Button) findViewById(R.id.login);
    mSharedPreferences = getSharedPreferences("lyq", MODE_PRIVATE);
     edit = mSharedPreferences.edit();
    mActivityPrasenter = new ActivityPrasenter(this);
    login.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.login:
            submit();
            break;
    }
}

private void submit() {
    // validate
    String usernameString = username.getText().toString().trim();
    String passwordString = password.getText().toString().trim();
    if (isnull(usernameString,passwordString)){

        if (mZhanghao.equals(usernameString)&&mMama.equals(passwordString)){
            Intent intent=new Intent(MainActivity.this, DataActivity.class);
            startActivity(intent);
            Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_SHORT).show();

        }else {
            Toast.makeText(MainActivity.this,"账号或密码错误",Toast.LENGTH_SHORT).show();
        }
    }





}
public  boolean isnull(String usernameString, String passwordString){
    if (TextUtils.isEmpty(usernameString)) {
        Toast.makeText(this, "usernameString不能为空", Toast.LENGTH_SHORT).show();
        return false;
    }
    if (TextUtils.isEmpty(passwordString)) {
        Toast.makeText(this, "passwordString不能为空", Toast.LENGTH_SHORT).show();
        return false;
    }

    return true;
}



@Override
public void cg(JsonBeanDengLu.DataBean resultBeans) {
    edit.putString("zhanghao",resultBeans.getName());
    edit.putString("mima", String.valueOf(resultBeans.getMobile()));
    edit.commit();
    Log.e("lyq",resultBeans.getName()+",,"+resultBeans.getId()+",,"+resultBeans.getMobile());

}

@Override
public void sb() {
    Toast.makeText(MainActivity.this,"数据请求失败",Toast.LENGTH_SHORT).show();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    mActivityPrasenter=null;
}

}

登录成功的页面
import android.os.Bundle;
import android.support.annotation.Nullable;

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

import android.widget.RadioButton;
import android.widget.RadioGroup;

import liyuanqi.bwie.com.di2zhoukaolx.R;
import liyuanqi.bwie.com.di2zhoukaolx.fragment.FragmentData;
import liyuanqi.bwie.com.di2zhoukaolx.fragment.FragmentMingPian;

public class DataActivity extends FragmentActivity{

private RadioButton btn1;
private RadioButton btn2;
private RadioGroup groups;
FragmentManager supportFragmentManager;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.towactivity);
    initView();
    initgroup();
     supportFragmentManager = getSupportFragmentManager();
    FragmentTransaction  fragmentTransaction = supportFragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.frams,new FragmentData());
    fragmentTransaction.commit();
}

private void initgroup() {
    groups.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId){
                case R.id.btn1:
                    FragmentTransaction  fragmentTransaction1= supportFragmentManager.beginTransaction();
                    fragmentTransaction1.replace(R.id.frams,new FragmentData());
                    fragmentTransaction1.commit();
                    break;
                case R.id.btn2:
                    FragmentTransaction  fragmentTransaction2= supportFragmentManager.beginTransaction();
                    fragmentTransaction2.replace(R.id.frams,new FragmentMingPian());
                    fragmentTransaction2.commit();
                    break;
            }
        }
    });
}

private void initView() {

    btn1 = (RadioButton) findViewById(R.id.btn1);
    btn2 = (RadioButton) findViewById(R.id.btn2);
    groups = (RadioGroup) findViewById(R.id.groups);
}

}

listview展示的:V层

import android.os.Bundle;
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 android.widget.Toast;

import java.util.List;

import liyuanqi.bwie.com.di2zhoukaolx.R;
import liyuanqi.bwie.com.di2zhoukaolx.model.DataAdapter;
import liyuanqi.bwie.com.di2zhoukaolx.model.JsonBeanData;
import liyuanqi.bwie.com.di2zhoukaolx.parsenter.DataPrasenter;

public class FragmentData extends Fragment implements DataPrasenter.Data {
private ListView lsv;
DataAdapter dataAdapter;
DataPrasenter dataPrasenter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = View.inflate(getActivity(), R.layout.datafragment, null);
lsv = (ListView) view.findViewById(R.id.lsv);
dataAdapter = new DataAdapter(getActivity());
dataPrasenter = new DataPrasenter(this);
dataPrasenter.shujuhuoqu();
lsv.setAdapter(dataAdapter);
return view;
}

@Override
public void cg(List<JsonBeanData.DataBean> list) {
    dataAdapter.datalist(list);
}

@Override
public void sb() {
    Toast.makeText(getActivity(),"数据获取失败",Toast.LENGTH_SHORT).show();
}

}

listview展示的:P层

import android.os.AsyncTask;

import java.util.List;

import liyuanqi.bwie.com.di2zhoukaolx.model.HttpUrlData;
import liyuanqi.bwie.com.di2zhoukaolx.model.JsonBeanData;

public class DataPrasenter {

public DataPrasenter(Data data) {
    mData = data;
}

public void shujuhuoqu() {
    String wz="http://www.xieast.com/api/news/news.php?type=top&page=1&tdsourcetag=s_pcqq_aiomsg";
    new AsyncTask<String, Void, List<JsonBeanData.DataBean>>() {

        @Override
        protected List<JsonBeanData.DataBean> doInBackground(String... strings) {

            return HttpUrlData.pdjieguo(strings[0]);
        }

        @Override
        protected void onPostExecute(List<JsonBeanData.DataBean> resultBeans) {
            super.onPostExecute(resultBeans);
            if (resultBeans==null){
                mData.sb();
                return;
            }
            mData.cg(resultBeans);

        }

    }.execute(wz);
}

/* */
public interface Data{
    void cg(List<JsonBeanData.DataBean> list);
    void sb();
}
private Data mData;

}

listview展示的:M层

import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;

public class HttpUrlData {

static JsonBeanData jsonBean;
public static List<JsonBeanData.DataBean> pdjieguo(String string) {

    try {   URL url = new URL(string);

        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.setReadTimeout(5000);
        urlConnection.setConnectTimeout(5000);
        int code = urlConnection.getResponseCode();
        if (code==200){
            String jsonString=httpstring(urlConnection.getInputStream());
            jsonBean = new Gson().fromJson(jsonString, JsonBeanData.class);
        }
        return jsonBean==null?null:jsonBean.getData();

    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

private static String httpstring(InputStream inputStream) {
    StringBuilder builder = new StringBuilder();
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    try {
        for (String temp=reader.readLine();temp!=null;temp=reader.readLine()){
            builder.append(temp);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        try {
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return builder.toString();
}

}

生成二维码的代码

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.Bundle;
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.google.zxing.WriterException;
import com.yzq.zxinglibrary.encode.CodeCreator;

import liyuanqi.bwie.com.di2zhoukaolx.MainActivity;
import liyuanqi.bwie.com.di2zhoukaolx.R;

public class FragmentMingPian extends Fragment {
private ImageView img;
SharedPreferences mSharedPreferences;
private Button mTui;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = View.inflate(getActivity(), R.layout.mingpianfram, null);
    initView(view);
     mSharedPreferences=getActivity().getSharedPreferences("lyq", Context.MODE_PRIVATE);
    String zhanghao = mSharedPreferences.getString("zhanghao", "");
    try {
        Bitmap bitmap= CodeCreator.createQRCode(zhanghao,400,400,null);
        img.setImageBitmap(bitmap);
    } catch (WriterException e) {
        e.printStackTrace();
    }
    mTui.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent(getActivity(), MainActivity.class);
            startActivity(intent);
            onDestroy();
        }
    });
    return view;
}

private void initView(View view) {
     mTui = view.findViewById(R.id.tchu);
    img = (ImageView) view.findViewById(R.id.img);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值