package com.example.contects;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class upload_insert extends AppCompatActivity {
EditText et_name, et_exp, et_url;
final static int REQ_CODE_UPLOAD = 100;
Button btn_upload = (Button) findViewById(R.id.btn_up);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload_insert);
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskReads()
.detectNetwork()
.penaltyLog().build()
);
et_name = (EditText) findViewById(R.id.et_name);
et_exp = (EditText) findViewById(R.id.et_exp);
et_url = (EditText) findViewById(R.id.et_url);
btn_upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it1 = new Intent(upload_insert.this,this.getClass());
startActivityForResult(it1,REQ_CODE_UPLOAD);
}
});
}
private boolean check_data() { // 밑의 액티비티에서 확인
boolean check = false;
if(et_name.getText().toString().equals("")) {
Toast.makeText(upload_insert.this,"이름을 입력하세요.",Toast.LENGTH_SHORT).show();
check = false;
}
else if(et_exp.getText().toString().equals("")) {
Toast.makeText(upload_insert.this,"설명을 입력하세요.",Toast.LENGTH_SHORT).show();
check = false;
}
else if(et_url.getText().toString().equals("")) {
Toast.makeText(upload_insert.this,"이름을 입력하세요.",Toast.LENGTH_SHORT).show();
check = false;
}
else {
check = true;
}
return check;
}
@Override
protected void onActivityResult(int requestCode, @Nullable int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQ_CODE_UPLOAD) {
if(check_data()) {
String urlStr = "http://172.30.1.21/web/db_insert1.php";
if(data_insert(urlStr)) {
Toast.makeText(getApplicationContext(),"DB 입력 성공",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "DB 입력 실패", Toast.LENGTH_LONG).show();
}
}
}
}
private boolean data_insert(String url) {
OkHttpClient client = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.add("id",et_name.getText().toString())
.add("exp",et_exp.getText().toString())
.add("url",et_url.getText().toString())
.build();
Request request = new Request.Builder()
.url(url)
.post(formBody)
.build();
Response response = null;
try {
response = client.newCall(request).execute();
if(response.code() == 200 || response.code() == 201) {
String res = response.body().string();
return res.equals("Success");
}
} catch (IOException e) {
Log.e("TAG","Other Error" + e.getLocalizedMessage());
}
return false;
}
}
코드가 이렇게 되어있는데
btn_upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it1 = new Intent(upload_insert.this,this.getClass());
startActivityForResult(it1,REQ_CODE_UPLOAD);
}
});
버튼을 누르면
@Override
protected void onActivityResult(int requestCode, @Nullable int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQ_CODE_UPLOAD) {
if(check_data()) {
String urlStr = "http://172.30.1.21/web/db_insert1.php";
if(data_insert(urlStr)) {
Toast.makeText(getApplicationContext(),"DB 입력 성공",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "DB 입력 실패", Toast.LENGTH_LONG).show();
}
}
}
}
액티비티 내에서 인텐트 실행해야함
방법좀 가르쳐주라
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.