From 8c9d7d825aa0391d69796139c45d7d522d5e7cc5 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1A3P75F\\lee" Date: Mon, 5 Sep 2022 20:29:44 +0900 Subject: [PATCH] =?UTF-8?q?DB=20Helper=20=EC=82=AC=EC=9A=A9=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD,=20=ED=8F=B4=EB=8D=94=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/deploymentTargetDropDown.xml | 17 +++++ .idea/misc.xml | 9 +++ app/src/main/AndroidManifest.xml | 2 + app/src/main/java/Info.txt | 3 + .../java/com/qtagger/Activity/AccountAdd.java | 9 ++- .../com/qtagger/Activity/AccountList.java | 17 ++--- .../com/qtagger/Activity/AccountModify.java | 18 +++-- .../com/qtagger/Activity/SearchActivity.java | 9 +++ .../java/com/qtagger/Database/AccountDao.java | 25 ------- .../{Account.java => AccountData.java} | 16 +++-- .../com/qtagger/Database/AppDatabase.java | 10 --- .../java/com/qtagger/Database/DBHelper.java | 47 ++++++++++-- .../main/java/com/qtagger/Database/DBInfo.txt | 33 +++++++++ .../main/java/com/qtagger/MainActivity.java | 68 ++++++++---------- app/src/main/java/com/qtagger/test.java | 29 -------- .../java/com/qtagger/util/CommonHelper.java | 34 +++++++++ .../java/com/qtagger/util/DataManager.java | 17 ++--- app/src/main/res/drawable/logo.png | Bin 0 -> 5781 bytes .../main/res/layout/activity_account_add.xml | 3 + .../res/layout/activity_account_modify.xml | 2 + app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/layout/activity_search.xml | 2 +- .../main/res/layout/activity_test_select.xml | 2 +- app/src/main/res/layout/fragment_capture.xml | 2 +- 24 files changed, 225 insertions(+), 151 deletions(-) create mode 100644 .idea/deploymentTargetDropDown.xml create mode 100644 app/src/main/java/Info.txt delete mode 100644 app/src/main/java/com/qtagger/Database/AccountDao.java rename app/src/main/java/com/qtagger/Database/{Account.java => AccountData.java} (77%) delete mode 100644 app/src/main/java/com/qtagger/Database/AppDatabase.java create mode 100644 app/src/main/java/com/qtagger/Database/DBInfo.txt create mode 100644 app/src/main/res/drawable/logo.png diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..f400ead --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index ba86fd6..f242af3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -101,6 +101,15 @@ + + + + + + + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a754313..91e6e0e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,6 +22,7 @@ diff --git a/app/src/main/java/Info.txt b/app/src/main/java/Info.txt new file mode 100644 index 0000000..0584b64 --- /dev/null +++ b/app/src/main/java/Info.txt @@ -0,0 +1,3 @@ +기본 설명 + - DB 저장 공간 : + - diff --git a/app/src/main/java/com/qtagger/Activity/AccountAdd.java b/app/src/main/java/com/qtagger/Activity/AccountAdd.java index 524315b..a08c5c6 100644 --- a/app/src/main/java/com/qtagger/Activity/AccountAdd.java +++ b/app/src/main/java/com/qtagger/Activity/AccountAdd.java @@ -9,13 +9,14 @@ import android.view.View; import android.widget.EditText; import android.widget.Toast; -import com.qtagger.Database.Account; -import com.qtagger.Database.AppDatabase; +import com.qtagger.Database.AccountData; import com.qtagger.R; +import com.qtagger.util.DataManager; public class AccountAdd extends AppCompatActivity { private EditText editAccountId, editAccountName, editAccountDapt; private ImageFilterButton backBtn; + DataManager dataManager = DataManager.getInstance(); @Override protected void onCreate(Bundle savedInstanceState) { @@ -27,7 +28,6 @@ public class AccountAdd extends AppCompatActivity { editAccountDapt = (EditText) findViewById(R.id.textView_AccountDapt); backBtn = (ImageFilterButton) findViewById(R.id.imageFilterButton_Back); - AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build(); findViewById(R.id.button_save).setOnClickListener(new View.OnClickListener() { @@ -45,8 +45,7 @@ public class AccountAdd extends AppCompatActivity { //DB에 저장 - db.accountDao().insert(new Account(acId,acName,acDapt)); - + dataManager.dbHelper.insertAccount(new AccountData(acId,acName,acDapt)); Toast.makeText(AccountAdd.this, "계정 생성 성공", Toast.LENGTH_SHORT).show(); finish(); diff --git a/app/src/main/java/com/qtagger/Activity/AccountList.java b/app/src/main/java/com/qtagger/Activity/AccountList.java index 07b29d6..2415aa0 100644 --- a/app/src/main/java/com/qtagger/Activity/AccountList.java +++ b/app/src/main/java/com/qtagger/Activity/AccountList.java @@ -11,23 +11,22 @@ import android.os.Bundle; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; -import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.ScrollView; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; -import com.qtagger.Database.Account; -import com.qtagger.Database.AppDatabase; +import com.qtagger.Database.AccountData; import com.qtagger.R; +import com.qtagger.util.DataManager; import java.util.List; public class AccountList extends AppCompatActivity { ScrollView scrollView; LinearLayout linearLayout; - AppDatabase db; + DataManager dataManager = DataManager.getInstance(); @Override protected void onCreate(Bundle savedInstanceState) { @@ -37,7 +36,6 @@ public class AccountList extends AppCompatActivity { scrollView = (ScrollView)findViewById(R.id.scrollview_AccountList); linearLayout = (LinearLayout)findViewById(R.id.linearList); - db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build(); findViewById(R.id.imageFilterButton_Back).setOnClickListener(new View.OnClickListener() { @Override @@ -54,15 +52,15 @@ public class AccountList extends AppCompatActivity { linearLayout.removeAllViewsInLayout(); //초기 데이터 세팅 - List accountList = db.accountDao().getAll(); - for (Account ac: accountList) { + List accountList = dataManager.dbHelper.getAllAccount(); + for (AccountData ac: accountList) { //계정 개수만큼 추가 addAccountView(ac); } } - private void addAccountView(Account account) + private void addAccountView(AccountData account) { TableLayout tableLayout = new TableLayout(this); TableLayout.LayoutParams params = new TableLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,inttodp(150)); @@ -108,8 +106,7 @@ public class AccountList extends AppCompatActivity { btnRemove.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - - db.accountDao().delete(account); + dataManager.dbHelper.deleteAccount(account); linearLayout.removeView(tableLayout); } }); diff --git a/app/src/main/java/com/qtagger/Activity/AccountModify.java b/app/src/main/java/com/qtagger/Activity/AccountModify.java index b56d131..2486ca1 100644 --- a/app/src/main/java/com/qtagger/Activity/AccountModify.java +++ b/app/src/main/java/com/qtagger/Activity/AccountModify.java @@ -5,17 +5,16 @@ import androidx.room.Room; import android.content.Intent; import android.os.Bundle; +import android.provider.ContactsContract; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; -import com.qtagger.Database.Account; -import com.qtagger.Database.AppDatabase; +import com.qtagger.Database.AccountData; import com.qtagger.R; - -import org.w3c.dom.Text; +import com.qtagger.util.DataManager; import java.util.List; @@ -23,8 +22,8 @@ public class AccountModify extends AppCompatActivity { TextView textAccountId; EditText editAccountName, editAccountDapt; Button btnModify; - Account findAccount = null; - AppDatabase db; + AccountData findAccount = null; + private DataManager dataManager = DataManager.getInstance(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -45,9 +44,8 @@ Button btnModify; if(id != -1) { - db = Room.databaseBuilder(this, AppDatabase.class, "AccountDB").allowMainThreadQueries().build(); - List accountList = db.accountDao().getAll(); - for (Account ac: accountList) { + List accountList = dataManager.dbHelper.getAllAccount(); + for (AccountData ac: accountList) { if(ac.getId() == id) { findAccount = ac; @@ -83,7 +81,7 @@ Button btnModify; findAccount.setAccountDapt(acDapt); //DB에 저장 - db.accountDao().update(findAccount); + dataManager.dbHelper.updateAccount(findAccount); Toast.makeText(AccountModify.this, "계정 수정 성공", Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/qtagger/Activity/SearchActivity.java b/app/src/main/java/com/qtagger/Activity/SearchActivity.java index 5f89144..3df8d61 100644 --- a/app/src/main/java/com/qtagger/Activity/SearchActivity.java +++ b/app/src/main/java/com/qtagger/Activity/SearchActivity.java @@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment; import android.content.Intent; import android.os.Bundle; +import android.view.View; import com.google.android.material.tabs.TabLayout; import com.qtagger.Activity.Search.BarcodeFragment; @@ -58,6 +59,14 @@ public class SearchActivity extends AppCompatActivity { } }); + + findViewById(R.id.imageFilterButton_Back).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } public void callTestActivity(){ diff --git a/app/src/main/java/com/qtagger/Database/AccountDao.java b/app/src/main/java/com/qtagger/Database/AccountDao.java deleted file mode 100644 index 9a4e383..0000000 --- a/app/src/main/java/com/qtagger/Database/AccountDao.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.qtagger.Database; - -import androidx.room.Dao; -import androidx.room.Delete; -import androidx.room.Insert; -import androidx.room.Query; -import androidx.room.Update; - -import java.util.List; - -@Dao -public interface AccountDao { - @Query("SELECT * FROM Account") - List getAll(); - - @Insert - void insert(Account account); - - @Update - void update(Account account); - - @Delete - void delete(Account account); - -} diff --git a/app/src/main/java/com/qtagger/Database/Account.java b/app/src/main/java/com/qtagger/Database/AccountData.java similarity index 77% rename from app/src/main/java/com/qtagger/Database/Account.java rename to app/src/main/java/com/qtagger/Database/AccountData.java index e107598..5aaad40 100644 --- a/app/src/main/java/com/qtagger/Database/Account.java +++ b/app/src/main/java/com/qtagger/Database/AccountData.java @@ -1,15 +1,19 @@ package com.qtagger.Database; -import androidx.room.Entity; -import androidx.room.PrimaryKey; -@Entity -public class Account { - @PrimaryKey(autoGenerate = true) + +public class AccountData { private int id; private String accountId; private String accountName; private String accountDapt; - public Account(String accountId, String accountName, String accountDapt) { + public AccountData(String accountId, String accountName, String accountDapt) { + this.accountId = accountId; + this.accountName = accountName; + this.accountDapt = accountDapt; + } + + public AccountData(int id,String accountId, String accountName, String accountDapt) { + this.id = id; this.accountId = accountId; this.accountName = accountName; this.accountDapt = accountDapt; diff --git a/app/src/main/java/com/qtagger/Database/AppDatabase.java b/app/src/main/java/com/qtagger/Database/AppDatabase.java deleted file mode 100644 index 2997619..0000000 --- a/app/src/main/java/com/qtagger/Database/AppDatabase.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.qtagger.Database; - -import androidx.room.Database; -import androidx.room.RoomDatabase; - -@Database(entities = {Account.class}, version = 1) -public abstract class AppDatabase extends RoomDatabase{ - public abstract AccountDao accountDao(); - -} diff --git a/app/src/main/java/com/qtagger/Database/DBHelper.java b/app/src/main/java/com/qtagger/Database/DBHelper.java index 78d9189..efb4e71 100644 --- a/app/src/main/java/com/qtagger/Database/DBHelper.java +++ b/app/src/main/java/com/qtagger/Database/DBHelper.java @@ -1,23 +1,62 @@ package com.qtagger.Database; import android.content.Context; +import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; +import com.qtagger.util.CommonHelper; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + public class DBHelper extends SQLiteOpenHelper { + public SQLiteDatabase db; public DBHelper(Context context) { - super(context, "groupDB", null, 1); + super(context, CommonHelper.DefaultDBFolderPath+ CommonHelper.DBName, null, 1); + + } @Override public void onCreate(SQLiteDatabase db) { - db.execSQL("CREATE TABLE groupTBL ( gName CHAR(20) PRIMARY KEY,gNumber INTEGER);"); + db.execSQL("CREATE TABLE Account ( id integer PRIMARY KEY AUTOINCREMENT, accountId TEXT, accountName TEXT, accountDapt TEXT);"); + db.execSQL("CREATE TABLE File ( path text, FileName text);"); + db.execSQL("CREATE TABLE PKG ( PKG_Type text, PKG_NO text);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - db.execSQL("DROP TABLE IF EXISTS groupTBL"); - onCreate(db); } + + + public List getAllAccount(){ + List resultData = new ArrayList(); + db = getWritableDatabase(); + Cursor cs = db.rawQuery("Select * From Account ",null); + while (cs.moveToNext()){ + resultData.add(new AccountData(cs.getInt(0),cs.getString(1),cs.getString(2),cs.getString(3) )); + } + db.close(); + return resultData; + } + + public void insertAccount(AccountData ac){ + db = getWritableDatabase(); + db.execSQL("INSERT INTO Account (accountId,accountName,accountDapt) VALUES('"+ac.getAccountId()+"','"+ac.getAccountName()+"','"+ac.getAccountDapt()+"')"); + db.close(); + } + + public void updateAccount(AccountData ac){ + db.execSQL("Update Account set accountId ='"+ac.getAccountId()+"'" + +", accountName = '"+ac.getAccountName()+"'" + +", accountDapt = '"+ac.getAccountDapt()+"'" + +" where id = '"+ac.getId()+"';"); + } + + public void deleteAccount(AccountData ac){ + db.execSQL("Delete from Account where id = '"+ac.getId()+"'"); + } } \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/Database/DBInfo.txt b/app/src/main/java/com/qtagger/Database/DBInfo.txt new file mode 100644 index 0000000..6aab68c --- /dev/null +++ b/app/src/main/java/com/qtagger/Database/DBInfo.txt @@ -0,0 +1,33 @@ +DB 정보 + + - Account + @PrimaryKey(autoGenerate = true) + int id; + String accountId; + String accountName; + String accountDapt; + + - File + String path //임시 번호 저장 경로 + String FileName // 실제 파일 이름 + + - PKG//방폐물 + String PKG_Type //발생지특성, 예비, 인수, 처분 + String PKG_NO + + + - 발생지특성 + 기본정보 + 방사선적특성 + 검사확인 + - 예비 + 기본정보(전수검사,판정내역) + 표본검사 (핵종정보) + + - 인수 + 기본정보(전수검사, 판정내역) + 표본검사(핵종정보) + + - 처분 + 기본정보(핵종분석, 처분검사 판정내역) + diff --git a/app/src/main/java/com/qtagger/MainActivity.java b/app/src/main/java/com/qtagger/MainActivity.java index 07a384f..599487b 100644 --- a/app/src/main/java/com/qtagger/MainActivity.java +++ b/app/src/main/java/com/qtagger/MainActivity.java @@ -1,16 +1,13 @@ package com.qtagger; -import static android.os.Environment.DIRECTORY_DCIM; -import static android.os.Environment.DIRECTORY_DOWNLOADS; - import android.content.Context; import android.content.Intent; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; import android.net.ConnectivityManager; import android.net.NetworkInfo; -import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.os.Environment; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; @@ -19,14 +16,13 @@ import android.widget.Toast; import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; -import androidx.room.Room; import com.qtagger.Activity.AccountAdd; import com.qtagger.Activity.AccountList; import com.qtagger.Activity.NavigationActivity; import com.qtagger.Activity.TestSelectActivity; -import com.qtagger.Database.Account; -import com.qtagger.Database.AppDatabase; +import com.qtagger.Database.AccountData; +import com.qtagger.Database.DBHelper; import com.qtagger.util.CommonHelper; import com.qtagger.util.DataManager; @@ -38,8 +34,8 @@ import java.util.List; public class MainActivity extends AppCompatActivity { private Spinner mSpinner; private Button btnLogin; - private DataManager dataManager; - private List accountList; + private DataManager dataManager= DataManager.getInstance(); + private List accountList; @RequiresApi(api = Build.VERSION_CODES.O) public static void copy(File origin, File dest) throws IOException { @@ -51,11 +47,23 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - mSpinner = findViewById(R.id.spinner_account); - dataManager = DataManager.getInstance(); CommonHelper.CheckCameraPermission(this); + CommonHelper.FolderClear(); + dataManager.dbHelper = new DBHelper(getApplicationContext()); + dataManager.dbHelper.getAllAccount(); + + + /* + SQLiteDatabase sqLiteOpenHelper = dbHelper.getWritableDatabase(); + + sqLiteOpenHelper.execSQL("INSERT INTO Account (accountId,accountName,accountDapt) VALUES('"+"gg"+"','"+"gg"+"','"+"gg"+"')"); + sqLiteOpenHelper.close();*/ + //db.execSQL("INSERT INTO Account (accountId,accountName,accountDapt) VALUES('"+ac.getAccountId()+"','"+ac.getAccountName()+"','"+ac.getAccountDapt()+"')"); + + +/* File path22 = getDatabasePath("groupDB"); try { copy(path22,new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS).getPath()+"/groupDB")); @@ -69,34 +77,15 @@ public class MainActivity extends AppCompatActivity { } catch (IOException e) { e.printStackTrace(); } - -/* - File path = Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS); - File[] files = path.listFiles(); - files = getFilesDir().listFiles(); - File path22 = getDatabasePath("AccountDB"); - try { - copy(path22,new File(path.getPath()+"/Account")); - } catch (IOException e) { - e.printStackTrace(); - } - - Uri uri = Uri.fromParts("package",this.getPackageName(),null); - //String path123 = uri.getPath(); - - - - files = (new File(uri.getPath())).listFiles(); - */ //테스트용도 나중에 삭제 findViewById(R.id.imageView).setOnClickListener(v -> { - Intent intent = new Intent(getApplicationContext(), test.class); - startActivity(intent); - //Intent intent = new Intent(getApplicationContext(), TestSelectActivity.class); + //Intent intent = new Intent(getApplicationContext(), test.class); //startActivity(intent); + Intent intent = new Intent(getApplicationContext(), TestSelectActivity.class); + startActivity(intent); }); //로그인 @@ -155,12 +144,12 @@ public class MainActivity extends AppCompatActivity { ArrayAdapter aa_items = new ArrayAdapter(this, androidx.appcompat.R.layout.support_simple_spinner_dropdown_item); aa_items.add("사용자를 선택해주세요"); - AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build(); //초기 데이터 세팅 - accountList = db.accountDao().getAll(); - for (Account ac: accountList) { + //accountList = db.accountDao().getAll(); + accountList = dataManager.dbHelper.getAllAccount(); + for (AccountData ac: accountList) { aa_items.add(ac.getAccountId()); } @@ -177,4 +166,9 @@ public class MainActivity extends AppCompatActivity { return (networkInfo != null && networkInfo.isConnectedOrConnecting()); } + + @Override + protected void onDestroy() { + super.onDestroy(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/qtagger/test.java b/app/src/main/java/com/qtagger/test.java index 2b5656d..8152481 100644 --- a/app/src/main/java/com/qtagger/test.java +++ b/app/src/main/java/com/qtagger/test.java @@ -5,12 +5,8 @@ import static android.content.ContentValues.TAG; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import androidx.core.content.ContextCompat; import androidx.room.Room; -import android.database.sqlite.SQLiteDatabase; -import android.graphics.Color; -import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; @@ -19,50 +15,26 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; -import android.widget.TextView; -import com.qtagger.Database.Account; -import com.qtagger.Database.AppDatabase; -import com.qtagger.Database.DBHelper; import com.qtagger.util.DataManager; import org.json.JSONObject; import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.net.ConnectException; import java.net.HttpURLConnection; -import java.net.MalformedURLException; import java.net.URL; public class test extends AppCompatActivity { ListView list1; private DataManager dataManager; - DBHelper dbHelper; - SQLiteDatabase sqlDB; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); dataManager = DataManager.getInstance(); list1 = findViewById(R.id.list_test); - dbHelper = new DBHelper(this); - - sqlDB = dbHelper.getWritableDatabase(); - dbHelper.onUpgrade(sqlDB,1,2); - sqlDB.close(); - - - sqlDB = dbHelper.getWritableDatabase(); - //sqlDB.execSQL("INSERT INTO groupTBL VALUES ( aaa,bbb);"); - String temp1 = "aaa"; - String temp2 = "1"; - - sqlDB.execSQL("INSERT INTO groupTBL VALUES ( '" + temp1 + "' , "+temp2 +");"); - sqlDB.close(); - String testString[] = {"A","B","C"};//,"D","E","A","B","C","D","E"}; @@ -85,7 +57,6 @@ public class test extends AppCompatActivity { list1.setAdapter(aa_items); - AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build(); findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/qtagger/util/CommonHelper.java b/app/src/main/java/com/qtagger/util/CommonHelper.java index f4f0188..85c738b 100644 --- a/app/src/main/java/com/qtagger/util/CommonHelper.java +++ b/app/src/main/java/com/qtagger/util/CommonHelper.java @@ -18,8 +18,15 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; +import java.io.File; + public class CommonHelper { + public static String DefaultPath = "/storage/emulated/0/Android/data/QTagger/"; + public static String DefaultDBFolderPath = DefaultPath+"DB/"; + public static String DefaultImageFolderPath = DefaultPath+ "Image/"; + public static String DBName = "QTagger.db"; + public static Bitmap CameraResult(ActivityResult result){ if( result.getResultCode() == RESULT_OK && result.getData() != null){ @@ -54,6 +61,33 @@ public class CommonHelper { activityResultPicture.launch(cameraIntent); } } + public static void FolderClear(){ + File f = new File(DefaultDBFolderPath+ DBName); + if(!f.exists()) + { + File dbFolder = new File(DefaultDBFolderPath); + if(dbFolder.exists()) + { + dbFolder.delete(); + } + dbFolder.mkdirs(); + } + + File imageFolder = new File(DefaultImageFolderPath); + if(!imageFolder.exists()) + imageFolder.mkdirs(); + } + + + + public static File getSaveFolder(){ + File dir = new File(DefaultPath); + if(!dir.exists()){ + dir.mkdirs(); + } + return dir; + } + diff --git a/app/src/main/java/com/qtagger/util/DataManager.java b/app/src/main/java/com/qtagger/util/DataManager.java index a40f005..da296e0 100644 --- a/app/src/main/java/com/qtagger/util/DataManager.java +++ b/app/src/main/java/com/qtagger/util/DataManager.java @@ -1,31 +1,26 @@ package com.qtagger.util; -import static android.app.Activity.RESULT_OK; - -import static com.qtagger.util.CommonHelper.CheckCameraPermission; - -import android.app.Activity; import android.content.Intent; import android.provider.MediaStore; -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; import androidx.fragment.app.FragmentManager; import com.qtagger.Data.TestEnum; -import com.qtagger.Database.Account; +import com.qtagger.Database.AccountData; +import com.qtagger.Database.DBHelper; public class DataManager { private DataManager(){} - public Account loginAccount; + public AccountData loginAccount; public FragmentManager fragmentManager; + public DBHelper dbHelper; public static TestEnum testEnum = TestEnum.선택안함; public static Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); public static final int CAMERA_PERMISSIONS_REQUEST_CODE = 100; + + private static class DataManagerHolder{ public static final DataManager INSTANCE = new DataManager(); } diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6ae01de8ba7fdeed4a50c98379b6f667fd572cd0 GIT binary patch literal 5781 zcmb_g2{e>_-<~LYwj%2^#vZep!3@J=%{C;mlw>wcmcfj*B1`sNk)=|kEKyRjFOjWM zky4?MC8X@i@(nHD^L*!d-uFH4`R1H^?tAY0x_LG#-xk(xbRije>kARzc?0q#!pE zh78u$0%-2-ZN+FWa${-{hiG;z?FgOMRSHmKaSR@AY^8;os=RU=p-Mi7lTUk z1Z_nm5NW;)9GEHfhX)U@-(fxJKl8-Q7%YI`1w%mLTb{OoUam9-jqXbO2l(&De<6`c zzk_@E`nYc^CX-+kcZvtalR;-<5x*B;<`$3t4gXs$9v;8ZbcTT+)5gz){4JVp9q2`Y z9j4G}zCI+1fgf{4=`A;2SUn#KfkE@JrqSGgRqD_$dmy9=6a`YSrFxQS{&dAZ5h(fu z1_cM+sv2agWN2$79E(6>RaBJV7%UwA1Bz!h0-3-d{2dsHz@kup0n^A-=fHmp{heH_ z9?hNRgQt<1I#j?QG70NU^YI`s6G8PLxKLnTo-W%e@OZ4TC!Im?BvFj@abTurD3waa zVh9+FDgvnjA*!M<5E2=s4k03uM2M;?21CIh2}D(A$}he?jpVykq+fh8laHdPQ!uKk zD2Tc<#u-9TM^PXcB0?2{R#jI~L!(s)NOkfrzJ(8!Ia&nw|2htH0{++cuP8c9M|5WC z=s)K}m*DdA%AKmUWpi65QjLh9sHs9!G0x5qGKy&v1INH2YG|SgibTMmk!sGGu&rTW zl77tDpV|L`$$w_686eOqIw(W5fj%06FwoOs=0#T@4M$_ph8P1R=1-2@oWjOhzKr zn6*Wsep&xp>C9P0{2IdlM*7dRl3WR%E)?dT0R#W{X8yB@{O3CS<&Ek^ z|2E(Dvp?-B%tCJ8Vs2Gim%lej=8xaoEX9+VCm-e}D(iY*4FKRRHrCg%4#;_u6X+%J zG4oN#0B%4m!7%GN!9JC*AIWx*U*aJV{`&P)Be8E+M1bCxP~!vUDcbj&Z77PuC;j_7 zJzw?-`YByyIW{_K=6#;CmC%^;$SM8~#PmMJKHa?|)vynvf;CjZ4Xn@Xr%#9(tK3Q{ zw|IHp@YZb5<=Hb08;Q$lG7(Nt!qK4eFqM7P3QG?Z4|t{J6?UKma3&#M(Swbkmr9+f z-9q+hW91$%9Fi^g(`DI1y)^0`j&nr7ko-#mvEM`yEEm%+o0YYTRq?{0_mWv$b~%n8 zHkq>-_JuwYGz8=O&b1#1?0IocrlW#AsRyWOIPL_g7VW&r)8#`nRQke~y%NQ4Z-4a3 z5h1q+<;2~B!pS%(XZ*(gjVV5Z&Gl!c^#amHr0!to3ZJu?NF%CqlKW)E_cI)Fm5R2$ zUu`d_-64Fu6_B&5aoXTEe&hS*O2pcYwvdyC@j9QNGuLIkIHXGAyJ8}gCMJ@G`Br;O zV5Z1d%5|ZTm;Pz9kFQ(++;5kE{GIXYSg(J>g@rD&+$dbdip0*mV6wqe^#-uU%97Br z{@RmDg6R+eq#W&NwMaC>=jI}n4SXrHFN&h$?;@H|uUg^2USxF%(}PlY0&^LE!>*vD z&}DZvzCAk~`gD2!=!03=V|9|87|adU0x6@wF95QcG7F{np=O>(vH3Th&+JGn;iah z_1jzE*j3f!A6@o7Pa*5B{p?RnAq zYNq>zu;$5Psql4At@RR4sTdJzRD4OhLacsPI+a^qBk@k<*s8bHl=a0I(|FT;`1LDZ zwIi~}c5_7etbAFA8ZM+fNOJS0cMtxdw&(NFx=Z54s^%Du0{2krB$(gx#-ru(TP6@I zuhB04tL+@+dWPN#9hWUmU*W4gvdkqJx}*qkI;nhO`{Oa^@cIwH z!Lkr(%B+T*7Kg!i>O^3-AEm7UD2GUlNBbYKs;V6pcW`uk(j3Ocl>;*Oz%hTGweFKQmd-Y; zV{X;v*;`?(b)HKh0la6M*K~n{>ojFpgT!GorykIivo|sRm#?gKr!iJZrh~&Q2~X7a zUKL_P`o-PrQoZf*OgTQk68NvbF`L_E{o!{k1L*j2}H=EKHp9d8H4DxOLdV34qw6WD~ z9Eda;AJC%4dyl}xS0~P zEGWR{OJ;i-#%9-R>O|BXY`!^GPVG85>BcgQ3wb_-ucHBa9$9PcW!(MvO+#vMirzaS z)7iI|T|@Pqy2;UOP?+Awd(xJ35?uw#<1hYT=a(N6m?kKQ6@=ub-t1<`OWi3`-RI(Ng5wQM30`BxmQy-* z9*hLIii?2Mtz&_RXhX9Fl)l0uG_1r^uV7c@PY=#sU0kk($&mh4$w8%bUs zx8DA2){hfk2VY6E1qB2N%v~C^zjK?r%*`jMpg99Cy;r^X5l#id8U?m+1Xu9!2}n3b z0#%<$JFlr2MzjYAkd2=Nu&Et$jb*hr3Hi9X#L0Q&xg5@-N~>spyNir+UXlnxpqZo} z9luZNWWs9~1ouw8htwO3e3?ci7Z)6WJmfx*m>*HkR3_Q+gKfDF$x! zVLZ*vj+~h8Hd_!lo_ky3>{`z2lZQ&}k}d3mEjxJ@KR6g(yYAg==*}M>$DeS_;Fv$I zQ!{BXm7md~hDSDqMk)Xd0`J_C7R@b(FUqv)dOdZ}mHDKTbWvY=#2`9icch+P#lmZi z-rI3}77_*8IaSwv+01H74bBG&vwF`Rku7x51qdi-eN>8`SnaTN(v4^le?L)G2^ec# z@a^F*JF}!E8E$!Ol~vDCI52|+q*N|<1eT*IAQE>QPJLeVJYg82wSSM4psK59*~i11 zlYxN)k{+7px`#|(-yU~6fsX31Oc&%jmRD9SJ2?5OnLv1ve?0QKqbhc#bzMsg5itJ6 z>Y@$9eB=#7`atmNBl_N;nKIdTn7ol}p7-8Z`x?f}cu|P)Glh)Y8d@X#dOkGv<2@*KsexLjn}3>r^wu~qD!7cVL`hgI%`=w55916CN= z6-1Y@^3<2SZTrwuMmfGkEWXmvR!?I0#?Yw?Z|D61WlH;O*B_@aWdOss;P!Sd}o*52{ucL&cYUFn=l{Td|+P zb5qnd@$uNbWuFnX2EOEU4n&+lt^X$_#}(rK&?Zm;ur*rW-nt?>50|!2VbV#bKAV+K zJGv;|yyH=d8szwCMrryDt&oQ{yGT+Ix%!rhsn-Hf;X*>Dc6W!d&|0h3PYwM)6wKeC1 z%HkefHU|cNuT&&CjkBgxWzW3p&2v>)Y33H~n@O>FIh9Prm9=LvR>OSmI|hb7DR9}L z8~;KKcw*?MmelVSK1!Yp6u+vd69xxx)inq9e*sQj7CgWh`6FPFZ|R2InaS|!_( z@u{+L2WkB=@@m~St#`xtIi#2`ocCU)Ej9uMfly$7kkTcb)j_&N|9otTacik2u#U1X z3t992y_wX`0H687WknIyl7T|(%Eu)S6q@m+|7)b;iL#zY>I&s@x0Dq}PHZ?Y*K!?t z&v^c3is&RW|0>JM_e=Ko%AVe5J5<~YyG7n#WtyP$4+rkaZ9md@4k};AnwfnnEMUAf z*l0vq>efX1s$lNpy0ck#+3K451vWpQIFT(AJk+;nHD;_aTKm-h@_p`bV#nO+jWe6` z69wxRjvP2Y4jCJ%22Q^V%5?qIBLIx67|ALvy-A$H7hg~8`%rT9Y}=$^O!`+#55H)a zRJD=Z(zmb9Sk2vwbcUP-D{Zk|!<#z#7NGm^`e6ZXq_LJJXZ^S7zP85oanhQ8Z`U96 zKK47Z*PdXxK|Fma@U-3oeqKY9a8pv%ahIPUwB}qU#Fq!IkFP1)_`GHF$UH{Hf0) z3x&dd?}B@BB*MD;&t+(+m86S_!M-+M9uVa|ba8z69Iggqc`Ep6^h1eM_6Mg%D)W1G zONwqSKKdH-`E7Nu`9t8?Xo#~}%bA* tLoA~*L~8w^Xl){Ls~X>jGdQ1&n}*svh~NYv4OdMsjgGl{{ZR*$d>>B literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_account_add.xml b/app/src/main/res/layout/activity_account_add.xml index ead76e5..d163bba 100644 --- a/app/src/main/res/layout/activity_account_add.xml +++ b/app/src/main/res/layout/activity_account_add.xml @@ -44,6 +44,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="64dp" android:layout_marginEnd="24dp" + android:singleLine="true" android:hint="아이디를 입력해주세요" android:minHeight="48dp" app:layout_constraintEnd_toEndOf="parent" @@ -58,6 +59,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="132dp" android:layout_marginEnd="24dp" + android:singleLine="true" android:hint="이름을 입력해주세요" android:minHeight="48dp" app:layout_constraintEnd_toEndOf="parent" @@ -72,6 +74,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="200dp" android:layout_marginEnd="24dp" + android:singleLine="true" android:hint="소속을 입력해주세요" android:minHeight="48dp" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/activity_account_modify.xml b/app/src/main/res/layout/activity_account_modify.xml index 8b486c5..afd87b6 100644 --- a/app/src/main/res/layout/activity_account_modify.xml +++ b/app/src/main/res/layout/activity_account_modify.xml @@ -61,6 +61,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="132dp" android:layout_marginEnd="24dp" + android:singleLine="true" android:hint="이름을 입력해주세요" android:minHeight="48dp" app:layout_constraintEnd_toEndOf="parent" @@ -75,6 +76,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="200dp" android:layout_marginEnd="24dp" + android:singleLine="true" android:hint="소속을 입력해주세요" android:minHeight="48dp" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 44bed33..1174ebd 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -15,7 +15,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:srcCompat="@android:drawable/ic_delete" /> + app:srcCompat="@drawable/logo" />