EE308 Lab 2-2

Double__Q 2022-11-18 23:12:03

【EE308FZ Lab2-2】An Amazing Android App for Bobing Game 🎲

EE308FZ Main ClassHere
The Link of RequirementLab2 Requirement
The Aim of this Lab2-Description of our Bobing Android App
My Student ID20124091_832002127
Partner ID20122161_832002117
Our Modao (Ink Knife, 墨刀原型设计)Our Modao Design Link
Our Git LinkGithub or Gitee
Video Demo LinkOur Demo Video!
APK linkhttps://www.doubleq666.cn/%E5%8D%9A%E4%BA%86%E4%B8%AA%E5%8D%9A.apk
Partner Blog Link[Partner Link]

Blog 2-2 Content

目录

  • 【EE308FZ Lab2-2】An Amazing Android App for Bobing Game 🎲
  • Blog 2-2 Content
  • (1) Introduction 👋🏻
  • (2) Overview of Our Works 📮
  • (3) Design Methodology 🧑🏻‍🏫
  • (4) 3 events that take a long time 🕶️
  • (5) Pair programming experience 👨🏻‍💻+👨🏻‍💻
  • (6) The demo video of our Android App 🎥
  • (6) PSP Table of this works 📝
  • (7) Summary for Lab 2 ✅
  • (8) Acknowledgements 🥰


(1) Introduction 👋🏻

The Mid-Autumn Festival is one of the traditional Chinese festivals, which symbolizes reunion and happiness. Bobing is a custom activity in southern Fujian. During the Mid-Autumn Festival, people get together with their relatives and friends to Bobing and enjoy the Mid-Autumn moon. 🎑 However, since the outbreak of COVID-19 in 2020, many people cannot gather together as before. In order to maintain the original holiday atmosphere, more and more people share the fun of Bobing through online Bobing application. 🎲

In the case, our Android Bobing App is coming! 💥


(2) Overview of Our Works 📮

In this Lab, an Android Bobing game application have been developed and suggested. This Bobing app is implenmented mainly using Java, mysql, javascript and Android Navigation. Experiments have been conducted to improve the gameplay of the proposed Bobing games. 🚀

The following figures show the Prototype Design of our UI and UX. And the latest version can be seen in our proposed Android App Video.

Grading standardsimplementation
Functional practicability(20)Finished. 👌
---Single machine formAll the basic function have been implemented (100%). ✅
---Network connection,online fromWe used the Server to process the data and transfer the real-time ranking results to realize the function of multi-player pattern. Gernerally finished(80%). ✅
Degree of innovation (5)Our proposed Bobing App possess a Comprehensive Bobing rules to make the game as closer as possible to the real-world traditional Bobing. While we also realized a mobile shaking playing method to improve the playability of our game. ✅
Degree of interface beautification (5)We are confident that our brilliant interface design is very advanced than others. Strongly finished. ✅
Blog description (20)Finished. 👌
Code specification (5)Our coding specification can be seen here.
Git commits information specification (5)Yes, we utilized the Github and Gitee to collaborate. ✅

(3) Design Methodology 🧑🏻‍🏫

The following table shows the development technology we used in this lab2.

ApplicationTechnology
Front-EndAndroid Navigation & okhttp & Javascript & Webview
Back-EndJava & Javaweb & Spring Springmvc
Server Databasemysql & jdbctemplate
Prototype DesignModao (墨刀,Ink Knife)
UI DesignChuangketie (创客贴) & Adobe UI
Git ToolGithub & Gitee (Chinese version)

The following flow-charts illustrate the design methodology of our works.

  1. The User strats the Bobing Game App;
  2. User clicks to enter next page;
  3. User fills in the infomation of ID;
  4. Game playing & Data Transfer to Server;
  5. Server process the data;
  6. Server transfer the data back to the Ranking List (HTML5);
  7. User stops the game (over).

Flow Chart of Our Bobing App

img

img

img

img


(4) 3 events that take a long time 🕶️

  1. First of foremost, the biggest challenge during our works was to learn to communicate and collaborate with teammates effectively. We may possessed differences and conflicts, which require close communication and cooperation. And it really gives us a sense of accomplishment to finish the challenging development of this application.

  2. Then, how to realized the online gaming experience is difficult for us. We have learned the relavant knowledge from 0 to 1. Finally, we resolved this part of works. We used the Server to process the data and transfer the real-time ranking results to realize the function of multi-player pattern. The related codes to realize this function have been shown as follow.

if (now <= 0) {
                        sensorManager.unregisterListener(sensorEventListener);

                        paiming.setVisibility(View.VISIBLE);

                        OkHttpClient client = new OkHttpClient.Builder().build();
//                            Request request = new Request.Builder().url("http://10.0.2.2:8080/Bobing_war_exploded/submit-rank?nickname=demo&score=2000&time=0.66666").build();
                        Request request = new Request.Builder().url("https://www.doubleq666.cn/bobing/submit-rank?nickname=" + nickname + "&score=" + cnt).build();

                        new Thread(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    Response response = client.newCall(request).execute();
                                    Log.d("OkHttp", response.body().string());
                                } catch (IOException e) {
                                    Log.d("miaomiao", "failed");
                                    e.printStackTrace();
                                }
                            }
                        }).start();
                    }
  1. Also, the implement of realizing the connection between our Andriod App with the Server was a big obstruction. We have followed the related guidance in the CSDN, and address the implement of this function. The related codes to realize this function have been shown as follow.
@WebServlet(name = "submit-rank", value = "/submit-rank")
public class SubmitRank extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Map<String, String[]> map = request.getParameterMap();

        request.setCharacterEncoding("utf-8");

        try {
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
            JdbcTemplate jdbcTemplate = (JdbcTemplate) applicationContext.getBean("jdbcTemplate");
            String sql = "insert into bobing.score_xing values(null, ?, ?)";
            jdbcTemplate.update(sql, map.get("nickname")[0], map.get("score")[0]);
        } catch (Exception e) {
            e.printStackTrace();
        }


    }
}

(5) Pair programming experience 👨🏻‍💻+👨🏻‍💻

The following figures show the pair working of our team, and the git commits during our works.


Hanlin CAI and Qiguo Qing.

The Gitee commits (part of our works)

(6) The demo video of our Android App 🎥

Here is the demo of our Android Bobing App. (Click) 🔗

Final update in 16:56pm 18th Nov.


(6) PSP Table of this works 📝

PSP TABLEEstimated Time Consumption (mins)Completed Time(mins)
Planning------
·Estimate6060
Development------
·Analysis4030
·Design Spec3030
·Design Review4040
·Coding Standard105
·Design6080
·Coding600720
·Coding Review12060
·Test3040
Reporting------
·Test Report3020
·Size Measurement1015
·Postmortem & Process Improvement Plan3040
TOTAL10601140

(7) Summary for Lab 2 ✅

In this project, we constrcted an Android App for Traditional Bobing game.

  1. In Lab 2-1, we have bulit the Prototype of our Android APP utlizing Modao (Ink Knife) and Chuangketie (for UI design).
  2. In Lab 2-2, we have implemented the proposed Android Bobing Game Application using various development techonology (as shown in the table above).

The developing experience of this Bobing Game App greatly improve our abilities to utilize what we have learned in lectures to real-world practice. And we have gained a lot during this Lab2 experience.


(8) Acknowledgements 🥰

I hope to express my sincere thanks to Lecturer. Lin for his generous guidance. And I would like to thanks to our tutors for their patient examination and evaluation.

Finally, thanks to my partner, who is an brilliant student-developer, for his enthusiasm and hard-work. 🥳

...全文
104 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
FZU-SE-EE308-2022秋

267

社区成员

福州大学 梅努斯国际工程学院 软件工程(2022秋) 教学
软件工程 高校
社区管理员
  • LinQF39
加入社区
帖子事件
编辑了帖子 (查看)
2022-11-18 23:34
编辑了帖子 (查看)
2022-11-18 23:21
编辑了帖子 (查看)
2022-11-18 23:16
编辑了帖子 (查看)
2022-11-18 23:13
创建了帖子
2022-11-18 23:12
社区公告
暂无公告