//MainActivity
public class MainActivity extends AppCompatActivity { private String mNames[] = { "硬盘螺丝","老人机","海尔冰箱", "电视机","旅游用品","家备小电器", "服饰" }; private flow flowLayout; private EditText ed; private Button sousuo; private TextView lishi; private ListView listView; private Button qing; private Add dao; private List<String> sel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initChildViews(); //获取控件 ed = (EditText) findViewById(R.id.et); sousuo = (Button) findViewById(R.id.sousuo); lishi = (TextView) findViewById(R.id.lishi); listView = (ListView) findViewById(R.id.lv); qing = (Button) findViewById(R.id.qingkong); dao = new Add(MainActivity.this); //查询数据路 sel = dao.sel(); if(sel.size()>0){ ArrayAdapter<String> stringArrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, sel); listView.setAdapter(stringArrayAdapter); lishi.setVisibility(View.VISIBLE); qing.setVisibility(View.VISIBLE); } //点击搜索 sousuo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //获取去输入框信息 String s = ed.getText().toString(); //判断输入框不为空 if(!s.equals("")){ dao.add(s); ed.setText(""); //展示数据库 sel = dao.sel(); if(sel.size()>0){ ArrayAdapter<String> stringArrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, sel); listView.setAdapter(stringArrayAdapter); lishi.setVisibility(View.VISIBLE); qing.setVisibility(View.VISIBLE); } Intent intent = new Intent(MainActivity.this, NeirongActivity.class); intent.putExtra("kuang",s); startActivity(intent); }else{ Toast.makeText(MainActivity.this,"搜索框为空",Toast.LENGTH_SHORT).show(); } } }); //点击清空数据 qing.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { dao.del(); //展示数据库 sel = dao.sel(); ArrayAdapter<String> stringArrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, sel); listView.setAdapter(stringArrayAdapter); lishi.setVisibility(View.INVISIBLE); qing.setVisibility(View.INVISIBLE); } }); } private void initChildViews() { flowLayout = (flow) findViewById(R.id.ffff); ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); lp.leftMargin = 5; lp.rightMargin = 5; lp.topMargin = 5; lp.bottomMargin = 5; for(int i = 0; i < mNames.length; i ++){ TextView view = new TextView(this); view.setText(mNames[i]); view.setTextColor(Color.WHITE); view.setBackgroundDrawable(getResources().getDrawable(R.drawable.textview_bg)); flowLayout.addView(view,lp); } } }
//NeirongActivity
public class NeirongActivity extends AppCompatActivity implements Pjiekou, Jiekou { private ImageView fan; private RecyclerView res; private Mypresent mypresent; private CheckBox grid; boolean flag=false; private List<Datadatadbean.DataBean> data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_neirong); fan = (ImageView) findViewById(R.id.fan); res = (RecyclerView) findViewById(R.id.res); grid = (CheckBox) findViewById(R.id.grid); grid.setChecked(flag); Intent intent = getIntent(); String kuang = intent.getStringExtra("kuang"); mypresent = new Mypresent(this); mypresent.geturl("https://www.zhaoapi.cn/product/searchProducts?keywords="+ URLEncoder.encode(kuang)+"&page=1"+"&source=android"); fan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } @Override public void chneggong(String json) { Gson gson = new Gson(); Datadatadbean js = gson.fromJson(json, Datadatadbean.class); data = js.getData(); runOnUiThread(new Runnable() { @Override public void run() { //适配器 控制器 res.setLayoutManager(new LinearLayoutManager(NeirongActivity.this,LinearLayoutManager.VERTICAL,false)); LinAdapter linAdapter = new LinAdapter(data, NeirongActivity.this); linAdapter.getthis(NeirongActivity.this); res.setAdapter(linAdapter); } }); grid.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if(flag){ runOnUiThread(new Runnable() { @Override public void run() { //适配器 控制器 res.setLayoutManager(new LinearLayoutManager(NeirongActivity.this,LinearLayoutManager.VERTICAL,false)); LinAdapter linAdapter = new LinAdapter(data, NeirongActivity.this); res.setAdapter(linAdapter); linAdapter.getthis(NeirongActivity.this); } }); grid.setChecked(false); flag=grid.isChecked(); }else{ runOnUiThread(new Runnable() { @Override public void run() { //适配器 控制器 res.setLayoutManager(new StaggeredGridLayoutManager(2, OrientationHelper.VERTICAL)); GridAdapter linAdapter = new GridAdapter(data, NeirongActivity.this); res.setAdapter(linAdapter); linAdapter.getthis(NeirongActivity.this); } }); grid.setChecked(true); flag=grid.isChecked(); } } }); } @Override public void click(int postion) { Intent intent = new Intent(NeirongActivity.this, XiangqingActivity.class); intent.putExtra("pid",data.get(postion).getPid()); startActivity(intent); } }
//XiangqingActivity
public class XiangqingActivity extends AppCompatActivity { private XBanner xb; private TextView tel; private TextView price; private Button tian; private int uid; List<String> list=new ArrayList<>(); private TextView head; private TextView yuan; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xiangqing); xb = (XBanner) findViewById(R.id.xb); tel = (TextView) findViewById(R.id.tel); price = (TextView) findViewById(R.id.price); yuan = (TextView) findViewById(R.id.yuanprice); head = (TextView) findViewById(R.id.head); tian = (Button) findViewById(R.id.tianjia); Intent intent = getIntent(); uid = intent.getIntExtra("pid", 0); info(); } private void info() { // Toast.makeText(XiangqingActivity.this,""+uid,Toast.LENGTH_SHORT).show(); OkUrl.doget("https://www.zhaoapi.cn/product/getProductDetail" + "?" + "pid=" + uid + "&source=android", new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, final Response response) throws IOException { if(response.isSuccessful()){ runOnUiThread(new Runnable() { @Override public void run() { String string = null; try { string = response.body().string(); Gson gson = new Gson(); Chabean chabean = gson.fromJson(string, Chabean.class); Chabean.DataBean data = chabean.getData(); String[] split = data.getImages().split("\\|"); for (int i=0;i<split.length;i++){ list.add(split[i]); } xb.setmAdapter(new XBanner.XBannerAdapter() { @Override public void loadBanner(XBanner banner, View view, int position) { ImageLoader.getInstance().displayImage(list.get(position), (ImageView) view, Imagbase.getDefaultOption()); } }); xb.setData(list); tel.setText(data.getTitle()); head.setText(data.getSubhead()); yuan.setText("原价:"+data.getPrice()); yuan.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG); price.setText("优惠价:"+data.getBargainPrice()); } catch (IOException e) { e.printStackTrace(); } } }); } } }); //添加购物车 tian.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { OkUrl.doget("https://www.zhaoapi.cn/product/addCart?uid=2834&pid=" + uid + "&source=android", new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, final Response response) throws IOException { if(response.isSuccessful()){ runOnUiThread(new Runnable() { @Override public void run() { try { String string = response.body().string(); JSONObject js=new JSONObject(string); String msg = js.getString("msg"); if(msg.equals("加购成功")){ Toast.makeText(XiangqingActivity.this,msg,Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(XiangqingActivity.this,msg,Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } }); } } }); } }); } }
//数据库 Add.java
public class Add { private final Mysql db; public Add(Context ctx) { db = new Mysql(ctx); } /* * 添加 * */ public String add(String json){ SQLiteDatabase database = db.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("jj", json); database.insert("shuju", null, values); database.close(); return null; } //查询 public List<String> sel(){ SQLiteDatabase cha = db.getReadableDatabase(); List<String> list=new ArrayList<>(); Cursor cursor = cha.rawQuery("select * from shuju", null); while(cursor.moveToNext()){ String s = cursor.getString(1); list.add(s); } return list; } public void del() { SQLiteDatabase writableDatabase = db.getWritableDatabase(); writableDatabase.execSQL("delete from shuju"); } }
//mysql.java
public class Mysql extends SQLiteOpenHelper { public Mysql(Context context) { super(context, "sq.db", null, 1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { //创建表 sqLiteDatabase.execSQL("create table shuju(id integer primary key autoincrement,jj varchar(50) )"); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }
//JieKou.java
public interface Jiekou { void click(int postion); } //presenter文件夹下_PJiekou.javapublic interface Pjiekou { void chneggong(String json); }