基于安卓平台出租打车软件app

背景需求:

城市生活中,出租车已经成为人们日常出行经常使用的交通工具。但城市里每天上下班时间人流较大,给人的出行带来不便,有些偏远的地区也许只有少数的公交车,上下班时人数又比较多,上不了公交,而这些地方招出租车也比较困难。针对上下班高峰期以及偏远地区打的难的情况推出的一款基于android平台的打车软件,并提供打车功能,节约时间和出行成本。


本系统可分为三个端: 用户端,车主端,管理远端
(用户端):

登录,注册,发布订单,我的订单,支付(微信,支付宝),公告,修改密码,反馈意见,个人中心


(车主端):

登录,注册,接单,我的接单列表,个人中心,对用户订单反馈意见,公告,个人信息,修改密码

(管理员端):

登录,注册,用户管理,反馈管理(收入,支出),统计管理,公告管理

核心代码:

发布订单

/*** 发布订单*/
public class PushActivity extends BaseActivity<ActivityPushBinding> {@Overrideprotected ActivityPushBinding getViewBinding() {return ActivityPushBinding.inflate(getLayoutInflater());}@Overrideprotected void setListener() {mBinding.push.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String startAddress = mBinding.startAdress.getText().toString().trim();String endAddress = mBinding.endAdress.getText().toString().trim();String push_time = mBinding.timepicker.getText().toString().trim();if (TextUtils.isEmpty(startAddress) || TextUtils.isEmpty(endAddress) || TextUtils.isEmpty(push_time)) {showToast("请完善信息");} else {String price = Tools.getPrice();AlertDialog.Builder builder = new AlertDialog.Builder(mContext);builder.setTitle("确定要发布吗?");builder.setMessage("预计" + price + "元");builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {push(startAddress, endAddress, price, push_time);}});builder.show();}}});Calendar startDate = Calendar.getInstance();Calendar endDate = Calendar.getInstance();//正确设置方式 原因:注意事项有说明endDate.set(2100, 11, 31);mBinding.timepicker.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {TimePickerView pvTime = new TimePickerBuilder(mContext, new OnTimeSelectListener() {@Overridepublic void onTimeSelect(Date date, View v) {mBinding.timepicker.setText(getTime(date));}}).setType(new boolean[]{false, true, true, true, true, false})// 默认全部显示.setLabel("年", "月", "日", "时", "分", "秒")//默认设置为年月日时分秒.setRangDate(startDate, endDate)//起始终止年月日设定.build();pvTime.show();}});}/*** 发布*/public void push(String start_address, String end_address, String order_price, String push_time) {UserInfo userInfo = ApiConstants.getUserInfo();if (null != userInfo) {OkGo.<String>get(ApiConstants.PUSH_URL).params("push_username", userInfo.getUsername()).params("mobile", userInfo.getMobile()).params("start_address", start_address).params("end_address", end_address).params("order_price", order_price).params("push_state", 0).params("push_time", push_time).execute(new HttpStringCallback(this) {@Overrideprotected void onSuccess(String msg, String response) {showToast(msg);setResult(1000);finish();}@Overrideprotected void onError(String response) {showToast(response);}});}}@Overrideprotected void initData() {}private String getTime(Date date) {//可根据需要自行截取数据显示Log.d("getTime()", "choice date millis: " + date.getTime());SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:ss");return format.format(date);}}

支付页面

/*** 支付页面*/
public class PayDialogActivity extends BaseActivity<ActivityPayDialogBinding> {private OrderInfo orderInfo;@Overrideprotected ActivityPayDialogBinding getViewBinding() {return ActivityPayDialogBinding.inflate(getLayoutInflater());}@Overrideprotected void setListener() {mBinding.cancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {finish();}});mBinding.confirmButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (null != orderInfo) {payOrder(orderInfo.getUid());}}});}private void payOrder(int _uid) {OkGo.<String>get(ApiConstants.PAY_ORDER_URL).params("uid", _uid).params("order_state", 1).execute(new HttpStringCallback(this) {@Overrideprotected void onSuccess(String msg, String response) {showToast(msg);setResult(3000);finish();}@Overrideprotected void onError(String response) {showToast(response);}});}@Overrideprotected void initData() {orderInfo = (OrderInfo) getIntent().getSerializableExtra("orderInfo");if (null != orderInfo) {mBinding.discountPrice.setText("¥" + orderInfo.getOrder_price());}}
}

统计管理

/*** 统计管理*/
public class StatisticalActivity extends BaseActivity<ActivityStatisticalBinding> {private String[] titles = {"乘客订单", "乘客支出", "车主收入"};private List<Fragment> fragmentList = new ArrayList<>();@Overrideprotected ActivityStatisticalBinding getViewBinding() {return ActivityStatisticalBinding.inflate(getLayoutInflater());}@Overrideprotected void setListener() {}@Overrideprotected void initData() {//造数据fragmentList.add(new OrderListFragment());fragmentList.add(new SpendingFragment());fragmentList.add(new InComeFragment());//如果处理成懒加载的话,其实很简单,只要是这个方法setOffscreenPageLimit不去设置,就可以了。
//        mBinding.viewPager.setOffscreenPageLimit(fragmentList.size());mBinding.viewPager.setAdapter(new FragmentStateAdapter(this) {@NonNull@Overridepublic Fragment createFragment(int position) {return fragmentList.get(position);}@Overridepublic int getItemCount() {return fragmentList.size();}});mBinding.tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {@Overridepublic void onTabSelected(TabLayout.Tab tab) {mBinding.viewPager.setCurrentItem(tab.getPosition(), false);}@Overridepublic void onTabUnselected(TabLayout.Tab tab) {}@Overridepublic void onTabReselected(TabLayout.Tab tab) {}});TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(mBinding.tabs, mBinding.viewPager, new TabLayoutMediator.TabConfigurationStrategy() {@Overridepublic void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {tab.setText(titles[position]);}});//这句话很重要tabLayoutMediator.attach();}
}

计算机毕业设计之android平台的出租打车软件app相关推荐

  1. 计算机毕业设计之android平台的出租打车软件app(源码+系统+mysql数据库+Lw文档)

    城市生活中,出租车已经成为人们日常出行经常使用的交通工具.但城市里每天上下班时间人流较大,给人的出行带来不便,有些偏远的地区也许只有少数的公交车,上下班时人数又比较多,上不了公交,而这些地方招出租车也 ...

  2. 计算机毕业设计android平台的出租打车软件app

    城市生活中,出租车已经成为人们日常出行经常使用的交通工具.但城市里每天上下班时间人流较大,给人的出行带来不便,有些偏远的地区也许只有少数的公交车,上下班时人数又比较多,上不了公交,而这些地方招出租车也 ...

  3. 基于android平台的出租打车软件app

    城市生活中,出租车已经成为人们日常出行经常使用的交通工具.但城市里每天上下班时间人流较大,给人的出行带来不便,有些偏远的地区也许只有少数的公交车,上下班时人数又比较多,上不了公交,而这些地方招出租车也 ...

  4. 基于android平台的出租打车软件app-计算机毕业设计

    城市生活中,出租车已经成为人们日常出行经常使用的交通工具.但城市里每天上下班时间人流较大,给人的出行带来不便,有些偏远的地区也许只有少数的公交车,上下班时人数又比较多,上不了公交,而这些地方招出租车也 ...

  5. 计算机毕业设计基于Android平台的公交线路查询系统app

    基于Android平台的公交线路查询就是一个可以帮助用户便捷的浏览公交信息的公交线路查询的优秀app,手机联网或者通过USB连接电脑下载即可,在手机上安装完成,直接就可以使用,使用者可以通过公交线路查 ...

  6. 计算机毕业设计基于Android社区物业便民服务小区APP设计

    Android社区物业便民服务APP设计,主要为小区设计,为广大社区居民提供生活上的便利,使用本app,可以查看社区公告,黄页,以及缴纳物业费,还可以投诉报修给物业管理人员,当然,也可以对小区内的房屋 ...

  7. java计算机毕业设计流行病调查平台源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计流行病调查平台源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计流行病调查平台源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: ...

  8. JAVA计算机毕业设计二手手机回收平台系统Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计二手手机回收平台系统Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计二手手机回收平台系统Mybatis+源码+数据库+lw文档+系统+调试部署 本源 ...

  9. java计算机毕业设计游泳馆管理平台源码+数据库+系统+lw文档+部署

    java计算机毕业设计游泳馆管理平台源码+数据库+系统+lw文档+部署 java计算机毕业设计游泳馆管理平台源码+数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

最新文章

  1. matlab 迭代 混沌与分形实验报告,实验四 函数的迭代混沌与分形.doc
  2. python官网安装步骤-Python解释器的安装步骤
  3. 燕赵志愿云如何认证_如何成为中国志愿服务网注册志愿者?操作秘籍!
  4. 使用Freemarker来页面静态化,与Spring整合使用
  5. ASP.NET应用程序客户端执行的优化小技巧
  6. Linux文件去掉^M
  7. Java学习之路之Hello World小程序
  8. ResultSetMetaData和ResultSet
  9. AWR 报告深度解读:Time Model Statistics 信息的计算和获取
  10. css清除浮动的集中方法
  11. 金融数据分析与挖掘实战练习2.5-2.9
  12. 留存: struts2+jquery+json集成
  13. 7 个有趣的 Python 实战项目,超级适合练手
  14. 【久远讲算法】栈——后进先出的数据结构
  15. 腾讯云弹性微服务TEM
  16. EXCEL数据有效性的多级联动
  17. 他曾被视为马斯克第二,现在是等着坐牢的骗子
  18. cdr x4检测显示软件产品已被禁用警告弹窗,如何解决教程分享
  19. hdu1814 Peaceful Commission 2-SAT建图入门
  20. Win10 下安装PhotoShop CS6

热门文章

  1. 【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.13-3.15)
  2. Rector模式和同步IO模拟Reactor模式,proactor模式和异步IO模拟proactor模式
  3. JPA基础学习三-----JPQL语句学习
  4. Android权限问题
  5. 七牛云qshell工具定时备份空间文件到本地
  6. docker安装rabbitMQ
  7. Python「pytesseract」:中文识别模块
  8. 个人博客项目——项目简介及工程搭建
  9. React框架:1、React简介
  10. c++实现双人见缝插针