Andriodjie——登陆注册展示商品

来源:互联网 发布:淘宝黄蓉代购是真的吗 编辑:程序博客网 时间:2024/05/18 00:37

Mvp模式为架构,从网络获取数据进行登录注册的功能,并展示商品信息



从上往下一次编辑

/*
 *INetDataModel

*/


public interface INetDataModel {    public String loadData(String urlPath);}

/*
 *MyNetDataModel

 */

public class MyNetDataModel implements INetDataModel {    @Override    public String loadData(String urlPath) {        String s = NetUTils.loadData(urlPath);        return s;    }}
/*
 *NetUTils

 */
public class NetUTils {    public static void loadImage(Context context , String url , ImageView view){        Glide.with(context)                .load(url)                .into(view);    }    public static String loadData(String urlPath){        try {            URL url = new URL(urlPath);            HttpURLConnection urlconnect = (HttpURLConnection) url.openConnection();            urlconnect.setRequestMethod("GET");            urlconnect.setConnectTimeout(5000);            urlconnect.setReadTimeout(5000);            if(urlconnect.getResponseCode() == 200){                InputStream is = urlconnect.getInputStream();                ByteArrayOutputStream baos = new ByteArrayOutputStream();                try {                    int len;                    byte[] b = new byte[1024];                    while( (len = is.read(b)) != -1 ){                        baos.write(b,0,len);                    }                } catch (IOException e) {                    e.printStackTrace();                }                System.out.println("LoadData = "+baos.toString());                return baos.toString();            }        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}

/*
 *MyNetDataPresenter

 */

public class MyNetDataPresenter {    private Context context;    private INetDataView iNetDataView;    private INetDataModel iNetDataModel;    public MyNetDataPresenter(Context context, INetDataView iNetDataView) {        this.context = context;        this.iNetDataView = iNetDataView;        iNetDataModel = new MyNetDataModel();    }    public void loadDataFrmoNet(){        new AsyncTask<String,Void,String>(){            @Override            protected void onPostExecute(String s) {                super.onPostExecute(s);                if(s != null){                    Gson gson = new Gson();                    ShangPinBean shangPinBean = gson.fromJson(s, ShangPinBean.class);                    List<ShangPinBean.DataBean.DefaultGoodsListBean> defaultGoodsList = shangPinBean.getData().getDefaultGoodsList();                    iNetDataView.setDataInShang(defaultGoodsList);                }            }            @Override            protected String doInBackground(String... strings) {                String s = iNetDataModel.loadData("http://m.yunifang.com/yunifang/mobile/home");                return s;            }        }.execute();    }}
/*
 *INetDataView

 */
public interface INetDataView {    public void setDataInShang(List<ShangPinBean.DataBean.DefaultGoodsListBean> defaultGoodsList);}
/*
 *GeRenActivity 
*/
public class GeRenActivity extends AppCompatActivity {    private SharedPreferences sp;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_ge_ren);        sp = getSharedPreferences("MyLogin",MODE_PRIVATE);    }    public void geren_shanpin(View view){        startActivity(new Intent(GeRenActivity.this,ShangPinActivity.class));    }}

/*
 *首页登录注册 
*/
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.EditText;import android.widget.Toast;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;public class MainActivity extends AppCompatActivity {    private EditText main_zhangaho,mian_mima;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        main_zhangaho = (EditText) findViewById(R.id.main_ed_zhanghao);        mian_mima = (EditText) findViewById(R.id.main_ed_mima);    }    public void main_login(View view){        if(main_zhangaho != null && mian_mima != null){            if(main_zhangaho.length() != 11){                Toast.makeText(this, "请输入是一位手机号", Toast.LENGTH_SHORT).show();            }else{                MyLogin();            }        }    }    private void MyLogin() {        new Thread(){            @Override            public void run() {                super.run();                try {                    OkHttpClient okHttpClient = new OkHttpClient();                    RequestBody formBody = new FormBody.Builder().add("mobile", main_zhangaho.getText().toString())                            .add("password", mian_mima.getText().toString())                            .build();                    Request request = new Request.Builder().url("http://120.27.23.105/user/login")                            .post(formBody)                            .build();                    Response jsonStr = okHttpClient.newCall(request).execute();                    InputStream is = jsonStr.body().byteStream();                    ByteArrayOutputStream baos = new ByteArrayOutputStream();                    try {                        int len;                        byte[] b = new byte[1024];                        while( (len = is.read(b)) != -1 ){                            baos.write(b,0,len);                        }                    } catch (IOException e) {                        e.printStackTrace();                    }                    SharedPreferences sp = getSharedPreferences("MyLogin",MODE_PRIVATE);                    sp.edit().putString("MyLogin",baos.toString()).commit();                    System.out.println("login ====== "+baos.toString());                    if(jsonStr.code() == 200){                        startActivity(new Intent(MainActivity.this,GeRenActivity.class));                    }                } catch (IOException e) {                    e.printStackTrace();                }            }        }.start();    }    public void main_zhuce(View view){       startActivity(new Intent(MainActivity.this,ZhuCeActivity.class));    }}
/*
 *注册页面
*/
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;public class ZhuCeActivity extends AppCompatActivity {    EditText zhuce_mima,zhuce_zhang;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_zhu_ce);        zhuce_mima = (EditText) findViewById(R.id.zhuce_mima);        zhuce_zhang = (EditText) findViewById(R.id.zhuce_zhang);    }    public void zhuce_zhuce(View view){        if(zhuce_mima != null && zhuce_zhang != null){            if(zhuce_zhang.length() == 11){                zhuceUser();            }else{                Toast.makeText(this, "请输入11为手机号", Toast.LENGTH_SHORT).show();            }        }else{            Toast.makeText(this, "不能为空", Toast.LENGTH_SHORT).show();        }    }    private void zhuceUser() {        new Thread(){            @Override            public void run() {                super.run();                try {                    OkHttpClient okHttpClient = new OkHttpClient();                    RequestBody formBody = new FormBody.Builder().add("mobile", zhuce_zhang.getText().toString())                            .add("password", zhuce_mima.getText().toString())                            .build();                    Request request = new Request.Builder().url("http://120.27.23.105/user/reg")                            .post(formBody)                            .build();                    Response jsonStr = okHttpClient.newCall(request).execute();                    InputStream is = jsonStr.body().byteStream();                    ByteArrayOutputStream baos = new ByteArrayOutputStream();                    try {                        int len;                        byte[] b = new byte[1024];                        while( (len = is.read(b)) != -1 ){                            baos.write(b,0,len);                        }                    } catch (IOException e) {                        e.printStackTrace();                    }                    System.out.println("zhuce ====== "+baos.toString());                    if(jsonStr.code() == 200){                        finish();                    }                } catch (IOException e) {                    e.printStackTrace();                }            }        }.start();    }}
/*
 *展示商品
*/
public class ShangPinActivity extends AppCompatActivity {    private ShangPinBean bean;    private EditText sousuo;    private RecyclerView recyclerView;    private MyRecyclerViewAdapter myRecyclerViewAdapter;    private Handler hand = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            String s = (String) msg.obj;            Gson gson=new Gson();            bean=gson.fromJson(s,ShangPinBean.class);            myRecyclerViewAdapter=new MyRecyclerViewAdapter(ShangPinActivity.this,bean);            recyclerView.setAdapter(myRecyclerViewAdapter);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_shang_pin);       // sousuo = (EditText) findViewById(R.id.sou);        recyclerView=(RecyclerView)findViewById(R.id.myRecycler);        GridLayoutManager linear=new GridLayoutManager(ShangPinActivity.this,1);        recyclerView.setLayoutManager(linear);        OkHttpClient mOkHttpClient = new OkHttpClient();        //创建一个Request        Request request = new Request.Builder()                .url("http://m.yunifang.com/yunifang/mobile/home")                .build();        System.out.println(request+"xxxxxxxxxxxx");        mOkHttpClient.newCall(request).enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {            }            @Override            public void onResponse(Call call, Response response) throws IOException {                InputStream inputStream = response.body().byteStream();                final ByteArrayOutputStream baos = new ByteArrayOutputStream();                int i;                final byte[] b = new byte[1024];                while( (i = inputStream.read(b)) != -1 ){                    baos.write(b,0,i);                }                Message msg = Message.obtain();                msg.obj = baos.toString();                hand.sendMessage(msg);            }        });    }//    public void qiehuan(View v){//        recyclerView.setLayoutManager(new GridLayoutManager(ShangPinActivity.this,2));//        myRecyclerViewAdapter.notifyDataSetChanged();//    }    class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.MyHolder>{        private Context context;        private ShangPinBean bean;        public MyRecyclerViewAdapter(Context context, ShangPinBean bean) {            this.context = context;            this.bean = bean;        }        @Override        public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {            MyHolder myHolder=new MyHolder(View.inflate(ShangPinActivity.this,R.layout.item1,null));            System.out.println("xxxx"+myHolder);            return myHolder;        }        @Override        public void onBindViewHolder(MyHolder holder, int position) {            holder.item1_title.setText(bean.getData().getDefaultGoodsList().get(position).getGoods_name());            holder.item1_price.setText(""+(int) bean.getData().getDefaultGoodsList().get(position).getShop_price());            NetUTils.loadImage(ShangPinActivity.this,bean.getData().getDefaultGoodsList().get(position).getGoods_img(),holder.item1_iamge);        }        @Override        public int getItemCount() {            return bean.getData().getDefaultGoodsList().size();        }        public class MyHolder extends RecyclerView.ViewHolder {            final TextView item1_title;            final TextView item1_price;            final ImageView item1_iamge;            public MyHolder(View itemView) {                super(itemView);                item1_title = (TextView) itemView.findViewById(R.id.item1_title);                item1_price = (TextView) itemView.findViewById(R.id.item1_price);                item1_iamge=(ImageView) itemView.findViewById(R.id.item1_iamge);            }        }    }}


原创粉丝点击