diff --git a/DdamiApp/app/.idea/assetWizardSettings.xml b/DdamiApp/app/.idea/assetWizardSettings.xml
new file mode 100644
index 0000000..4c66d0e
--- /dev/null
+++ b/DdamiApp/app/.idea/assetWizardSettings.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/.idea/caches/build_file_checksums.ser b/DdamiApp/app/.idea/caches/build_file_checksums.ser
index c1c0f46..fe44f0a 100644
Binary files a/DdamiApp/app/.idea/caches/build_file_checksums.ser and b/DdamiApp/app/.idea/caches/build_file_checksums.ser differ
diff --git a/DdamiApp/app/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml b/DdamiApp/app/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml
index 4bfa901..b3d218f 100644
--- a/DdamiApp/app/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml
+++ b/DdamiApp/app/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0_aar.xml
@@ -1,12 +1,12 @@
-
+
-
-
-
+
+
+
diff --git a/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_12_1_jar.xml b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_12_1_jar.xml
new file mode 100644
index 0000000..48f6062
--- /dev/null
+++ b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_12_1_jar.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_0_jar.xml b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_0_jar.xml
deleted file mode 100644
index 71953a1..0000000
--- a/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_0_jar.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml
new file mode 100644
index 0000000..4dc9ed2
--- /dev/null
+++ b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_71828_aar.xml b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_71828_aar.xml
index 0d5acff..ab7809f 100644
--- a/DdamiApp/app/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_71828_aar.xml
+++ b/DdamiApp/app/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_71828_aar.xml
@@ -1,9 +1,9 @@
-
-
-
+
+
+
diff --git a/DdamiApp/app/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_1_0_aar.xml b/DdamiApp/app/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_1_0_aar.xml
index 5125ac6..9a05ae2 100644
--- a/DdamiApp/app/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_1_0_aar.xml
+++ b/DdamiApp/app/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_1_0_aar.xml
@@ -1,9 +1,9 @@
-
-
-
+
+
+
diff --git a/DdamiApp/app/.idea/libraries/Gradle__gun0912_ted_tedpermission_2_1_0_aar.xml b/DdamiApp/app/.idea/libraries/Gradle__gun0912_ted_tedpermission_2_1_0_aar.xml
index 65bb110..7c76004 100644
--- a/DdamiApp/app/.idea/libraries/Gradle__gun0912_ted_tedpermission_2_1_0_aar.xml
+++ b/DdamiApp/app/.idea/libraries/Gradle__gun0912_ted_tedpermission_2_1_0_aar.xml
@@ -1,9 +1,9 @@
-
-
-
+
+
+
diff --git a/DdamiApp/app/.idea/modules.xml b/DdamiApp/app/.idea/modules.xml
index 26963c3..8cce195 100644
--- a/DdamiApp/app/.idea/modules.xml
+++ b/DdamiApp/app/.idea/modules.xml
@@ -3,7 +3,9 @@
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/.idea/navEditor.xml b/DdamiApp/app/.idea/navEditor.xml
index 592b8ad..12c7ae2 100644
--- a/DdamiApp/app/.idea/navEditor.xml
+++ b/DdamiApp/app/.idea/navEditor.xml
@@ -8,36 +8,41 @@
diff --git a/DdamiApp/app/build.gradle b/DdamiApp/app/build.gradle
index 4aa7726..aa95e79 100644
--- a/DdamiApp/app/build.gradle
+++ b/DdamiApp/app/build.gradle
@@ -96,8 +96,14 @@ dependencies {
// implementation 'com.google.firebase:firebase-core:16.0.4'
// implementation 'com.google.firebase:firebase-analytics:17.2.2'
+
//noinspection GradleCompatible
implementation 'com.android.support:design:23.2.0'
+
+ //okhttp
+ implementation 'com.squareup.okhttp3:logging-interceptor:3.12.1'
+// implementation 'com.android.support:appcompat-v7:27.1.1'
+
}
repositories {
mavenCentral()
diff --git a/DdamiApp/app/local.properties b/DdamiApp/app/local.properties
index 51b9032..a002008 100644
--- a/DdamiApp/app/local.properties
+++ b/DdamiApp/app/local.properties
@@ -4,5 +4,5 @@
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
-#Tue Jul 28 00:12:45 KST 2020
-sdk.dir=C\:\\Users\\USER\\AppData\\Local\\Android\\Sdk
+#Wed Aug 12 19:38:15 KST 2020
+sdk.dir=C\:\\Users\\Hello\\AppData\\Local\\Android\\Sdk
diff --git a/DdamiApp/app/src/main/AndroidManifest.xml b/DdamiApp/app/src/main/AndroidManifest.xml
index feb1231..e55e4c7 100644
--- a/DdamiApp/app/src/main/AndroidManifest.xml
+++ b/DdamiApp/app/src/main/AndroidManifest.xml
@@ -1,5 +1,6 @@
-
+
data, @Nullable Menu menu, int deviceId) {
+
+ }
+
+ @Override
+ public void onPointerCaptureChanged(boolean hasCapture) {
+
+ }
+}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/MainActivity.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/MainActivity.java
index fe36007..031b672 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/MainActivity.java
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/MainActivity.java
@@ -728,6 +728,7 @@
import com.doubleslash.ddamiapp.R;
import com.doubleslash.ddamiapp.activity.verification.VerificationActivity;
import com.doubleslash.ddamiapp.fragment.ActivitisFragment;
+import com.doubleslash.ddamiapp.fragment.GetItemFragment;
import com.doubleslash.ddamiapp.fragment.LikeFragment;
import com.doubleslash.ddamiapp.fragment.MainFragment;
import com.doubleslash.ddamiapp.fragment.MyRoomFragment;
@@ -762,7 +763,7 @@ public class MainActivity extends AppCompatActivity {
TextView nav_header_program;
ImageView nav_profile_img;
Fragment fragment;
-
+ String token;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -770,7 +771,7 @@ protected void onCreate(Bundle savedInstanceState) {
initViews();
String id = getIntent().getStringExtra("id");
- String token = getIntent().getStringExtra("token");
+ token = getIntent().getStringExtra("token");
Toast.makeText(this, "id = " + id + "token = " + token, Toast.LENGTH_LONG).show();
@@ -865,9 +866,15 @@ public void onClick(View v) {
@Override
public void onClick(View v) {
MyRoomFragment myroom = new MyRoomFragment();
+ MyRoomFragment myroom2 = new MyRoomFragment();
drawerLayout.closeDrawers();
myroom.setArguments(bundle);
+ System.out.println(token);
+ Bundle bundle2 = new Bundle();
+ bundle2.putString("token",token);
+ myroom2.setArguments(bundle2);
replaceFragment(myroom);
+
}
});
@@ -879,7 +886,14 @@ public void onClick(View v) {
replaceFragment(like);
}
});
-
+ nav_shop_like.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ GetItemFragment getItem = new GetItemFragment();
+ drawerLayout.closeDrawers();
+ replaceFragment(getItem);
+ }
+ });
nav_shop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/SavePopUP.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/SavePopUP.java
new file mode 100644
index 0000000..972f667
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/SavePopUP.java
@@ -0,0 +1,59 @@
+package com.doubleslash.ddamiapp.activity;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.KeyboardShortcutGroup;
+import android.view.Menu;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.doubleslash.ddamiapp.R;
+
+import java.lang.invoke.WrongMethodTypeException;
+import java.util.List;
+
+public class SavePopUP extends Dialog implements View.OnClickListener {
+ Context context;
+ Button tempSave, saveCancel;
+ public static int tempCount = 0;
+ protected void onCreate(Bundle savedInstanceState){
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.temp_save_pop_up);
+ tempSave = findViewById(R.id.tempSave);
+ saveCancel = findViewById(R.id.saveCancel);
+ tempSave.setOnClickListener(this);
+ saveCancel.setOnClickListener(this);
+ }
+ public SavePopUP(@NonNull Context context) {
+ super(context);
+ this.context = context;
+ }
+
+ @Override
+ public void onClick(View view) {
+
+ switch (view.getId()){
+ case R.id.tempSave:
+ tempCount++;
+ ((WritingActivity)context).finish();
+ case R.id.saveCancel:
+ dismiss();
+ break;
+ }
+
+ }
+
+ @Override
+ public void onProvideKeyboardShortcuts(List data, @Nullable Menu menu, int deviceId) {
+
+ }
+
+ @Override
+ public void onPointerCaptureChanged(boolean hasCapture) {
+
+ }
+}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/WritingActivity.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/WritingActivity.java
index 98f8af9..9401bf8 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/WritingActivity.java
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/WritingActivity.java
@@ -1,17 +1,27 @@
package com.doubleslash.ddamiapp.activity;
import android.Manifest;
-import android.app.Activity;
+import android.app.ActionBar;
+import android.app.AlertDialog;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.graphics.RectF;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
+import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
@@ -19,8 +29,14 @@
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.FileProvider;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
import com.doubleslash.ddamiapp.R;
+import com.doubleslash.ddamiapp.db.ManagerDB;
+import com.doubleslash.ddamiapp.model.UploadPieceDAO;
+import com.doubleslash.ddamiapp.network.kotlin.ApiService;
import com.gun0912.tedpermission.PermissionListener;
import com.gun0912.tedpermission.TedPermission;
@@ -30,6 +46,17 @@
import java.util.ArrayList;
import java.util.Date;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+import okhttp3.ResponseBody;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
+import static com.doubleslash.ddamiapp.activity.SavePopUP.tempCount;
+import static com.doubleslash.ddamiapp.db.ManagerDB.managerDB;
+
public class WritingActivity extends AppCompatActivity {
private static final int PICK_ALBUM = 1;
private static final int PICK_CAMERA = 2;
@@ -37,11 +64,30 @@ public class WritingActivity extends AppCompatActivity {
int writingLayoutId = 0, writingImgId=0;
static int writing_imgLayoutCount =0;
String writing_layout, writing_img;
+ ArrayList fileUri;
+ EditText e_writingContent, e_writingTitle;
+ Cursor cursor;
+ String filePath;
+ int column_index;
+ Bitmap originalBm;
+ Uri takePhotoUri;
+ Fragment filterFragment;
+ FragmentManager manager;
+ ArrayList bitmapArrayList;
+ private FragmentTransaction transaction;
+ ImageView iv;
+ Button temp;
+ ArrayList tempFileUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_writing);
tedPermission();
+
+// filterFragment = new FilterFragment();
+// manager = getSupportFragmentManager();
+// transaction = manager.beginTransaction();
+// transaction.replace(R.id.filter_whole_layout, filterFragment).commitAllowingStateLoss();
findViewById(R.id.btnCamera).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -50,6 +96,8 @@ public void onClick(View view) {
takePhoto();
}
});
+// filterFragment = getSupportFragmentManager().findFragmentById(R.id.filter_fragment);
+
findViewById(R.id.btnGallery).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -58,7 +106,25 @@ public void onClick(View view) {
goToAlbum();
}
});
+ managerDB = ManagerDB.getInstance(this);
+ findViewById(R.id.btnLoading).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ checkSave();
+ }
+ });
+ findViewById(R.id.btnReg).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ managerDB.deleteEveryData();
+ ImgUpload();
+ }
+ });
+ fileUri = new ArrayList<>();
+ //0이 거래 대기
+ //1이 거래중
+ //-1 거래완료
}
private void tedPermission(){//권한 요청 함수
PermissionListener permissionListener = new PermissionListener() {
@@ -90,16 +156,18 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_ALBUM) {
Uri photoUri = data.getData();
- Cursor cursor = null;
+ cursor = null;
try {
String[] proj = { MediaStore.Images.Media.DATA };
assert photoUri != null;
cursor = getContentResolver().query(photoUri, proj, null, null, null);
assert cursor != null;
- int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
+ column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
tempFile = new File(cursor.getString(column_index));
+ fileUri.add(cursor.getString(column_index));
+ managerDB.addFileUri(cursor.getString(column_index));
} finally {
if (cursor != null) {
@@ -107,28 +175,44 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
}
}
setImage();
-
- }
- else if(requestCode==PICK_ALBUM){
- setImage();
}
- if(requestCode==PICK_CAMERA && resultCode==Activity.RESULT_OK){
+ else if(requestCode==PICK_CAMERA){
setImage();
}
+
}
+
private void setImage(){
int id =0;
id = writing_imgLayoutCount;
writing_img = "writing_img"+writing_imgLayoutCount;
writingImgId = getResources().getIdentifier(writing_img,"id",getPackageName());
System.out.println(writing_img+" ssssssssss");
- ImageView iv = new ImageView(this);
+ iv = new ImageView(this);
iv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
BitmapFactory.Options options = new BitmapFactory.Options();
- Bitmap originalBm = BitmapFactory.decodeFile(tempFile.getAbsolutePath(), options);
+ originalBm = BitmapFactory.decodeFile(tempFile.getAbsolutePath(), options);
iv.setImageBitmap(originalBm);
+ iv.setId(writingImgId);
+ getRoundedCornerBitmap(originalBm,6);
LinearLayout imgLayout = (LinearLayout)findViewById(R.id.writingImgLayout);
imgLayout.addView(iv,300,200);
+ bitmapArrayList = new ArrayList<>();
+ bitmapArrayList.add(originalBm);
+ }
+ public Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels){
+ Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(output);
+ Paint paint = new Paint();
+ Rect rect = new Rect(0,0,bitmap.getWidth(),bitmap.getHeight());
+ RectF rectF = new RectF(rect);
+ float roundPx = pixels;
+ paint.setAntiAlias(true);
+ canvas.drawARGB(0,0,0,0);
+ canvas.drawRoundRect(rectF,roundPx,roundPx,paint);
+ paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
+ canvas.drawBitmap(bitmap, rect,rect,paint);
+ return output;
}
private void takePhoto(){
@@ -145,6 +229,8 @@ private void takePhoto(){
intent.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(this,"{package_name}.fileprovider",tempFile));
startActivityForResult(intent, PICK_CAMERA);
}
+
+
}
private File createImageFile() throws IOException {
@@ -152,11 +238,138 @@ private File createImageFile() throws IOException {
String timeStamp = new SimpleDateFormat("HHmmss").format(new Date());
String imageFileName = "ddamiImg01_" + timeStamp + "_";
// 이미지가 저장될 폴더 이름
+ filePath = Environment.getExternalStorageDirectory() + "/ddamiImg/";
File storageDir = new File(Environment.getExternalStorageDirectory() + "/ddamiImg/");
if (!storageDir.exists()) storageDir.mkdirs();
// 빈 파일 생성
File image = File.createTempFile(imageFileName, ".jpg", storageDir);
return image;
}
+ public void ImgUpload(){
+ e_writingContent = findViewById(R.id.writingContent);
+ e_writingTitle = findViewById(R.id.writingTitle);
+ ArrayList imgList = new ArrayList<>();
+ if(managerDB.FileUriCountDB()>0){
+ for(int i = 0; i < managerDB.FileUriCountDB(); i++){
+ fileUri.add(managerDB.getFileUri());
+ }
+ }
+ for(int i = 0; i < fileUri.size(); i++){
+ File file = new File(fileUri.get(i));
+ RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"),file);
+ imgList.add(MultipartBody.Part.createFormData("img", file.getName(), requestBody));
+ }
+
+ Intent intent = getIntent();
+ String token = intent.getStringExtra("token");
+ System.out.println(token+"vvvvvvvvvvvvvvvvvvvvvvvvv");
+ RequestBody content = RequestBody.create(MediaType.parse("text/plain"),e_writingContent.getText().toString());
+ RequestBody title = RequestBody.create(MediaType.parse("text/plain"), e_writingTitle.getText().toString());
+ if(e_writingTitle.getText().toString().equals(null) || e_writingTitle.getText().toString().equals(null) ){
+ Toast.makeText(getApplicationContext(),"비어져 있는 칸이 있습니다. ", Toast.LENGTH_LONG).show();
+ }
+ else {
+ ApiService.INSTANCE.getUploadPieceService().UploadPiece(
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZjMyNWZlYjA0Mjk1OTJjYzAwZTcxYTMiLCJ1c2VySWQiOiJ0ZXN0NSIsImlhdCI6MTU5NzQwMDMxMywiZXhwIjoxNTk4MDA1MTEzLCJpc3MiOiJkZGFtaS5jb20iLCJzdWIiOiJ1c2VySW5mbyJ9.HQSTgs72EF9g9udo9U0rb09o81MD4uIk8fy81KuqZpk",
+ title, content, imgList).enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ UploadPieceDAO.UploadPieceResponse result = response.body();
+
+ Toast.makeText(WritingActivity.this, result.getMessage(), Toast.LENGTH_LONG).show();
+ if (result.getState() == 0) {
+ System.out.println("sdfsdfsdfdfdfsfsdfsd");
+ finish();
+ }
+ if (response.isSuccessful()) {
+ } else {
+ ResponseBody error = response.errorBody();
+ System.out.println(error.toString());
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ Toast.makeText(WritingActivity.this, "글작성 에러", Toast.LENGTH_LONG).show();
+ Log.e("글작성 에러", t.getMessage());
+ t.printStackTrace();
+ }
+ });
+ }
+ }
+ public void checkSave() {
+ try {
+ LinearLayout imgLayout = findViewById(R.id.writingImgLayout);
+ if (managerDB.DocumentCountDB() > 0) {
+ e_writingContent = findViewById(R.id.writingContent);
+ e_writingTitle = findViewById(R.id.writingTitle);
+ e_writingContent.setText(managerDB.contentDB());
+ e_writingTitle.setText(managerDB.titleDB());
+ if (e_writingTitle.getText().toString() == null)
+ e_writingTitle.setText("");
+ if (e_writingContent.getText().toString() == null)
+ e_writingContent.setText("");
+
+ if (managerDB.ImgCountDB() > 0) {
+ LinearLayout linearLayout = new LinearLayout(this);
+ LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT
+ );
+ linearLayout.setLayoutParams(layoutParams);
+ writing_img = "writing_img" + writing_imgLayoutCount;
+ writingImgId = getResources().getIdentifier(writing_img, "id", getPackageName());
+ imgLayout = findViewById(R.id.writingImgLayout);
+ for (int i = 0; i < managerDB.ImgCountDB(); i++) {
+ iv = new ImageView(this);
+ iv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
+ iv.setImageBitmap(managerDB.imgDB());
+ linearLayout.addView(iv,300,200);
+ }
+ imgLayout.addView(linearLayout);
+
+ }
+ }
+ }catch (NullPointerException e){
+ System.out.println(" ddfsf");
+ }
+
+ }
+ public void tempSave(){
+ e_writingContent = findViewById(R.id.writingContent);
+ e_writingTitle = findViewById(R.id.writingTitle);
+ if(e_writingTitle.length() >0 || e_writingContent.length()>0){
+ managerDB.insertDocument(e_writingTitle.getText().toString(),e_writingContent.getText().toString());
+ }
+ if(fileUri.size() >0) {
+ for (int i = 0; i < fileUri.size(); i++) {
+ managerDB.addFileUri(fileUri.get(i));
+ }
+ }
+ for(int i = 0; i < bitmapArrayList.size(); i++){
+ managerDB.addEntry(managerDB.getBytes( bitmapArrayList.get(i)));
+ }
+ }
+
+ public void LoadingWriting(View view){
+
+ checkSave();
+ }
+ @Override
+ public void onBackPressed() {
+ BackPopUP backPopUP = new BackPopUP(this);
+ backPopUP.show();
+ }
+ public void TempSave(View view){
+
+ if(managerDB.DocumentCountDB() >0){
+ SavePopUP savePopUP = new SavePopUP(this);
+ savePopUP.show();
+ if(tempCount >0)
+ managerDB.deleteEveryData();
+ tempSave();
+ }
+ else
+ tempSave();
+ }
}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/login/LoginActivity.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/login/LoginActivity.kt
index f4f555c..3e4fc9d 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/login/LoginActivity.kt
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/activity/login/LoginActivity.kt
@@ -10,7 +10,9 @@ import androidx.fragment.app.Fragment
import com.doubleslash.ddamiapp.R
import com.doubleslash.ddamiapp.activity.DetailActivity
import com.doubleslash.ddamiapp.activity.MainActivity
+
import com.doubleslash.ddamiapp.fragment.LikeFragment
+import com.doubleslash.ddamiapp.activity.WritingActivity
import com.doubleslash.ddamiapp.network.kotlin.ApiService
import com.doubleslash.ddamiapp.network.kotlin.DetailPieceApi
import com.doubleslash.ddamiapp.util.KeyboardVisibilityUtils
@@ -60,8 +62,11 @@ class LoginActivity : AppCompatActivity() {
.subscribe({
Toast.makeText(applicationContext, "로그인 성공", Toast.LENGTH_SHORT).show()
val intent = Intent(this@LoginActivity, MainActivity::class.java)
+// val intent2 = Intent(this,WritingActivity::class.java)
intent.putExtra("token", it.token)
intent.putExtra("id", input.get("userId").toString())
+
+// intent2.putExtra("token", it.token)
startActivity(intent)
// val detailintent = Intent(this@LoginActivity, DetailActivity::class.java)
@@ -72,8 +77,7 @@ class LoginActivity : AppCompatActivity() {
val bundle = Bundle(1) // 파라미터는 전달할 데이터 개수
bundle.putString("token", it.token) // key , value
fragment.setArguments(bundle)
-
-
+ finish()
}, {
Toast.makeText(applicationContext, "$it", Toast.LENGTH_SHORT).show()
Log.e("영환", it.toString())
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/GetItemAdapter.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/GetItemAdapter.java
new file mode 100644
index 0000000..6172353
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/GetItemAdapter.java
@@ -0,0 +1,56 @@
+package com.doubleslash.ddamiapp.adapter;
+
+
+import android.annotation.SuppressLint;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.doubleslash.ddamiapp.R;
+import com.doubleslash.ddamiapp.model.GetItem;
+import com.doubleslash.ddamiapp.model.LikeItem;
+import com.doubleslash.ddamiapp.viewholder.GetItemViewHolder;
+
+import java.util.ArrayList;
+
+public class GetItemAdapter extends RecyclerView.Adapter {
+
+
+ public GetItemAdapter(ArrayList getItemArrayList) {
+ this.getItemArrayList = getItemArrayList;
+ }
+
+ private ArrayList getItemArrayList;
+
+ public OnItemClickListener mOnItemClickListener = null;
+
+ public interface OnItemClickListener {
+ void onItemClick(View view, GetItem getItem);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener listener) {
+ mOnItemClickListener = listener;
+ }
+
+ @NonNull
+ @Override
+ public GetItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View getItemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.get_list_item, parent, false);
+ return new GetItemViewHolder(getItemView);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull GetItemViewHolder holder, int position) {
+ holder.adapt(getItemArrayList.get(position));
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return getItemArrayList.size();
+ }
+
+}
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/LikeAdapter.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/LikeAdapter.java
index 9610021..93d8817 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/LikeAdapter.java
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/adapter/LikeAdapter.java
@@ -1,5 +1,7 @@
package com.doubleslash.ddamiapp.adapter;
+
+import android.annotation.SuppressLint;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/db/ManagerDB.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/db/ManagerDB.java
new file mode 100644
index 0000000..c6a7611
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/db/ManagerDB.java
@@ -0,0 +1,212 @@
+package com.doubleslash.ddamiapp.db;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.database.Cursor;
+import android.database.DatabaseErrorHandler;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteException;
+import android.database.sqlite.SQLiteOpenHelper;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.preference.PreferenceManager;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+
+public class ManagerDB extends SQLiteOpenHelper {
+
+ public static ManagerDB managerDB;
+ private static SQLiteDatabase db = null;
+ private static final int DB_VERSION = 1;
+ private final String CREATE_DOCUMENT_TABLE = "CREATE TABLE IF NOT EXISTS Document(title TEXT, content TEXT)";
+ private final String CREATE_IMG_TABLE = "CREATE TABLE IF NOT EXISTS Img(id integer primary key autoincrement,img BLOB)";
+ private final String CREATE_FILE_URI = "CREATE TABLE IF NOT EXISTS FileUri(id integer primary key autoincrement, fileUri TEXT)";
+ public static Context con;
+
+
+ public ManagerDB(@Nullable Context context) {
+ super(context, "ManagerDB.db", null, 1);
+ }
+ public static synchronized ManagerDB getInstance(Context context) {
+ con = context;
+ if(managerDB == null) {
+ managerDB = new ManagerDB(context); //onCreate() 실행
+ }
+ return managerDB;
+ }
+ @Override
+ public void onCreate(SQLiteDatabase db) {
+ db.execSQL(CREATE_DOCUMENT_TABLE);//글 임시저장
+ db.execSQL(CREATE_IMG_TABLE);//사진 임시저장
+ db.execSQL(CREATE_FILE_URI);//사진 임시저장
+
+ }
+
+ @Override
+ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+ db.execSQL("DROP TABLE IF EXISTS Document");
+ db.execSQL("DROP TABLE IF EXISTS Img");
+ db.execSQL("DROP TABLE IF EXISTS FileUri");
+ onCreate(db);
+ }
+ public void deleteEveryData() { //모든 테이블의 전체 튜플 삭제
+ db = getWritableDatabase();
+ try {
+ db.execSQL("DELETE FROM Document");
+ db.execSQL("DELETE FROM Img");
+ db.execSQL("DELETE FROM FileUri");
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ public void deleteImgAndUri() { //모든 테이블의 전체 튜플 삭제
+ db = getWritableDatabase();
+ try {
+ db.execSQL("DELETE FROM Img");
+ db.execSQL("DELETE FROM FileUri");
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void insertDocument(String title, String content){
+ db = getWritableDatabase();
+ if(title==null)
+ title = "";
+ if(content ==null)
+ content = "";
+ db.execSQL("INSERT INTO Document VALUES('"+title+"','"+content+"')");
+ }
+ // public void insertImg(String title, String content){
+// db = getWritableDatabase();
+// if(title==null)
+// title = "";
+// if(content ==null)
+// content = "";
+// db.execSQL("INSERT INTO Document VALUES('"+title+"','"+content+"')");
+// }
+ public static byte[] getBytes(Bitmap bitmap){
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ bitmap.compress(Bitmap.CompressFormat.PNG, 0, stream);
+ return stream.toByteArray();
+ }
+ public static Bitmap getImage(byte[] image) {
+ return BitmapFactory.decodeByteArray(image, 0, image.length);
+ }
+ public void addEntry( byte[] image) throws SQLiteException {
+ SQLiteDatabase database = this.getWritableDatabase();
+ ContentValues cv = new ContentValues();
+ cv.put("img", image);
+ database.insert( "Img" , null, cv );
+ }
+ public void addFileUri( String fileUri) throws SQLiteException {
+ db = getWritableDatabase();
+ db.execSQL("INSERT INTO FileUri VALUES(null,'"+fileUri+"')");
+ }
+
+ public int DocumentCountDB(){
+ int documentCount = 0;
+ db = getWritableDatabase();
+ try{
+ documentCount = db.rawQuery("SELECT*FROM Document",null).getCount();
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return documentCount;
+ }
+ public int FileUriCountDB(){
+ int fileUriCount = 0;
+ db = getWritableDatabase();
+ try{
+ fileUriCount = db.rawQuery("SELECT*FROM Document",null).getCount();
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return fileUriCount;
+ }
+ public int ImgCountDB(){
+ int imgCount = 0;
+ db = getWritableDatabase();
+ try{
+ imgCount = db.rawQuery("SELECT*FROM Img",null).getCount();
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return imgCount;
+ }
+ public String titleDB(){
+ String title = "";
+ db = getWritableDatabase();
+ try {
+ Cursor cursor = db.rawQuery("SELECT title FROM Document",null);
+ while(cursor.moveToNext()) {
+ title = cursor.getString(0);
+ }
+ cursor.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return title;
+ }
+ public String contentDB(){
+ String content = "";
+ db = getWritableDatabase();
+ try {
+ Cursor cursor = db.rawQuery("SELECT content FROM Document",null);
+ while(cursor.moveToNext()) {
+ content = cursor.getString(0);
+ }
+ cursor.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return content;
+ }
+
+ public Bitmap imgDB(){
+ Bitmap bitmap = null;
+ byte[] bytes = null;
+ db = getWritableDatabase();
+ try {
+ Cursor cursor = db.rawQuery("SELECT * FROM Img",null);
+ while(cursor.moveToNext()) {
+ bytes = cursor.getBlob(cursor.getColumnIndex("img"));
+ bitmap = getImage(bytes);
+ }
+ cursor.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return bitmap;
+ }
+
+
+ public String getFileUri(){
+ String file = "";
+ db = getWritableDatabase();
+ try {
+ Cursor cursor = db.rawQuery("SELECT * FROM FileUri",null);
+ while(cursor.moveToNext()) {
+ file = cursor.getString(cursor.getColumnIndex("fileUri"));
+ }
+ cursor.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return file;
+ }
+// public ArrayList getAllBitmap(){
+// Bitmap bitmap = null;
+// Cursor cursor = db.rawQuery("SELECT*FROM Img",null);
+// if(cursor != null){
+// while (cursor.moveToNext()){
+// byte[] bolb = cursor.getBlob()
+// }
+// }
+// }
+
+}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/GetItemFragment.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/GetItemFragment.java
new file mode 100644
index 0000000..66ec544
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/GetItemFragment.java
@@ -0,0 +1,132 @@
+package com.doubleslash.ddamiapp.fragment;
+
+import android.annotation.SuppressLint;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageButton;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.doubleslash.ddamiapp.R;
+import com.doubleslash.ddamiapp.adapter.GetItemAdapter;
+import com.doubleslash.ddamiapp.adapter.LikeAdapter;
+import com.doubleslash.ddamiapp.model.GetItem;
+import com.doubleslash.ddamiapp.model.GetItemDAO;
+import com.doubleslash.ddamiapp.model.LikeItem;
+import com.doubleslash.ddamiapp.model.LikeProduct;
+import com.doubleslash.ddamiapp.model.MyLikeListItemDAO;
+import com.doubleslash.ddamiapp.network.kotlin.ApiService;
+import com.google.gson.JsonObject;
+
+import java.util.ArrayList;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class GetItemFragment extends Fragment implements GetItemAdapter.OnItemClickListener {
+
+ ImageButton getItemBack;
+
+ private RecyclerView get_itme_recycler;
+ private GetItemAdapter mLikeAdapter;
+ private ArrayList list = new ArrayList<>(); //서버에서 불러오기
+ String token;
+
+ // 각각의 Fragment마다 Instance를 반환해 줄 메소드를 생성
+ public static GetItemFragment newInstance() {
+ return new GetItemFragment();
+ }
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ token = getActivity().getIntent().getStringExtra("token");
+
+ }
+
+ @SuppressLint("CheckResult")
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstaceState) {
+ View view = inflater.inflate(R.layout.fragment_get_item, container, false);
+
+ getItemBack = (ImageButton) view.findViewById(R.id.get_item_back);
+
+ getItemBack.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
+ fragmentManager.beginTransaction().remove(GetItemFragment.this).commit();
+ fragmentManager.popBackStack();
+ }
+ });
+
+
+ Log.e("진희: token :", token);
+
+ ApiService.INSTANCE.getGetItemApi().getLikeList(token)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(
+ it -> {
+
+ get_itme_recycler = (RecyclerView) view.findViewById(R.id.get_item_recyclerview);
+
+ for (int i = 0; i < it.getLikeProducts().size(); i++) {
+ LikeProduct like = it.getLikeProducts().get(i);
+ list.add(new GetItem(like.getFileUrl().get(0),
+ like.getTitle(),
+ // like.getAuthor().getUserProfile(),
+ like.get_id()));
+ }
+ mLikeAdapter = new GetItemAdapter(list);
+ mLikeAdapter.setOnItemClickListener(this);
+
+ get_itme_recycler.setAdapter(mLikeAdapter);
+
+ RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(), 2);
+ get_itme_recycler.setLayoutManager(mLayoutManager);
+
+
+ //작품 상세보기 likeByMe = true면 추가
+
+
+// LikeItem item1 = new LikeItem("http://222.251.129.150/uploads/1597061667017.jpg", "타이틀1", "http://222.251.129.150/uploads/1597061667017.jpghttp://222.251.129.150/uploads/1597061667017.jpg","진희1");
+// LikeItem item2 = new LikeItem("http://222.251.129.150/uploads/1597061667017.jpg", "타이틀2", "http://222.251.129.150/uploads/1597061667017.jpg","진희2");
+// LikeItem item3 = new LikeItem("https://t1.daumcdn.net/cfile/tistory/2744FB4058719BE733", "타이틀3", "http://222.251.129.150/uploads/1597061667017.jpg","진희3");
+// LikeItem item4 = new LikeItem("https://www.enewstoday.co.kr/news/photo/201805/1188725_303007_1317.jpg", "타이틀4", "http://222.251.129.150/uploads/1597061667017.jpg","진희4");
+//
+// list.add(item1);
+// list.add(item2);
+// list.add(item3);
+// list.add(item4);
+//
+
+
+ //comments
+ Log.e("tttest",it.toString());
+ },it -> {
+ Log.e("failed",it.toString());
+ });
+
+ return view;
+ }
+
+
+ @Override
+ public void onItemClick(View view, GetItem getItem) {
+ Log.e("RecyclerVIew :: ", getItem.toString());
+
+ }
+}
+
+
+
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/MyRoomFragment.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/MyRoomFragment.java
index 29ebfe3..06c6c40 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/MyRoomFragment.java
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/MyRoomFragment.java
@@ -110,6 +110,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
followerNum.setText(String.valueOf(input_follower));
followingNum.setText(String.valueOf(input_follow));
Picasso.get().load(input_profile_img).into(profileImg);
+ Bundle bundle = this.getArguments();
+ String token = bundle.getString("token");
//Create tabs on TabLayout
TabLayout.Tab tab = null;
@@ -221,8 +223,10 @@ public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
btn_fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- getActivity().startActivity(new Intent(getActivity(), WritingActivity.class));
-
+ System.out.println(token+ "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
+ Intent intent = new Intent(getActivity(), WritingActivity.class);
+ intent.putExtra("token",token);
+ startActivity(intent);
}
});
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/shop/ShopFirstFragment.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/shop/ShopFirstFragment.java
index 465ad77..c665f75 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/shop/ShopFirstFragment.java
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/fragment/shop/ShopFirstFragment.java
@@ -18,6 +18,7 @@
import com.doubleslash.ddamiapp.fragment.FilterFragment;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
+
import com.google.android.material.floatingactionbutton.FloatingActionButton;
/**
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/GetItem.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/GetItem.java
new file mode 100644
index 0000000..7164f11
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/GetItem.java
@@ -0,0 +1,79 @@
+package com.doubleslash.ddamiapp.model;
+
+import java.util.ArrayList;
+
+public class GetItem {
+ String image;
+ String piece_name;
+ String user_univ;
+ String piece_price;
+ String piece_date;
+ String deal_state;
+ ArrayList getItemArrayList;
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public String getPiece_name() {
+ return piece_name;
+ }
+
+ public void setPiece_name(String piece_name) {
+ this.piece_name = piece_name;
+ }
+
+ public String getUser_univ() {
+ return user_univ;
+ }
+
+ public void setUser_univ(String user_univ) {
+ this.user_univ = user_univ;
+ }
+
+ public String getPiece_price() {
+ return piece_price;
+ }
+
+ public void setPiece_price(String piece_price) {
+ this.piece_price = piece_price;
+ }
+
+ public String getPiece_date() {
+ return piece_date;
+ }
+
+ public void setPiece_date(String piece_date) {
+ this.piece_date = piece_date;
+ }
+
+ public String getDeal_state() {
+ return deal_state;
+ }
+
+ public void setDeal_state(String deal_state) {
+ this.deal_state = deal_state;
+ }
+
+ public ArrayList getGetItemArrayList() {
+ return getItemArrayList;
+ }
+
+ public void setGetItemArrayList(ArrayList getItemArrayList) {
+ this.getItemArrayList = getItemArrayList;
+ }
+
+ public GetItem(String image, String piece_name, String user_univ
+ ) {
+ this.image = image;
+ this.piece_name = piece_name;
+ this.user_univ = user_univ;
+ this.piece_price = piece_price;
+ this.piece_date = piece_date;
+ this.deal_state = deal_state;
+ }
+}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/GetItemDAO.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/GetItemDAO.kt
new file mode 100644
index 0000000..9750ec9
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/GetItemDAO.kt
@@ -0,0 +1,6 @@
+package com.doubleslash.ddamiapp.model
+
+data class GetItemDAO(
+ val likeProducts: List,
+ val result: Int
+)
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/LikeProduct.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/LikeProduct.kt
new file mode 100644
index 0000000..094419b
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/LikeProduct.kt
@@ -0,0 +1,11 @@
+package com.doubleslash.ddamiapp.model
+
+data class LikeProduct(
+ val _id: String,
+ val created: String,
+ val fileUrl: List,
+ val locationName: String,
+ val pieces: List,
+ val state: Int,
+ val title: String
+)
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/PieceX.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/PieceX.kt
new file mode 100644
index 0000000..3eedd40
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/PieceX.kt
@@ -0,0 +1,6 @@
+package com.doubleslash.ddamiapp.model
+
+data class PieceX(
+ val _id: String,
+ val fileUrl: List
+)
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/ProductXX.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/ProductXX.kt
new file mode 100644
index 0000000..4b401cf
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/ProductXX.kt
@@ -0,0 +1,13 @@
+package com.doubleslash.ddamiapp.model
+
+data class ProductXX(
+ val _id: String,
+ val author: Author,
+ val description: String,
+ val hasField: List,
+ val like: List,
+ val likeByUser: Boolean,
+ val locationName: String,
+ val price: Int,
+ val title: String
+)
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/ShopWorkDetailDAO.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/ShopWorkDetailDAO.kt
new file mode 100644
index 0000000..82a6fa0
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/ShopWorkDetailDAO.kt
@@ -0,0 +1,6 @@
+package com.doubleslash.ddamiapp.model
+
+data class ShopWorkDetailDAO(
+ val product: ProductXX,
+ val result: Int
+)
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/UploadPieceDAO.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/UploadPieceDAO.java
new file mode 100644
index 0000000..aa794e0
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/model/UploadPieceDAO.java
@@ -0,0 +1,56 @@
+package com.doubleslash.ddamiapp.model;
+
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+
+public class UploadPieceDAO {
+ String title;
+ String content;
+ ArrayList hasField;
+
+ public ArrayList getHshField() {
+ return hasField;
+ }
+
+ public void setHshField(ArrayList hasField) {
+ this.hasField = hasField;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public UploadPieceDAO(String title, String content) {
+ this.title = title;
+ this.content = content;
+ }
+ public UploadPieceDAO(String title, String content, ArrayList hashField) {
+ this.title = title;
+ this.content = content;
+ this.hasField = hashField;
+ }
+ public class UploadPieceResponse{
+ int state;
+ String message;
+
+ public int getState() {
+ return state;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+ }
+}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/ApiService.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/ApiService.kt
index a377329..0d204e6 100644
--- a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/ApiService.kt
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/ApiService.kt
@@ -1,17 +1,30 @@
package com.doubleslash.ddamiapp.network.kotlin
+import com.doubleslash.ddamiapp.network.kotlin.java.UploadPieceApi
+import okhttp3.OkHttpClient
+import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
import retrofit2.converter.gson.GsonConverterFactory
-
+import java.util.concurrent.TimeUnit
object ApiService {
private const val BASE_URL = "http://222.251.129.150/"
private val retrofit: Retrofit by lazy {
+ val okHttpClient = OkHttpClient.Builder()
+ .connectTimeout(2, TimeUnit.MINUTES)
+ .readTimeout(100, TimeUnit.SECONDS)
+ .writeTimeout(100, TimeUnit.SECONDS)
+ .build()
+ val clientBuilder = OkHttpClient.Builder()
+ val loggingInterceptor = HttpLoggingInterceptor()
+ loggingInterceptor.level = HttpLoggingInterceptor.Level.BODY
+ clientBuilder.addInterceptor(loggingInterceptor)
Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .client(clientBuilder.build())
.build()
}
@@ -53,4 +66,14 @@ object ApiService {
retrofit.create(MyInfoApi::class.java)
}
-}
\ No newline at end of file
+ val uploadPieceService : UploadPieceApi by lazy {
+ retrofit.create(UploadPieceApi::class.java)
+ }
+ val GetItemApi : GetItemApI by lazy {
+ retrofit.create(GetItemApi::class.java)
+ }
+ val GetItemTFApi : GetItemTFApi by lazy {
+ retrofit.create(GetItemTFApi::class.java)
+ }
+}
+
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/GetItemApI.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/GetItemApI.kt
new file mode 100644
index 0000000..2421ccb
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/GetItemApI.kt
@@ -0,0 +1,11 @@
+package com.doubleslash.ddamiapp.network.kotlin
+
+import com.doubleslash.ddamiapp.model.GetItemDAO
+import io.reactivex.Single
+import retrofit2.http.Header
+import retrofit2.http.POST
+
+interface GetItemApI {
+ @POST("/user/like/products")
+ fun getLikeList(@Header("x-access-token") token:String): Single
+}
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/GetItemTFApi.kt b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/GetItemTFApi.kt
new file mode 100644
index 0000000..e2fff84
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/GetItemTFApi.kt
@@ -0,0 +1,12 @@
+package com.doubleslash.ddamiapp.network.kotlin
+
+import com.doubleslash.ddamiapp.model.DetailPieceDAO
+import io.reactivex.Single
+import retrofit2.http.Header
+import retrofit2.http.POST
+import retrofit2.http.Path
+
+interface GetItemTFApi {
+ @POST("/user/like/products/{FileId}")
+ fun getItemService(@Header("x-access-token") token:String, @Path("FileId") FileId: String): Single
+}
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/java/UploadPieceApi.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/java/UploadPieceApi.java
new file mode 100644
index 0000000..ecf57b0
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/network/kotlin/java/UploadPieceApi.java
@@ -0,0 +1,21 @@
+package com.doubleslash.ddamiapp.network.kotlin.java;
+
+import com.doubleslash.ddamiapp.model.UploadPieceDAO;
+import com.doubleslash.ddamiapp.model.UploadPieceDAO.UploadPieceResponse;
+
+import java.util.ArrayList;
+
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+import retrofit2.Call;
+import retrofit2.http.Header;
+import retrofit2.http.Multipart;
+import retrofit2.http.POST;
+import retrofit2.http.Part;
+
+public interface UploadPieceApi {
+ @POST("/user/upload/piece")
+ @Multipart
+ Call UploadPiece(@Header("x-access-token") String token, @Part("title") RequestBody title, @Part("description") RequestBody description
+ , @Part ArrayList imgList);
+}
diff --git a/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/viewholder/GetItemViewHolder.java b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/viewholder/GetItemViewHolder.java
new file mode 100644
index 0000000..bec0cd5
--- /dev/null
+++ b/DdamiApp/app/src/main/java/com/doubleslash/ddamiapp/viewholder/GetItemViewHolder.java
@@ -0,0 +1,57 @@
+package com.doubleslash.ddamiapp.viewholder;
+
+
+import android.annotation.SuppressLint;
+import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.shapes.OvalShape;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.doubleslash.ddamiapp.R;
+import com.doubleslash.ddamiapp.adapter.LikeAdapter;
+import com.doubleslash.ddamiapp.model.DetailImgItem;
+import com.doubleslash.ddamiapp.model.GetItem;
+import com.doubleslash.ddamiapp.model.LikeItem;
+import com.doubleslash.ddamiapp.model.User;
+import com.makeramen.roundedimageview.RoundedImageView;
+import com.squareup.picasso.Picasso;
+
+public class GetItemViewHolder extends RecyclerView.ViewHolder {
+
+ private LinearLayout getItemLayout = (LinearLayout) itemView.findViewById(R.id.get_item_listLayout);
+ private ImageView PieceImage = (ImageView)itemView.findViewById(R.id.get_item_img);
+ private TextView PieceName = (TextView) itemView.findViewById(R.id.piece_name);
+ private TextView UserUniv = (TextView) itemView.findViewById(R.id.get_item_univ);
+ private TextView PiecePrice = (TextView) itemView.findViewById(R.id.piece_price);
+ private TextView PieceDate = (TextView) itemView.findViewById(R.id.get_item_date);
+ private TextView DealState = (TextView) itemView.findViewById(R.id.deal_state);
+
+
+ public GetItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ }
+
+ @SuppressLint("SetTextI18n")
+ public void adapt(GetItem getItem){
+
+
+ Picasso.get().load(getItem.getImage()).fit().into(PieceImage);
+ PieceName.setText(getItem.getPiece_name());
+ PieceDate.setText(getItem.getPiece_date());
+ UserUniv.setText(getItem.getUser_univ());
+ PiecePrice.setText(getItem.getPiece_price());
+ DealState.setText(getItem.getDeal_state());
+// if(likeItem.getHeart()==true){
+// heartPiece.setSelected(true);
+// }else if(likeItem.getHeart()==false){
+// heartPiece.setSelected(false);
+// }
+
+ }
+}
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/drawable/btn_temp_save.xml b/DdamiApp/app/src/main/res/drawable/btn_temp_save.xml
new file mode 100644
index 0000000..8bcb0c7
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/btn_temp_save.xml
@@ -0,0 +1,14 @@
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/button_cancel.xml b/DdamiApp/app/src/main/res/drawable/button_cancel.xml
new file mode 100644
index 0000000..6b1cde4
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/button_cancel.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/drawable/button_delete.xml b/DdamiApp/app/src/main/res/drawable/button_delete.xml
new file mode 100644
index 0000000..1094fda
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/button_delete.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/drawable/filter_round.xml b/DdamiApp/app/src/main/res/drawable/filter_round.xml
new file mode 100644
index 0000000..54c1bb4
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/filter_round.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/ic_attach_file.xml b/DdamiApp/app/src/main/res/drawable/ic_attach_file.xml
new file mode 100644
index 0000000..b78a4c6
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/ic_attach_file.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/ic_btn_add.xml b/DdamiApp/app/src/main/res/drawable/ic_btn_add.xml
new file mode 100644
index 0000000..bad68e7
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/ic_btn_add.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/ic_img_trash.xml b/DdamiApp/app/src/main/res/drawable/ic_img_trash.xml
new file mode 100644
index 0000000..adb36db
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/ic_img_trash.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/ic_photo_camera.xml b/DdamiApp/app/src/main/res/drawable/ic_photo_camera.xml
new file mode 100644
index 0000000..a6aa500
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/ic_photo_camera.xml
@@ -0,0 +1,16 @@
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/img_round.xml b/DdamiApp/app/src/main/res/drawable/img_round.xml
new file mode 100644
index 0000000..8350c7c
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/img_round.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/loading_save.xml b/DdamiApp/app/src/main/res/drawable/loading_save.xml
new file mode 100644
index 0000000..7818647
--- /dev/null
+++ b/DdamiApp/app/src/main/res/drawable/loading_save.xml
@@ -0,0 +1,15 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/drawable/shop_custom_radius_gray.xml b/DdamiApp/app/src/main/res/drawable/shop_custom_radius_gray.xml
index e61b219..54ab27e 100644
--- a/DdamiApp/app/src/main/res/drawable/shop_custom_radius_gray.xml
+++ b/DdamiApp/app/src/main/res/drawable/shop_custom_radius_gray.xml
@@ -2,7 +2,7 @@
-
-
+
diff --git a/DdamiApp/app/src/main/res/layout/activity_writing.xml b/DdamiApp/app/src/main/res/layout/activity_writing.xml
index 30d44fe..1cfdc6a 100644
--- a/DdamiApp/app/src/main/res/layout/activity_writing.xml
+++ b/DdamiApp/app/src/main/res/layout/activity_writing.xml
@@ -1,57 +1,163 @@
-
-
+
+
+
+
+
+
+
+
-
-
+ android:layout_height="wrap_content" />
+
+
+
-
-
+ android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/layout/fragment_get_item.xml b/DdamiApp/app/src/main/res/layout/fragment_get_item.xml
new file mode 100644
index 0000000..ce948be
--- /dev/null
+++ b/DdamiApp/app/src/main/res/layout/fragment_get_item.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/layout/fragment_my_room.xml b/DdamiApp/app/src/main/res/layout/fragment_my_room.xml
index c1f72dd..5e4dded 100644
--- a/DdamiApp/app/src/main/res/layout/fragment_my_room.xml
+++ b/DdamiApp/app/src/main/res/layout/fragment_my_room.xml
@@ -9,6 +9,7 @@
diff --git a/DdamiApp/app/src/main/res/layout/get_list_item.xml b/DdamiApp/app/src/main/res/layout/get_list_item.xml
new file mode 100644
index 0000000..daa64a5
--- /dev/null
+++ b/DdamiApp/app/src/main/res/layout/get_list_item.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/layout/temp_save_pop_up.xml b/DdamiApp/app/src/main/res/layout/temp_save_pop_up.xml
new file mode 100644
index 0000000..8cee757
--- /dev/null
+++ b/DdamiApp/app/src/main/res/layout/temp_save_pop_up.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/layout/writing_back_pop_up.xml b/DdamiApp/app/src/main/res/layout/writing_back_pop_up.xml
new file mode 100644
index 0000000..7db8bc9
--- /dev/null
+++ b/DdamiApp/app/src/main/res/layout/writing_back_pop_up.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/layout/writing_tool_bar.xml b/DdamiApp/app/src/main/res/layout/writing_tool_bar.xml
new file mode 100644
index 0000000..d4b8614
--- /dev/null
+++ b/DdamiApp/app/src/main/res/layout/writing_tool_bar.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DdamiApp/app/src/main/res/menu/menu_drawer_navigation.xml b/DdamiApp/app/src/main/res/menu/menu_drawer_navigation.xml
new file mode 100644
index 0000000..4d25c59
--- /dev/null
+++ b/DdamiApp/app/src/main/res/menu/menu_drawer_navigation.xml
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/DdamiApp/app/src/main/res/navigation/mobile_navigation.xml b/DdamiApp/app/src/main/res/navigation/mobile_navigation.xml
index 7c72ea5..697fad6 100644
--- a/DdamiApp/app/src/main/res/navigation/mobile_navigation.xml
+++ b/DdamiApp/app/src/main/res/navigation/mobile_navigation.xml
@@ -30,5 +30,14 @@
android:label="fragment_shop"
tools:layout="@layout/fragment_shop" />
-
+
+
\ No newline at end of file