首先导入依赖
implementation ‘com.android.support:recyclerview-v7:28.0.0’ implementation ‘com.github.bumptech.glide:glide:4.8.0’
implementation ‘com.google.code.gson:gson:2.8.5’
implementation ‘com.squareup.okhttp3:okhttp:3.12.0’
implementation ‘com.youth.banner:banner:1.4.10’
加入权限

布局文件

activity_main

    <android.support.v7.widget.RecyclerViewandroid:id="@+id/left_recy"android:layout_width="100dp"android:layout_height="match_parent"android:background="@color/gray"></android.support.v7.widget.RecyclerView><android.support.v7.widget.RecyclerViewandroid:id="@+id/right_recy"android:layout_width="match_parent"android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</LinearLayout><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="70dp"><ImageViewandroid:id="@+id/shop_car"android:layout_width="wrap_content"android:layout_height="wrap_content" android:layout_centerVertical="true"android:layout_marginLeft="10dp"android:src="@drawable/gouwuc_r"/><TextViewandroid:id="@+id/goods_price"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="价格:"android:layout_marginLeft="20dp"android:layout_centerVertical="true"/><TextViewandroid:id="@+id/goods_num"android:layout_width="30dp"android:layout_height="30dp"android:textSize="10sp"android:gravity="center"android:layout_marginLeft="20dp"android:layout_marginTop="10dp"android:background="@drawable/cire_red"android:textColor="@color/white"android:text="7"/>
</RelativeLayout>

left_item

right_item

<TextViewandroid:id="@+id/text"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:layout_toRightOf="@+id/image"android:padding="10dp"android:text="aaa" /><TextViewandroid:id="@+id/text_price"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@+id/text"android:layout_marginTop="5dp"android:layout_toRightOf="@+id/image"android:padding="10dp"android:text="价格" /><com.lll.dc_lx.AddSubLayoutandroid:id="@+id/add_sub_layout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentBottom="true"android:layout_marginRight="20dp"android:layout_marginBottom="20dp"></com.lll.dc_lx.AddSubLayout>

加减器(car_add_sub_layout)
横向布局

<TextViewandroid:id="@+id/text_number"android:layout_width="60dp"android:layout_height="30dp"android:gravity="center"android:textSize="14sp"android:text="1000" /><TextViewandroid:id="@+id/btn_sub"android:layout_width="30dp"android:layout_height="30dp"android:textSize="20sp"android:focusable="false"android:gravity="center"android:background="@drawable/car_btn_bg"android:text="-" />

cire_red样式布局

<?xml version="1.0" encoding="utf-8"?>

<solidandroid:color="#D81B60"></solid>

car_btn_bg样式布局

<?xml version="1.0" encoding="utf-8"?>

代码

MainActivity页面
package com.lll.dc_lx;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.lll.dc_lx.adapter.LeftAdapter;
import com.lll.dc_lx.adapter.RightAdapter;
import com.lll.dc_lx.bean.Goods;
import com.lll.dc_lx.bean.Result;
import com.lll.dc_lx.bean.Shop;
import com.lll.dc_lx.core.BasePresenter;
import com.lll.dc_lx.core.DataCall;
import com.lll.dc_lx.presenter.CartPresenter;

import java.util.List;

public class MainActivity extends AppCompatActivity implements DataCall<List> {

private RecyclerView left_recy;
private RecyclerView right_recy;
private TextView mSumPrice;
private TextView mCount;
private LeftAdapter leftAdapter;
private RightAdapter rightAdapter;
private CartPresenter cartPresenter;@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);left_recy = findViewById(R.id.left_recy);right_recy = findViewById(R.id.right_recy);mSumPrice = findViewById(R.id.goods_price);mCount = findViewById(R.id.goods_num);cartPresenter = new CartPresenter(this);left_recy.setLayoutManager(new LinearLayoutManager(this));right_recy.setLayoutManager(new LinearLayoutManager(this));//创建适配器leftAdapter = new LeftAdapter();rightAdapter = new RightAdapter();leftAdapter.setOnItemClickListenter(new LeftAdapter.OnItemClickListenter() {@Overridepublic void onItemClick(Shop shop) {rightAdapter.clearList();//清空数据rightAdapter.addAll(shop.getList());rightAdapter.notifyDataSetChanged();}});left_recy.setAdapter(leftAdapter);rightAdapter.setOnNumListener(new RightAdapter.OnNumListener() {@Overridepublic void onNum() {calculatePrice(leftAdapter.getList());}});right_recy.setAdapter(rightAdapter);cartPresenter.requestData();
}private void calculatePrice(List<Shop> list) {double totalPrice=0;int totalNum = 0;for (int i = 0; i < list.size(); i++) {//循环的商家Shop shop = list.get(i);for (int j = 0; j < shop.getList().size(); j++) {Goods goods = shop.getList().get(j);//计算价格totalPrice = totalPrice + goods.getNum() * goods.getPrice();totalNum+=goods.getNum();//计数}}mSumPrice.setText("价格:"+totalPrice);mCount.setText(""+totalNum);
}@Override
public void success(List<Shop> data) {calculatePrice(data);//计算价格和数量leftAdapter.addAll(data);//左边的添加类型//得到默认选中的shop,设置上颜色和背景Shop shop = data.get(1);shop.setTextColor(0xff000000);shop.setBackground(R.color.white);rightAdapter.addAll(shop.getList());leftAdapter.notifyDataSetChanged();rightAdapter.notifyDataSetChanged();
}@Override
public void fail(Result result) {Toast.makeText(this, result.getCode() + "   " + result.getMsg(), Toast.LENGTH_LONG).show();
}

}

AddSubLayout页面
package com.lll.dc_lx;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class AddSubLayout extends LinearLayout implements View.OnClickListener {

private TextView mAddBtn;
private TextView mSubBtn;
private TextView mNumText;
private AddSubListener addSubListener;public AddSubLayout(Context context) {super(context);init();
}public AddSubLayout(Context context, AttributeSet attrs) {super(context, attrs);init();
}public AddSubLayout(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init();
}private void init() {View view = View.inflate(getContext(), R.layout.car_add_sub_layout, this);mAddBtn = view.findViewById(R.id.btn_add);mSubBtn = view.findViewById(R.id.btn_sub);mNumText = view.findViewById(R.id.text_number);mAddBtn.setOnClickListener(this);mSubBtn.setOnClickListener(this);
}@Override
public void onClick(View v) {int number = Integer.parseInt(mNumText.getText().toString());switch (v.getId()){case R.id.btn_add:number++;mNumText.setText(number+"");break;case R.id.btn_sub:if (number==0){Toast.makeText(getContext(),"数量不能小于0",Toast.LENGTH_LONG).show();return;}number--;mNumText.setText(number+"");break;}if (addSubListener!=null){addSubListener.addSub(number);}
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {super.onLayout(changed, l, t, r, b);int width = r-l;//getWidth();int height = b-t;//getHeight();}public void setCount(int count) {mNumText.setText(count+"");
}public void setAddSubListener(AddSubListener addSubListener) {this.addSubListener = addSubListener;
}public interface AddSubListener{void addSub(int count);
}

}

p层
CartPresenter页面
package com.lll.dc_lx.presenter;

import com.lll.dc_lx.bean.Result;
import com.lll.dc_lx.core.BasePresenter;
import com.lll.dc_lx.core.DataCall;
import com.lll.dc_lx.model.CarModel;

public class CartPresenter extends BasePresenter {
public CartPresenter(DataCall dataCall) {
super(dataCall);
}

@Override
protected Result getData(Object... args) {Result result = CarModel.goodsList();//调用网络请求获取数据return result;
}

}
model层
CarModel页面
package com.lll.dc_lx.model;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.lll.dc_lx.bean.Result;
import com.lll.dc_lx.bean.Shop;
import com.lll.dc_lx.http.HttpUtils;

import java.lang.reflect.Type;
import java.util.List;

public class CarModel {
public static Result goodsList() {
String resultString = HttpUtils.get(“http://www.zhaoapi.cn/product/getCarts?uid=71”);
//开始解析
Gson gson = new Gson();
Type type = new TypeToken<Result<List>>() {
}.getType();
Result result = gson.fromJson(resultString, type);
return result;
}
}
Http层
HttpUtils页面
package com.lll.dc_lx.http;

import android.util.Log;

import java.io.File;

import okhttp3.FormBody;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class HttpUtils {

public static String get(String s) {OkHttpClient okHttpClient = new OkHttpClient();Request request = new Request.Builder().url(s).get().build();try {Response response = okHttpClient.newCall(request).execute();String result = response.body().string();Log.i("dt","请求结果:"+result);return result;} catch (Exception e) {e.printStackTrace();}return "";
}
public static String postForm(String url,String[] name,String[] value){OkHttpClient okHttpClient = new OkHttpClient();FormBody.Builder formBuild = new FormBody.Builder();for (int i = 0; i < name.length; i++) {formBuild.add(name[i],value[i]);}Request request = new Request.Builder().url(url).post(formBuild.build()).build();try {Response response = okHttpClient.newCall(request).execute();String result = response.body().string();Log.i("dt",result);return result;} catch (Exception e) {e.printStackTrace();}return "";
}
public static String postFile(String url,String[] name,String[] value,String fileParamName,File file){OkHttpClient okHttpClient = new OkHttpClient();MultipartBody.Builder requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM);if(file != null){// MediaType.parse() 里面是上传的文件类型。RequestBody body = RequestBody.create(MediaType.parse("image/*"), file);String filename = file.getName();// 参数分别为: 文件参数名 ,文件名称 , RequestBodyrequestBody.addFormDataPart(fileParamName, "jpg", body);}if (name!=null) {for (int i = 0; i < name.length; i++) {requestBody.addFormDataPart(name[i], value[i]);}}Request request = new Request.Builder().url(url).post(requestBody.build()).build();try {Response response = okHttpClient.newCall(request).execute();if (response.code()==200) {return response.body().string();}} catch (Exception e) {e.printStackTrace();}return "";
}
public static String postJson(String url,String jsonString){OkHttpClient okHttpClient = new OkHttpClient();RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"),jsonString);Request request = new Request.Builder().url(url).post(requestBody).build();try {Response response = okHttpClient.newCall(request).execute();return response.body().string();} catch (Exception e) {e.printStackTrace();}return "";
}

}

Adapter层
LeftAdapter页面
package com.lll.dc_lx.adapter;

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.lll.dc_lx.R;
import com.lll.dc_lx.bean.Shop;

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

public class LeftAdapter extends RecyclerView.Adapter<LeftAdapter.MyHolder> {
List mList = new ArrayList<>();

public void addAll(List<Shop> list) {mList.addAll(list);
}@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {View view = View.inflate(viewGroup.getContext(), R.layout.left_item, null);MyHolder myHolder = new MyHolder(view);return myHolder;
}@Override
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) {final Shop shop = mList.get(i);myHolder.text.setText(shop.getSellerName());myHolder.text.setBackgroundResource(shop.getBackground());myHolder.text.setTextColor(shop.getTextColor());myHolder.itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {for (int j = 0; j <mList.size() ; j++) {mList.get(j).setTextColor(0xffffffff);mList.get(j).setBackground(R.color.grayblack);}shop.setBackground(R.color.white);shop.setTextColor(0xff000000);notifyDataSetChanged();onItemClickListenter.onItemClick(shop);//切换右边的列表}});
}@Override
public int getItemCount() {return mList.size();
}public class MyHolder extends RecyclerView.ViewHolder {private final TextView text;public MyHolder(@NonNull View itemView) {super(itemView);text = itemView.findViewById(R.id.left_text);}
}
public List<Shop> getList() {return mList;
}
private OnItemClickListenter onItemClickListenter;public void setOnItemClickListenter(OnItemClickListenter onItemClickListenter) {this.onItemClickListenter = onItemClickListenter;
}public interface OnItemClickListenter{void onItemClick(Shop shop);
}

}

RightAdapter页面
package com.lll.dc_lx.adapter;

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.lll.dc_lx.AddSubLayout;
import com.lll.dc_lx.R;
import com.lll.dc_lx.bean.Goods;
import com.lll.dc_lx.core.LVApplication;

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

public class RightAdapter extends RecyclerView.Adapter<RightAdapter.ChildHolder> {

private List<Goods> mList = new ArrayList<>();public void addAll(List<Goods> list) {mList.addAll(list);
}@NonNull
@Override
public RightAdapter.ChildHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {View view = View.inflate(viewGroup.getContext(), R.layout.right_item, null);ChildHolder myHolder = new ChildHolder(view);return myHolder;
}@Override
public void onBindViewHolder(@NonNull RightAdapter.ChildHolder childHolder, int position) {final Goods goods = mList.get(position);childHolder.text.setText(goods.getTitle());childHolder.price.setText("单价:" + goods.getPrice());//单价String imageurl = "https" + goods.getImages().split("https")[1];Log.i("dt", "imageUrl: " + imageurl);imageurl = imageurl.substring(0, imageurl.lastIndexOf(".jpg") + ".jpg".length());Glide.with(LVApplication.getInstance()).load(imageurl).into(childHolder.image);//加载图片childHolder.addSub.setCount(goods.getNum());//设置商品数量childHolder.addSub.setAddSubListener(new AddSubLayout.AddSubListener() {@Overridepublic void addSub(int count) {goods.setNum(count);onNumListener.onNum();//计算价格}});
}@Override
public int getItemCount() {return mList.size();
}public void clearList() {mList.clear();
}class ChildHolder extends RecyclerView.ViewHolder {TextView text;TextView price;ImageView image;AddSubLayout addSub;public ChildHolder(@NonNull View itemView) {super(itemView);text = itemView.findViewById(R.id.text);price = itemView.findViewById(R.id.text_price);image = itemView.findViewById(R.id.image);addSub = itemView.findViewById(R.id.add_sub_layout);}
}private OnNumListener onNumListener;public void setOnNumListener(OnNumListener onNumListener) {this.onNumListener = onNumListener;
}public interface OnNumListener{void onNum();
}

}
Bean层
Goods页面
package com.lll.dc_lx.bean;

import java.io.Serializable;

public class Goods implements Serializable {

// “bargainPrice”: 111.99,
// “createtime”: “2017-10-14T21:39:05”,
// “detailUrl”: “https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends”,
// “images”: “https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg”,
// “itemtype”: 1,
// “pid”: 1,
// “price”: 118.0,
// “pscid”: 1,
// “salenum”: 0,
// “sellerid”: 17,
// “subhead”: “每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下”,
// “title”: “北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g”

private double bargainPrice;
private String createtime;
private String detailUrl;
private String images;
private int num;
private int pid;
private double price;
private int pscid;
private int selected;
private int sellerid;
private String subhead;
private String title;
private int count=1;public void setCount(int count) {this.count = count;
}public int getCount() {return count;
}public double getBargainPrice() {return bargainPrice;
}public void setBargainPrice(double bargainPrice) {this.bargainPrice = bargainPrice;
}public String getCreatetime() {return createtime;
}public void setCreatetime(String createtime) {this.createtime = createtime;
}public String getDetailUrl() {return detailUrl;
}public void setDetailUrl(String detailUrl) {this.detailUrl = detailUrl;
}public String getImages() {return images;
}public void setImages(String images) {this.images = images;
}public int getNum() {return num;
}public void setNum(int num) {this.num = num;
}public int getPid() {return pid;
}public void setPid(int pid) {this.pid = pid;
}public double getPrice() {return price;
}public void setPrice(double price) {this.price = price;
}public int getPscid() {return pscid;
}public void setPscid(int pscid) {this.pscid = pscid;
}public int getSelected() {return selected;
}public void setSelected(int selected) {this.selected = selected;
}public int getSellerid() {return sellerid;
}public void setSellerid(int sellerid) {this.sellerid = sellerid;
}public String getSubhead() {return subhead;
}public void setSubhead(String subhead) {this.subhead = subhead;
}public String getTitle() {return title;
}public void setTitle(String title) {this.title = title;
}

}

Result页面
package com.lll.dc_lx.bean;

public class Result {
int code;
String msg;
T 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 T getData() {return data;
}public void setData(T data) {this.data = data;
}

}
Shop页面
package com.lll.dc_lx.bean;

import com.lll.dc_lx.R;

import java.util.List;

public class Shop {
List list;
String sellerName;
String sellerid;
int textColor = 0xffffffff;
int background = R.color.grayblack;

boolean check;public List<Goods> getList() {return list;
}public void setList(List<Goods> list) {this.list = list;
}public String getSellerName() {return sellerName;
}public void setSellerName(String sellerName) {this.sellerName = sellerName;
}public String getSellerid() {return sellerid;
}public void setSellerid(String sellerid) {this.sellerid = sellerid;
}public int getTextColor() {return textColor;
}public void setTextColor(int textColor) {this.textColor = textColor;
}public int getBackground() {return background;
}public void setBackground(int background) {this.background = background;
}public boolean isCheck() {return check;
}public void setCheck(boolean check) {this.check = check;
}

}

core层
BasePresenter页面
package com.lll.dc_lx.core;

import android.os.Handler;
import android.os.Looper;
import android.os.Message;

import com.lll.dc_lx.bean.Result;

public abstract class BasePresenter {
DataCall dataCall;

public BasePresenter(DataCall dataCall){this.dataCall = dataCall;
}
Handler mHandler = new Handler(Looper.getMainLooper()) {@Overridepublic void handleMessage(Message msg) {Result result = (Result) msg.obj;if (result.getCode()==0){dataCall.success(result.getData());}else{dataCall.fail(result);}}
};
public void requestData(final Object...args){new Thread(new Runnable() {@Overridepublic void run() {Message message = mHandler.obtainMessage();message.obj = getData(args);mHandler.sendMessage(message);}}).start();
}
protected abstract Result getData(Object...args);public void unBindCall(){this.dataCall = null;
}

}

DataCall页面
package com.lll.dc_lx.core;

import com.lll.dc_lx.bean.Result;

public interface DataCall {
void success(T data);

void fail(Result result);

}

Application页面
package com.lll.dc_lx.core;

import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;

public class LVApplication extends Application {
private static LVApplication instance;
private SharedPreferences sharedPreferences;

@Override
public void onCreate() {super.onCreate();instance = this;sharedPreferences = getSharedPreferences("application",Context.MODE_PRIVATE);

// JPushInterface.setDebugMode(true);
// JPushInterface.init(this); // 初始化 JPush
}
public static LVApplication getInstance() {
return instance;
}

public SharedPreferences getShare() {return sharedPreferences;
}

}

仿饿了吗点餐(简单)相关推荐

  1. vue仿饿了么点餐手机端

    vue仿饿了么点餐手机端模板,包括评论,商品,商家模块,添加商品到购物车,左侧分类计数功能,右侧滑动时分类有上推功能,小球飞入购物车功能.

  2. android 高仿点餐,仿饿了吗点餐界面ListView联动的实现

    主要实现了2个ListView怎样实现互相关联,正好上篇博客review了ListView控件常规使用,因此本篇博客主要对大神的那篇博客的实现进行代码层的剖析. 一方面,方便自己,在以后的代码实现上加 ...

  3. uni-app仿饿了么点餐界面 左右菜单联动 滚动时商家信息、广告吸顶、弹窗下滑动关闭

    1.代码如下: <template><view class="page"><!-- 顶部导航栏 --><view class=" ...

  4. 仿饿了吗点餐系统,mvp+okhttp+网络请求+recycleview

    ** 效果图 **. AndroidManifest.xml 继承了Application,所以一定要配置 <uses-permission android:name="android ...

  5. Android 仿饿了么点餐页面报告,RecyclerView仿饿了吗点菜页面

    先看一下效果图: 效果图 左边就是一个普通的recyclerView,右边则需要一个有标题的recyclerView. sticky-headers-recyclerview 用它在写adapter的 ...

  6. android 滑动接听源码,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...

    Android精选源码 Android优质博客 前言permissions4m 最初的设计是仅仅做成一个编译器注解框架,在1.0.0版本时,它纯粹地实现了原生 Android 请求流程,关于它的设计思 ...

  7. android 卡片上滑放大,android仿摩拜单车APP、炫酷RecyclerView、卡片滑动、仿饿了么点餐、自定义索引等源码...

    Android精选源码 Android优质博客 前言permissions4m 最初的设计是仅仅做成一个编译器注解框架,在1.0.0版本时,它纯粹地实现了原生 Android 请求流程,关于它的设计思 ...

  8. 饿了么点餐源码、今日头条源码 等

    Android精选源码 仿饿了么点餐页面 精仿今日头条 Android漂亮的音乐歌词控件,仿网易云音乐滑动效果 Android NFC android实现手势操控拖拽, 缩放, 旋转 比QQ更炫酷的' ...

  9. Android 仿美团选择城市、微信通讯录、饿了么点餐列表的导航悬停分组索引列表

    SuspensionIndexBar 项目地址:mcxtzhang/SuspensionIndexBar 简介:快速实现分组悬停.右侧索引导航联动 列表. 如 美团选择城市界面,微信通讯录界面.饿了么 ...

最新文章

  1. 新手必看,17 个常见的 Python 运行时错误
  2. mysql acer_Acer电脑【no bootable device】引导修复
  3. 用TensorFlow训练第一个模型
  4. 为sap的alv的最左侧添加【选中】按钮用于同时选中多行...
  5. mysql事务 brave,mysql 查询当天、本周,本月,上一个月的数据
  6. mysql导入数据load data infile用法整理
  7. linux 自动安装mysql_Linux安装mysql
  8. html中实现回车或点击进入-----Mr.Zhang
  9. micropython性能低下_MicroPython支持的开发板:高性能、低成本创客首选
  10. 联想 G50-70 关闭无线功能,如何重新启动??
  11. python竖线_python画横线竖线作为分界线
  12. 《从零走向专业,面试产品经理岗位必须掌握的7个高效方法》
  13. t检验临界值表中的n是什么_t检验(t-test)临界值表
  14. 35岁了,依然倔强的相信未来!——我的2021年终总结
  15. 如何用matlab画北极熊,简笔画:如何使用Flash绘制北极熊,值得收藏
  16. 本人搜集的不用fq的免费学术技术资源网站
  17. 毕业旅行 | 用一场纽约5日游告别难忘青葱岁月
  18. php正则匹配斜线_PHP正则匹配反斜杠'\'和美元'$'的方法
  19. 赛车编程用c语言,钟神赛车 (C++代码)自己AC了都觉得搞笑
  20. MVVC 框架的介绍

热门文章

  1. 记一次unas docker服务无法启动
  2. 微信小程序开发-五星评价
  3. npm离线安装npm包的两种方法
  4. 通过串口给STM32单片机下载程序
  5. cad python_利用python控制Autocad:pyautocad
  6. 题解1208 2的幂次方表示
  7. 商品Bhavishya提供有关黄金的商品咨询和银色技巧
  8. CentOS(Linux) 如何解压文件rar 文件并使用
  9. 1995年考研数学一真题pdf
  10. Ubuntu启动项修改