From aa985f14aa2f036707c5de458613aa2c24c92a56 Mon Sep 17 00:00:00 2001 From: parkmookeun Date: Wed, 2 Nov 2022 15:16:48 +0900 Subject: [PATCH] SignInUI --- Bats/.idea/deploymentTargetDropDown.xml | 4 +- Bats/app/build.gradle | 2 + .../com/cookandroid/bats/MainActivity.java | 12 ++++ .../main/java/com/cookandroid/bats/MyAPI.java | 17 +++++ .../java/com/cookandroid/bats/SignUp.java | 65 +++++++++++++++++++ Bats/gradle/wrapper/gradle-wrapper.properties | 2 +- Bats/settings.gradle | 4 +- 7 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 Bats/app/src/main/java/com/cookandroid/bats/MyAPI.java diff --git a/Bats/.idea/deploymentTargetDropDown.xml b/Bats/.idea/deploymentTargetDropDown.xml index 298ef2a..5e15a63 100644 --- a/Bats/.idea/deploymentTargetDropDown.xml +++ b/Bats/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/Bats/app/build.gradle b/Bats/app/build.gradle index 48beb70..815f053 100644 --- a/Bats/app/build.gradle +++ b/Bats/app/build.gradle @@ -35,4 +35,6 @@ dependencies { testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + implementation 'com.squareup.retrofit2:converter-gson:2.9.0' } \ No newline at end of file diff --git a/Bats/app/src/main/java/com/cookandroid/bats/MainActivity.java b/Bats/app/src/main/java/com/cookandroid/bats/MainActivity.java index 41bccc6..3660997 100644 --- a/Bats/app/src/main/java/com/cookandroid/bats/MainActivity.java +++ b/Bats/app/src/main/java/com/cookandroid/bats/MainActivity.java @@ -1,5 +1,7 @@ package com.cookandroid.bats; +import static android.service.controls.ControlsProviderService.TAG; + import androidx.appcompat.app.AppCompatActivity; import android.content.Context; @@ -8,11 +10,21 @@ import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; +import okhttp3.MediaType; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + public class MainActivity extends AppCompatActivity { Button SignUp, Login; EditText ID, PW; diff --git a/Bats/app/src/main/java/com/cookandroid/bats/MyAPI.java b/Bats/app/src/main/java/com/cookandroid/bats/MyAPI.java new file mode 100644 index 0000000..252fb8e --- /dev/null +++ b/Bats/app/src/main/java/com/cookandroid/bats/MyAPI.java @@ -0,0 +1,17 @@ +package com.cookandroid.bats; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import retrofit2.Call; +import retrofit2.http.Multipart; +import retrofit2.http.POST; +import retrofit2.http.Part; + +public interface MyAPI { + @Multipart + @POST("/user/account/") + Call post_accounts( + @Part("user_id") RequestBody param1, + @Part("user_pwd") RequestBody param2 + ); +} diff --git a/Bats/app/src/main/java/com/cookandroid/bats/SignUp.java b/Bats/app/src/main/java/com/cookandroid/bats/SignUp.java index e57fb7c..9b7acba 100644 --- a/Bats/app/src/main/java/com/cookandroid/bats/SignUp.java +++ b/Bats/app/src/main/java/com/cookandroid/bats/SignUp.java @@ -1,14 +1,79 @@ package com.cookandroid.bats; +import static android.service.controls.ControlsProviderService.TAG; + import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; +import okhttp3.MediaType; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + public class SignUp extends AppCompatActivity { + Button sign_up; + EditText ID,PW; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.signup); + sign_up = (Button)findViewById(R.id.signupbutton); + ID = (EditText)findViewById(R.id.signID); + PW = (EditText)findViewById(R.id.signPW); + + sign_up.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + registerAccount(ID.getText().toString(),PW.getText().toString()); + } + }); + } + //회원가입 담당 메소드 + private void registerAccount(String userId, String userPass) { + RequestBody identify = RequestBody.create(MediaType.parse("text/plain"), "1234"); + RequestBody password = RequestBody.create(MediaType.parse("text/plain"), "12345"); + + + // Retrofit 객체 생성 + Retrofit.Builder builder2 = new Retrofit.Builder() + .baseUrl("https://087a-210-105-182-220.jp.ngrok.io") + .addConverterFactory(GsonConverterFactory.create()); + Retrofit retrofit2 = builder2.build(); + + MyAPI myAPI2 = retrofit2.create(MyAPI.class); + + // post 한다는 request를 보내는 부분. + Call call = myAPI2.post_accounts(identify, password); + // 만약 서버로 부터 response를 받는다면. + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if(response.isSuccessful()){ + Log.d(TAG,"계정 등록"); + Toast.makeText(getApplicationContext(),"계정 등록에 성공하였습니다!",Toast.LENGTH_SHORT).show(); + } + else { + Log.d(TAG,"Post Status Code : " + response.code()); + Log.d(TAG,response.errorBody().toString()); + Log.d(TAG,call.request().body().toString()); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + Log.d(TAG,"Fail msg : " + t.getMessage()); + } + }); } } diff --git a/Bats/gradle/wrapper/gradle-wrapper.properties b/Bats/gradle/wrapper/gradle-wrapper.properties index f742675..c35d91f 100644 --- a/Bats/gradle/wrapper/gradle-wrapper.properties +++ b/Bats/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Sep 29 23:57:45 KST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/Bats/settings.gradle b/Bats/settings.gradle index 01df3cb..53aac9b 100644 --- a/Bats/settings.gradle +++ b/Bats/settings.gradle @@ -5,8 +5,8 @@ pluginManagement { mavenCentral() } plugins { - id 'com.android.application' version '7.1.3' - id 'com.android.library' version '7.1.3' + id 'com.android.application' version '7.3.0' + id 'com.android.library' version '7.3.0' } } dependencyResolutionManagement {