285
社区成员




EE308FZ Main Class | Here |
---|---|
The Link of Requirement | Lab2 Requirement |
The Aim of this Lab2- | Description of our Bobing Android App |
My Student ID | 20124091_832002127 |
Partner ID | 20122161_832002117 |
Our Modao (Ink Knife, 墨刀原型设计) | Our Modao Design Link |
Our Git Link | Github or Gitee |
Video Demo Link | Our Demo Video! |
APK link | https://www.doubleq666.cn/%E5%8D%9A%E4%BA%86%E4%B8%AA%E5%8D%9A.apk |
Partner Blog Link | [Partner Link] |
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! 💥
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 standards | implementation |
---|---|
Functional practicability(20) | Finished. 👌 |
---Single machine form | All the basic function have been implemented (100%). ✅ |
---Network connection,online from | We 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. ✅ |
The following table shows the development technology we used in this lab2.
Application | Technology |
---|---|
Front-End | Android Navigation & okhttp & Javascript & Webview |
Back-End | Java & Javaweb & Spring Springmvc |
Server Database | mysql & jdbctemplate |
Prototype Design | Modao (墨刀,Ink Knife) |
UI Design | Chuangketie (创客贴) & Adobe UI |
Git Tool | Github & Gitee (Chinese version) |
The following flow-charts illustrate the design methodology of our works.
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.
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();
}
@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();
}
}
}
The following figures show the pair working of our team, and the git commits during our works.
Here is the demo of our Android Bobing App. (Click) 🔗
Final update in 16:56pm 18th Nov.
PSP TABLE | Estimated Time Consumption (mins) | Completed Time(mins) |
---|---|---|
Planning | --- | --- |
·Estimate | 60 | 60 |
Development | --- | --- |
·Analysis | 40 | 30 |
·Design Spec | 30 | 30 |
·Design Review | 40 | 40 |
·Coding Standard | 10 | 5 |
·Design | 60 | 80 |
·Coding | 600 | 720 |
·Coding Review | 120 | 60 |
·Test | 30 | 40 |
Reporting | --- | --- |
·Test Report | 30 | 20 |
·Size Measurement | 10 | 15 |
·Postmortem & Process Improvement Plan | 30 | 40 |
TOTAL | 1060 | 1140 |
In this project, we constrcted an Android App for Traditional Bobing game.
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.
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. 🥳