您的位置:首页 > 汽车 > 新车 > 中软国际软件培训收费_广告公司首页_百度软件中心_泉州百度关键词排名

中软国际软件培训收费_广告公司首页_百度软件中心_泉州百度关键词排名

2024/11/19 4:18:33 来源:https://blog.csdn.net/qq_29823791/article/details/142633432  浏览:    关键词:中软国际软件培训收费_广告公司首页_百度软件中心_泉州百度关键词排名
中软国际软件培训收费_广告公司首页_百度软件中心_泉州百度关键词排名

目录

一、项目演示

二、项目测试环境

三、项目详情

四、完整的项目源码 


一、项目演示

网络资源模板--停车管理

二、项目测试环境

三、项目详情

软件已实现以下几个功能:
一、用户角色
1.1 浏览附近的景点(商场/医院/学校…);
1.2 查看景点(商场/学校…)附近的停车场;
1.3 查看停车场还有哪些车位;
1.4 预约车位;
1.5 查看有哪些车位租赁;
1.6 发布车位租赁信息;
1.7 租赁车位;
1.8 订单查看删除,以及缴费功能;
1.9 用户个人信息管理;
1.10 用户反馈;

二、管理员角色
2.1 用户管理;
2.2 地点管理;
2.3 停车场管理;
2.4 车位管理;
2.5 租赁管理;
2.6 用户反馈信息查阅;

三、数据库实现
3.1 使用Android自带数据库sqlite;

登录页

1. **视图初始化**:
   - 从布局中获取用户界面组件,包括用户名输入框、密码输入框、保存密码复选框、管理员复选框、登录按钮和注册按钮。

2. **共享偏好设置**:
   - 获取名为 `"info"` 的共享偏好设置(`SharedPreferences`)。
   - 检查是否保存了用户信息。如果用户上次勾选了“保存”,则从共享偏好中读取并填充用户名和密码到相应的输入框,并勾选保存复选框。

3. **按钮点击事件**:
   - 为登录按钮设置点击事件处理器:
     - 当用户点击登录按钮时,调用 `handleLogin` 方法进行登录处理,传入用户名、密码、管理员复选框、共享偏好设置和保存复选框状态。
   - 为注册按钮设置点击事件处理器:
     - 当用户点击注册按钮时,启动注册活动 (`RegisterActivity`)。

整体来说,该方法负责初始化用户登录界面、恢复用户上次登录的状态,并处理登录和注册的用户交互。

  private void initView() {EditText mUsername = findViewById(R.id.et_username);EditText mPassword = findViewById(R.id.et_password);CheckBox mSave = findViewById(R.id.cb_isSave);CheckBox mAdmin = findViewById(R.id.cb_isAdmin);Button mLogin = findViewById(R.id.btn_login);TextView mRegister = findViewById(R.id.btn_register);SharedPreferences sp = getSharedPreferences("info", 0);if (sp.getBoolean("isChecked", false)) {String username = sp.getString("username", "");String pwd = sp.getString("password", "");mUsername.setText(username);mPassword.setText(pwd);mSave.setChecked(true);}mLogin.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {handleLogin(mUsername, mPassword, mAdmin, sp, mSave);}});mRegister.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {startActivity(new Intent(LoginActivity.this, RegisterActivity.class));}});}

注册页面

1. **获取输入**:
   - 从三个输入框中获取用户名和密码(及确认密码),并去除前后空格。

2. **输入验证**:
   - 检查用户名、密码和确认密码是否为空:
     - 如果全部为空,显示提示消息“请检查输入信息”。
   - 检查密码和确认密码是否一致:
     - 如果一致,继续进行注册。
     - 如果不一致,显示提示消息“两次输入密码不一致”。

3. **账户唯一性检查**:
   - 使用数据库助手检查数据库中是否已存在相同用户名的账户:
     - 如果不存在,则插入新用户记录(创建 `UserBean` 对象并保存)。
     - 显示注册成功的消息,并结束当前活动(`finish()`)。
     - 如果已存在,则显示提示消息“账户已被注册”。

整体来说,该方法负责处理用户注册的逻辑,包括输入验证、数据库检查和成功提示,确保注册过程的正确性和用户体验。

  public void handleRegister(EditText mUsername, EditText mPassword, EditText mPassword2, View v) {String username = mUsername.getText().toString().trim();String password = mPassword.getText().toString().trim();String password2 = mPassword2.getText().toString().trim();if (username.isEmpty() && password.isEmpty() && password2.isEmpty()) {ToastUtil.show(this, "请检查输入信息");} else if (password.equals(password2)) {if (!DatabaseUtils.getHelper().isExistsBySQL(UserBean.class, "username=?", new String[]{username}).booleanValue()) {DatabaseUtils.getHelper().insert(new UserBean(username, password, "consumer", 100.0d));ToastUtil.show(this, "注册成功");finish();} else {ToastUtil.show(this, "账户已被注册");}} else {ToastUtil.show(this, "两次输入密码不一致");}}

用户首页

### 1. `setupBanner(View view)`
- **初始化横幅**:
  - 从布局中获取横幅组件(`Banner`)。
  - 创建一个整数列表,并添加两张横幅图片资源。
  - 设置横幅的图片资源。

- **圆角设置**:
  - 使用 `ViewOutlineProvider` 为横幅设置圆角矩形的外观,圆角半径为20。

- **图片加载**:
  - 设置自定义的图片加载器,使用 Glide 加载横幅图片到指定的 `ImageView` 中。

- **启动横幅**:
  - 启动横幅显示,开始轮播。

### 2. `setupWeather(View view)`
- **获取和显示天气信息**:
  - 初始化 `WeatherBean` 对象,通过当前星期几获取天气数据。
  - 将天气情况、天气温度和限行信息显示在相应的 `TextView` 中。

### 3. `setupCardViewClickListeners(View view)`
- **设置卡片视图的点击事件**:
  - 定义卡片视图的 ID 数组和相应的类型及容器代码。
  - 遍历每个卡片视图 ID,设置点击监听器:
    - 如果容器代码不为 -1,调用 `ContainerActivity.go` 方法,传递相应的代码。
    - 如果为 -1,则调用 `openOtherActivity` 方法,打开对应类型的其他活动。

整体来说,这些方法负责初始化和配置主页的各个部分,提供用户友好的界面和交互体验。

  private void setupBanner(View view) {Banner banner = view.findViewById(R.id.home_banner);List<Integer> images = new ArrayList<>();images.add(R.drawable.banner1);images.add(R.drawable.banner2);banner.setImages(images);banner.setOutlineProvider(new ViewOutlineProvider() {@Overridepublic void getOutline(View view, Outline outline) {outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 20);}});banner.setClipToOutline(true);banner.setImageLoader(new ImageLoader() {@Overridepublic void displayImage(Context context, Object path, ImageView imageView) {Glide.with(context).load((Integer) path).into(imageView);}});banner.start();}private void setupWeather(View view) {WeatherBean weatherBean = WeatherBean.initWeather(DateUtils.getWeekDay());((TextView) view.findViewById(R.id.home_weather)).setText(weatherBean.getWeather());((TextView) view.findViewById(R.id.home_weather_number)).setText(weatherBean.getWeatherNumber());((TextView) view.findViewById(R.id.home_limit_number)).setText(weatherBean.getLimitLine());}private void setupCardViewClickListeners(View view) {int[] cardViewIds = {R.id.home_attractions, R.id.home_shop, R.id.home_Hospital,R.id.home_school, R.id.home_train, R.id.home_hotel,R.id.home_subway, R.id.home_other};String[] types = {"", "商场", "医院", "学校", "火车站", "酒店", "", ""};int[] containerCodes = {1, -1, -1, -1, -1, -1, 4, 3};for (int i = 0; i < cardViewIds.length; i++) {int id = cardViewIds[i];String type = types[i];int code = containerCodes[i];view.findViewById(id).setOnClickListener(v -> {if (code != -1) {ContainerActivity.go(getContext(), "", code);} else {openOtherActivity(type);}});}}

四、完整的项目源码 

👇👇👇👇👇快捷获取方式👇👇👇👇👇

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com