From 2bff20ab208dfcf56ec6f6d083d61cd278817d32 Mon Sep 17 00:00:00 2001 From: molskqv38 <748067453@qq.com> Date: Sat, 25 Jun 2022 19:26:23 +0800 Subject: [PATCH] ADD file via upload --- RegisterActivity.java | 149 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 RegisterActivity.java diff --git a/RegisterActivity.java b/RegisterActivity.java new file mode 100644 index 0000000..73c30f1 --- /dev/null +++ b/RegisterActivity.java @@ -0,0 +1,149 @@ +package com.example.share2; + + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Typeface; +import android.os.Bundle; +import android.text.InputType; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.Toast; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.Map; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.Headers; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +public class RegisterActivity extends AppCompatActivity { + + + private static final String ACTION_REGISTER_OK = "ACTION_REGISTER_OK"; + private Boolean bPwdSwitch = false; + private EditText etPwd; + private EditText etCount; + private Button btSignUp; + private ConnectServer connectServer; + private ResponseBody responseBody; + public class StartReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + if (responseBody != null){ + if(responseBody.getCode() == 200){ + Toast.makeText(RegisterActivity.this,"注册成功!返回登录!",Toast.LENGTH_SHORT).show(); + } + else { + Toast.makeText(RegisterActivity.this,responseBody.getMsg(),Toast.LENGTH_SHORT).show(); + } + + } + else { + Toast.makeText(RegisterActivity.this,"服务器错误!",Toast.LENGTH_SHORT).show(); + } + } + } + + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_register); + this.getSupportActionBar().hide(); + + + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(ACTION_REGISTER_OK); + registerReceiver(new StartReceiver(), intentFilter); + + connectServer = new ConnectServer(); + etCount = findViewById(R.id.et_account); + final ImageView ivPwdSwitch = findViewById(R.id.iv_pwd_switch); + etPwd = findViewById(R.id.et_pwd); + ivPwdSwitch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + bPwdSwitch = !bPwdSwitch; + if (bPwdSwitch) { + ivPwdSwitch.setImageResource( + R.drawable.ic_baseline_visibility_24); + etPwd.setInputType( + InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); + } else { + ivPwdSwitch.setImageResource( + R.drawable.ic_baseline_visibility_off_24); + etPwd.setInputType( + InputType.TYPE_TEXT_VARIATION_PASSWORD | + InputType.TYPE_CLASS_TEXT); + etPwd.setTypeface(Typeface.DEFAULT); + } + + } + }); + btSignUp = findViewById(R.id.bt_sign_up); + btSignUp.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d("conClick","点击了啊"); + + HashMap hMap = new HashMap<>(); + hMap.put("Content-Type", "application/json"); + Headers headers = connectServer.getHeaders(hMap); + + String username = etCount.getText().toString(); + String password = etPwd.getText().toString(); + + /*Json格式的body*/ + Map body_map = new HashMap<>(); + body_map.put("username",username); + body_map.put("password",password); + RequestBody r_body = connectServer.getJsonBody(body_map); + + + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder().url(Constants.SERVER_URL+Constants.USER_REGISTER) + .method("POST",r_body).headers(headers).build(); + Call call = client.newCall(request); + call.enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + Log.d("request","请求失败了"); + Intent musicStartIntent = new Intent(RegisterActivity.ACTION_REGISTER_OK); + sendBroadcast(musicStartIntent); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + final String body = response.body().string(); + Gson gson = new Gson(); + Type jsonType = new TypeToken>(){}.getType(); + responseBody = gson.fromJson(body, jsonType); + Intent musicStartIntent = new Intent(RegisterActivity.ACTION_REGISTER_OK); + sendBroadcast(musicStartIntent); + } + }); + } + }); + } +} \ No newline at end of file