登录

来源:互联网 发布:数据库管理证书 编辑:程序博客网 时间:2024/04/29 22:54
//依赖
compile 'com.android.support:appcompat-v7:26.+'compile 'com.android.support.constraint:constraint-layout:1.0.2'compile 'com.squareup.okhttp3:okhttp:3.9.0'compile 'com.google.code.gson:gson:2.8.2'compile 'com.github.bumptech.glide:glide:4.0.0'testCompile 'junit:junit:4.12'compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'compile 'com.jcodecraeer:xrecyclerview:1.2.0'





//登录页面package com.example.zhoukao2lianxi.Activity;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentStatePagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.widget.TextView;import com.example.zhoukao2lianxi.Fragment.ListFragment;import com.example.zhoukao2lianxi.Fragment.LoginFragment;import com.example.zhoukao2lianxi.R;public class LoginActivity extends FragmentActivity implements View.OnClickListener { private ViewPager vpQQView; private TextView tvCen; private TextView tvLi; private TextView tvCenter; private TextView tvList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); vpQQView = (ViewPager) findViewById(R.id.vp_qqview); tvCen = (TextView)findViewById(R.id.tv_cen); tvLi = (TextView)findViewById(R.id.tv_li); tvCenter = (TextView) findViewById(R.id.tv_center); tvList = (TextView)findViewById(R.id.tv_list); tvCen.setOnClickListener(this); tvLi.setOnClickListener(this); tvCenter.setVisibility(View.VISIBLE); tvList.setVisibility(View.INVISIBLE); /* tvCenter.setVisibility(View.VISIBLE); tvList.setVisibility(View.INVISIBLE);*/ vpQQView.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { Fragment fragment = null; switch (position){ case 0: fragment=new LoginFragment(); break; case 1: fragment=new ListFragment(); break; } return fragment; } @Override public int getCount() { return 2; } }); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.tv_cen: tvCenter.setVisibility(View.VISIBLE); tvList.setVisibility(View.INVISIBLE); vpQQView.setCurrentItem(0); break; case R.id.tv_li: tvCenter.setVisibility(View.INVISIBLE); tvList.setVisibility(View.VISIBLE); vpQQView.setCurrentItem(1); break; } }}




/////注册
package com.example.zhoukao2lianxi.Activity;import android.content.Intent;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;import com.example.zhoukao2lianxi.MainActivity;import com.example.zhoukao2lianxi.R;import com.example.zhoukao2lianxi.SQlite;public class RegisterActivity extends AppCompatActivity {    private EditText etName;    private EditText etWord;    private Button butReg;    private SQLiteDatabase db;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_register);        etName = (EditText) findViewById(R.id.et_name);        etWord = (EditText) findViewById(R.id.et_word);        butReg = (Button) findViewById(R.id.but_reg);        final SQlite login = new SQlite(RegisterActivity.this, "Login", null, 1);        db = login.getReadableDatabase();        butReg.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                String username = etName.getText().toString().trim();                String password = etWord.getText().toString().trim();                String sql = "insert into user(UserName,PassWord) values ('"+username+"','"+password+"')";                //插入操作的SQL语句                db.execSQL(sql);//执行SQL语句                Intent intent = new Intent(RegisterActivity.this, MainActivity.class);                startActivity(intent);            }        });    }}






//p层package com.example.zhoukao2lianxi.Presenter;import com.example.zhoukao2lianxi.Http.OkHttpUtils;import com.example.zhoukao2lianxi.back.CallBack;import com.example.zhoukao2lianxi.back.IView;import java.util.HashMap;import java.util.Map;/** * author:Created by WangZhiQiang on 2017/11/11. */public class PresenterLogin { private IView iView; private static volatile PresenterLogin instance; public PresenterLogin(IView iView){ this.iView=iView; } /* public static PresenterLogin getInstance(){ if (instance==null){ synchronized (PresenterLogin.class){ if (null==instance){ instance = new PresenterLogin(); } } } return instance; }*/ public void getLogin(String url, String username, String password, Class cls, final IView iView){ Map<String,String> map = new HashMap<>(); map.put("mobile",username); map.put("password",password); OkHttpUtils.get(url, map, new CallBack() { @Override public void onSuccess(Object o) { iView.success(o); } @Override public void onfiaed(Exception e) { iView.fined(e); } },cls); } public void onBind(){ if (iView!=null){ iView=null; } }}





//拦截器
package com.example.zhoukao2lianxi.zu;import android.os.Build;import java.io.IOException;import okhttp3.Interceptor;import okhttp3.Request;import okhttp3.Response;/** * Created by 笔片 on 2017/10/16. * 网络拦截器 */public class LoggingInterceptor implements Interceptor{    private static final String UA = "User-Agent";    @Override    public Response intercept(Chain chain) throws IOException {        Request request = chain.request()                .newBuilder()                .addHeader(UA, makeUA())                .build();        return chain.proceed(request);    }    private String makeUA() {        String s = Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;        return Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;    }}






//Adapter
package com.example.zhoukao2lianxi.Adapter;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.bumptech.glide.Glide;import com.example.zhoukao2lianxi.Bean.JsonBean;import com.example.zhoukao2lianxi.R;import java.util.List;/** * author:Created by WangZhiQiang on 2017/11/11. */public class RecyclerVeiwAdapter extends RecyclerView.Adapter<RecyclerVeiwAdapter.myViewHandler> {    private Context context;    private List<JsonBean.SongListBean> list;    public RecyclerVeiwAdapter(Context context, List<JsonBean.SongListBean> list) {        this.context = context;        this.list = list;    }    @Override    public myViewHandler onCreateViewHolder(ViewGroup parent, int viewType) {        View inflate = View.inflate(context, R.layout.item1, null);        myViewHandler myViewHandler = new myViewHandler(inflate);        return myViewHandler;    }    @Override    public void onBindViewHolder(myViewHandler holder, int position) {        Glide.with(context).load(list.get(position).getPic_radio()).into(holder.ivPic);        holder.tvTitle.setText(list.get(position).getTitle());        holder.tvAuthor.setText(list.get(position).getAuthor());    }    @Override    public int getItemCount() {        return list.size();    }    class myViewHandler extends RecyclerView.ViewHolder{        private final ImageView ivPic;        private final TextView tvTitle;        private final TextView tvAuthor;        public myViewHandler(View itemView) {            super(itemView);            ivPic = (ImageView)itemView.findViewById(R.id.iv_pic);            tvTitle = (TextView)itemView.findViewById(R.id.tv_title);            tvAuthor = (TextView) itemView.findViewById(R.id.tv_author);        }    }}





//数据库
package com.example.zhoukao2lianxi;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * author:Created by WangZhiQiang on 2017/11/11. */public class SQlite extends SQLiteOpenHelper {    public SQlite(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {        super(context, "Login.db", null, 1);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        String sql = "create table User (Id integer primary key AUTOINCREMENT, UserName VARCHAR, PassWord integer)";        sqLiteDatabase.execSQL(sql);    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {    }}





///登录页面数据库加载




package com.example.zhoukao2lianxi;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import com.example.zhoukao2lianxi.Activity.LoginActivity;import com.example.zhoukao2lianxi.Activity.RegisterActivity;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText etUserName; private EditText etPassWord; private Button butLogin; private Button butRegister; private SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etUserName = (EditText) findViewById(R.id.et_username); etPassWord = (EditText) findViewById(R.id.et_password); butLogin = (Button) findViewById(R.id.but_login); butRegister = (Button) findViewById(R.id.but_register); butLogin.setOnClickListener(this); butRegister.setOnClickListener(this); SQlite sQlite = new SQlite(MainActivity.this, "Login.db", null, 1); db = sQlite.getReadableDatabase(); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.but_login: String username = etUserName.getText().toString().trim(); String password = etPassWord.getText().toString().trim(); //select * from student where sex='男' and age>20; if (username==null||password==null||username==""||password==""){ Toast.makeText(MainActivity.this,"请输入用户名/密码",Toast.LENGTH_SHORT).show(); }else { String sql= "select * from User where UserName='"+username+"' AND "+"PassWord="+password; Cursor cursor = db.rawQuery(sql, null); if (cursor.getCount()>0){ Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this, LoginActivity.class); startActivity(intent); }else { Toast.makeText(MainActivity.this,"登陆失败",Toast.LENGTH_SHORT).show(); }} /*PresenterLogin.getInstance().getLogin("http://120.27.23.105/user/login", username, password, LoginBean.class, new IView() { @Override public void success(Object o) { LoginBean loginBean= (LoginBean) o; Toast.makeText(MainActivity.this,""+loginBean.getMsg(),Toast.LENGTH_SHORT).show(); String msg = loginBean.getCode(); int i = Integer.valueOf(msg); if (i==0){ Intent intent = new Intent(MainActivity.this, LoginActivity.class); startActivity(intent); } } @Override public void fined(Exception e) { Toast.makeText(MainActivity.this,""+e,Toast.LENGTH_SHORT).show(); } });*/ break; case R.id.but_register: Intent intent = new Intent(MainActivity.this, RegisterActivity.class); startActivity(intent); break; } }}







////下拉刷新上啦加载




package com.example.zhoukao2lianxi.Fragment;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.StaggeredGridLayoutManager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.example.zhoukao2lianxi.Adapter.RecyclerVeiwAdapter;import com.example.zhoukao2lianxi.Bean.JsonBean;import com.example.zhoukao2lianxi.Presenter.PresenterLogin;import com.example.zhoukao2lianxi.R;import com.example.zhoukao2lianxi.back.IView;import com.jcodecraeer.xrecyclerview.XRecyclerView;import java.util.ArrayList;import java.util.List;/** * author:Created by WangZhiQiang on 2017/11/11. */public class ListFragment extends Fragment implements IView { private XRecyclerView rvlList; private List<JsonBean.SongListBean> list; private RecyclerVeiwAdapter recyclerVeiwAdapter; private int num=0; private int size=10; private Handler handler= new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 0: num=0;/* size = 10;*/ list.clear(); addData(); break; case 1: /* if (num==1){ num=0; size-=1; } if (size==1){ size=10; }*/ num+=1; list.clear(); addData(); break; } } }; private PresenterLogin presenterLogin; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { addData(); View view = View.inflate(getContext(), R.layout.layout_list, null); rvlList = (XRecyclerView)view.findViewById(R.id.rvl_list); /*LinearLayoutManager linearLayoutManager = new LinearLayoutManager(ListFragment.this, LinearLayoutManager.VERTICAL, false);*/ list = new ArrayList<>(); rvlList.setPullRefreshEnabled(true); rvlList.setLoadingMoreEnabled(true); //新建瀑布流的布局 StaggeredGridLayoutManager sgm = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL); //设置滑动方向 sgm.setOrientation(StaggeredGridLayoutManager.VERTICAL); //设置布局 rvlList.setLayoutManager(sgm); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false); rvlList.setLayoutManager(linearLayoutManager); recyclerVeiwAdapter = new RecyclerVeiwAdapter(getContext(), list); rvlList.setAdapter(recyclerVeiwAdapter); rvlList.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { rvlList.refreshComplete(); handler.sendEmptyMessage(0); } @Override public void onLoadMore() { rvlList.loadMoreComplete(); handler.sendEmptyMessage(1); } });/* XRecyclerView.LoadingListener loadingListener = new XRecyclerView.LoadingListener() { @Override public void onRefresh() { num = 0; addData(); recyclerVeiwAdapter.notifyDataSetChanged(); } @Override public void onLoadMore() { num += 1; addData(); recyclerVeiwAdapter.notifyDataSetChanged(); } };*/ /*rvlList.setLoadingListener(loadingListener);*/ return view; } private void addData() { presenterLogin = new PresenterLogin(this); presenterLogin.getLogin("http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.billboard.billList&type=1&size="+size+"&offset="+num, "","", JsonBean.class, new IView() { @Override public void success(Object o) { JsonBean jsonBean= (JsonBean) o; List<JsonBean.SongListBean> song_list = jsonBean.getSong_list(); if (o!=null){ list.addAll(song_list); recyclerVeiwAdapter.notifyDataSetChanged(); } } @Override public void fined(Exception e) { Log.e("-----*****---",""+e); } }); } @Override public void success(Object o) { } @Override public void fined(Exception e) { } @Override public void onDestroy() { super.onDestroy(); if(presenterLogin==null){ presenterLogin.onBind(); } }}



-------Okhttp
package com.example.zhoukao2lianxi.Http;import android.os.Handler;import android.util.Log;import com.example.zhoukao2lianxi.GsonUtils.GsonUtil;import com.example.zhoukao2lianxi.back.CallBack;import com.example.zhoukao2lianxi.zu.LoggingInterceptor;import java.io.IOException;import java.util.Map;import okhttp3.Call;import okhttp3.Callback;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;/** * author:Created by WangZhiQiang on 2017/11/11. */public class OkHttpUtils { public static Handler handler=new Handler(); private static volatile OkHttpUtils instance; public OkHttpUtils(){} public OkHttpUtils getInstance(){ if (null==instance){ synchronized (OkHttpUtils.class){ if (instance==null){ instance = new OkHttpUtils(); } } } return instance; } public static void get(String url, Map<String,String> map, final CallBack callBack, final Class cls){ StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(url); /* if (stringBuffer.indexOf("?")!=-1){ if (stringBuffer.indexOf("?")!=stringBuffer.length()-1){ stringBuffer.append("&"); } }else { stringBuffer.append("?"); } for(Map.Entry<String,String> entry:map.entrySet()){ stringBuffer.append(entry.getKey()) .append("=") .append(entry.getValue()) .append("&"); } if (stringBuffer.indexOf("?")==stringBuffer.length()){ stringBuffer.deleteCharAt(stringBuffer.lastIndexOf("?")); }else if (stringBuffer.indexOf("&")==stringBuffer.length()){ stringBuffer.deleteCharAt(stringBuffer.lastIndexOf("&")); }*/ Log.e("-------url--------",stringBuffer.toString()); OkHttpClient okHttpClient = new OkHttpClient.Builder() .addInterceptor(new LoggingInterceptor()) .build(); Request build = new Request.Builder() .get() .url(stringBuffer.toString()) .build(); Call call = okHttpClient.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() { callBack.onfiaed(e); } }); } @Override public void onResponse(Call call, Response response) throws IOException { final String string = response.body().string(); Log.e("------------",""+string); handler.post(new Runnable() { Object o = GsonUtil.getInstance().fromJson(string, cls); @Override public void run() { callBack.onSuccess(o); } }); } }); }}
原创粉丝点击