基于Android平台开发的酒店预定预约管理系统
1.项目运行效果图
2.项目工功能图:
部分核心代码
PayDialogActivity 支付页面
/**
* 支付页面
*/
public class PayDialogActivity extends BaseActivity<ActivityPayDialogBinding> {
private OrderInfo orderInfo;
@Override
protected ActivityPayDialogBinding getViewBinding() {
return ActivityPayDialogBinding.inflate(getLayoutInflater());
}
@Override
protected void setListener() {
mBinding.cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
mBinding.confirmButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (null != orderInfo) {
payOrder(orderInfo.getUid());
}
}
});
}
private void payOrder(int _uid) {
OkGo.<String>get(ApiConstants.PAY_URL)
.params("uid", _uid)
.params("state", 1)
.execute(new HttpStringCallback(this) {
@Override
protected void onSuccess(String msg, String response) {
showToast(msg);
setResult(1000);
finish();
}
@Override
protected void onError(String response) {
showToast(response);
}
});
}
@Override
protected void initData() {
orderInfo = (OrderInfo) getIntent().getSerializableExtra("orderInfo");
if (null != orderInfo) {
mBinding.discountPrice.setText("¥" + orderInfo.getCount_price());
}
}
}
RegisterActivity 注册
/***
*注册
*/
public class RegisterActivity extends BaseActivity<ActivityRegisterBinding> {
@Override
protected ActivityRegisterBinding getViewBinding() {
return ActivityRegisterBinding.inflate(getLayoutInflater());
}
@Override
protected void setListener() {
mBinding.register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String username = mBinding.username.getText().toString();
String password = mBinding.password.getText().toString();
if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {
showToast("请完善信息");
} else {
OkGo.<String>get(ApiConstants.REGISTER_URL)
.params("username", username)
.params("password", password)
.execute(new HttpStringCallback(RegisterActivity.this) {
@Override
protected void onSuccess(String msg, String response) {
showToast(msg);
finish();
}
@Override
protected void onError(String response) {
showToast(response);
}
});
}
}
});
}
@Override
protected void initData() {
}
}
HomeFragment 酒店列表页
public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
private HomeListAdapter mHomeListAdapter;
private List<HouseInfo> searchList = new ArrayList<>();
@Override
protected FragmentHomeBinding getViewBinding() {
return FragmentHomeBinding.inflate(getLayoutInflater());
}
@Override
protected void setListener() {
mHomeListAdapter = new HomeListAdapter();
mBinding.recyclerView.setAdapter(mHomeListAdapter);
//点击事件
mHomeListAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
Intent intent = new Intent(mContext, HouseDetailsActivity.class);
intent.putExtra("houseInfo", mHomeListAdapter.getData().get(position));
startActivity(intent);
}
});
//搜索
mBinding.btnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String content = mBinding.etContent.getText().toString();
if (TextUtils.isEmpty(content)) {
showToast("请输入酒店名");
} else {
searchList.clear();
for (int i = 0; i < mHomeListAdapter.getData().size(); i++) {
if (mHomeListAdapter.getData().get(i).getHouse_title().contains(content)) {
searchList.add(mHomeListAdapter.getData().get(i));
}
}
mHomeListAdapter.setList(searchList);
}
}
});
mBinding.etContent.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String s = editable.toString();
if (TextUtils.isEmpty(s)) {
getHouseListData();
}
}
});
}
@Override
protected void initData() {
//banner数据
mBinding.banner.setAdapter(new BannerImageAdapter<DataBean>(DataBean.getTestData2()) {
@Override
public void onBindView(BannerImageHolder holder, DataBean data, int position, int size) {
holder.imageView.setImageResource(data.imageRes);
}
})
.addBannerLifecycleObserver(this)//添加生命周期观察者
.setIndicator(new CircleIndicator(getActivity()));
getHouseListData();
}
/**
* 获取酒店列表数据
*/
public void getHouseListData() {
OkGo.<String>get(ApiConstants.HOUSE_LIST_URL)
.execute(new HttpStringCallback(getActivity()) {
@Override
protected void onSuccess(String msg, String response) {
HouseListInfo houseListInfo = GsonUtils.parseJson(response, HouseListInfo.class);
mHomeListAdapter.setList(houseListInfo.getList());
}
@Override
protected void onError(String response) {
showToast(response);
}
});
}
}