From 6f322c8b146ff108f72d75c95be6fe1df1ed2c0d Mon Sep 17 00:00:00 2001 From: p10297854 <944423246@qq.com> Date: Fri, 9 Jul 2021 15:29:09 +0800 Subject: [PATCH] ADD file via upload --- .../musicwork/chuangguan/GameService.java | 143 ++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 main/java/com/example/musicwork/chuangguan/GameService.java diff --git a/main/java/com/example/musicwork/chuangguan/GameService.java b/main/java/com/example/musicwork/chuangguan/GameService.java new file mode 100644 index 0000000..a876e1d --- /dev/null +++ b/main/java/com/example/musicwork/chuangguan/GameService.java @@ -0,0 +1,143 @@ +package com.example.musicwork.chuangguan; + +import android.util.JsonReader; +import android.util.Log; + +import org.json.JSONException; +import org.json.JSONObject; +import org.json.JSONStringer; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; + + +public class GameService { + public static HashMap params = null; + public static HashMap CheckScore(String name) throws IOException, JSONException { + + String data = "username=" + URLEncoder.encode(name, "utf-8");//设置数据 + MyThread_score myThread = new MyThread_score("http://10.0.2.2:8080/Manager/qeuryonescore",data); + try + { + myThread.start(); + myThread.join(); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } + + HttpURLConnection httpURLConnection=myThread.gethttpURLConnection(); + Log.e("Game:conn", String.valueOf(httpURLConnection)); + + + boolean jsonStr=myThread.getResult(); + if(jsonStr){ + int a=1; + Log.e("Game:result", "result=true"); + }else{ + int a=1; + Log.e("Game:result", "result=false"); + } + if(myThread.getResult()){ + //获取服务器上的数据 + Log.e("Game:", "result start"); + BufferedReader in = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(), "utf-8")); + //解码 + StringBuilder sbre = new StringBuilder(); + String line=null; + while((line=in.readLine())!=null){ + sbre.append(line); + sbre.append("\n"); + } + in.close(); + Log.e("Game:", sbre.toString()); + JSONObject jsonObject = new JSONObject(sbre.toString()); + String avg = jsonObject.getString("avg"); + String max = jsonObject.getString("max"); + int rank = jsonObject.getInt("rank"); + params = new HashMap<>(); + params.put("avg", avg); + params.put("max", max); + params.put("rank", String.valueOf(rank)); + Log.e("avg", avg); + Log.e("max", max); + Log.e("rank", String.valueOf(rank)); + } + return params; + } + + + public static boolean SaveScore(String name, float score) throws IOException { + String data = "username=" + URLEncoder.encode(name, "utf-8") + "&score=" + URLEncoder.encode(String.valueOf(score), "utf-8");//设置数据 + MyThread_score myThread = new MyThread_score("http://10.0.2.2:8080/Manager/InsertScore",data); + try + { + myThread.start(); + myThread.join(); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } + Log.e("result:",String.valueOf(myThread.getResult())); + // HttpURLConnection httpURLConnection=myThread.gethttpURLConnection(); + + // boolean result = (httpURLConnection.getResponseCode() == 200); + return myThread.getResult(); + } + +} +class MyThread_score extends Thread { + private String path; + private String data; + private float score; + private boolean result = false; + HttpURLConnection httpURLConnection; + + public MyThread_score(String path, String data) { + this.path = path; + this.data=data; + } + public MyThread_score(String path) { + this.path = path; + } + + @Override + public void run() { + try { + URL url = new URL(path); + httpURLConnection = (HttpURLConnection) url.openConnection(); + httpURLConnection.setConnectTimeout(8000);//设置连接超时时间 + httpURLConnection.setReadTimeout(8000);//设置读取超时时间 + httpURLConnection.setRequestMethod("POST");//设置请求方法,post + httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");//设置响应类型 + httpURLConnection.setRequestProperty("Content-Length", data.length() + "");//设置内容长度 + httpURLConnection.setDoOutput(true);//允许输出 + OutputStream outputStream = httpURLConnection.getOutputStream(); + outputStream.write(data.getBytes("utf-8"));//写入数据 + result = (httpURLConnection.getResponseCode() == 200); + + } catch (Exception e) { + e.printStackTrace(); + } + } + public boolean getResult(){ + return result; + } + public HttpURLConnection gethttpURLConnection() { + return httpURLConnection; + } +} \ No newline at end of file