diff --git a/.idea/misc.xml b/.idea/misc.xml
index 1df1707..16d8ffd 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,10 @@
+
+
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f604b7e..1c300e6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -31,6 +31,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.QTagger"
tools:targetApi="31">
+
diff --git a/app/src/main/java/com/qtagger/Activity/AccountAdd.java b/app/src/main/java/com/qtagger/Activity/AccountAdd.java
index 95db71a..524315b 100644
--- a/app/src/main/java/com/qtagger/Activity/AccountAdd.java
+++ b/app/src/main/java/com/qtagger/Activity/AccountAdd.java
@@ -34,8 +34,8 @@ public class AccountAdd extends AppCompatActivity {
@Override
public void onClick(View v) {
String acId = editAccountId.getText().toString();
- String acName = editAccountId.getText().toString();
- String acDapt = editAccountId.getText().toString();
+ String acName = editAccountName.getText().toString();
+ String acDapt = editAccountDapt.getText().toString();
if(acId.isEmpty() || acName.isEmpty() || acDapt.isEmpty())
{
diff --git a/app/src/main/java/com/qtagger/Activity/AccountList.java b/app/src/main/java/com/qtagger/Activity/AccountList.java
index aa36816..07b29d6 100644
--- a/app/src/main/java/com/qtagger/Activity/AccountList.java
+++ b/app/src/main/java/com/qtagger/Activity/AccountList.java
@@ -1,12 +1,22 @@
package com.qtagger.Activity;
+import androidx.annotation.DrawableRes;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.constraintlayout.utils.widget.ImageFilterButton;
import androidx.room.Room;
+import android.content.Intent;
+import android.graphics.Color;
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;
@@ -15,30 +25,126 @@ import com.qtagger.R;
import java.util.List;
public class AccountList extends AppCompatActivity {
-ScrollView scrollView;
-TableLayout tableLayout;
+ ScrollView scrollView;
+ LinearLayout linearLayout;
+ AppDatabase db;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_list);
scrollView = (ScrollView)findViewById(R.id.scrollview_AccountList);
- tableLayout = (TableLayout)findViewById(R.id.table_Account);
+ linearLayout = (LinearLayout)findViewById(R.id.linearList);
+ db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build();
- //tableLayout.addView();
+ findViewById(R.id.imageFilterButton_Back).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
- TableRow tableRow = new TableRow(this);
- tableRow.setLayoutParams(new TableLayout.LayoutParams());
+ }
-
-
- AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build();
+ @Override
+ protected void onStart() {
+ super.onStart();
+ linearLayout.removeAllViewsInLayout();
//초기 데이터 세팅
List accountList = db.accountDao().getAll();
for (Account ac: accountList) {
//계정 개수만큼 추가
+ addAccountView(ac);
}
+
+ }
+
+ private void addAccountView(Account account)
+ {
+ TableLayout tableLayout = new TableLayout(this);
+ TableLayout.LayoutParams params = new TableLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,inttodp(150));
+ params.setMargins(inttodp(40),inttodp(20),inttodp(40),0);
+ tableLayout.setLayoutParams(params);
+ tableLayout.setBackgroundResource(R.drawable.tablelayout_background);
+
+ TableRow tableRow = new TableRow(this);
+ tableRow.setLayoutParams(new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT));
+
+ TextView textId = createTxt(account.getAccountId());
+ ImageFilterButton btnModi = createBtn(R.drawable.edit_modify_icon_icons_com);
+ ImageFilterButton btnRemove = createBtn(R.drawable.trash_bin_icon_icons_com_67981);
+ tableRow.addView(textId);
+ tableRow.addView(btnModi);
+ tableRow.addView(btnRemove);
+
+ TableRow tableRow2 = new TableRow(this);
+ TextView textName = createTxt(account.getAccountName());
+ tableRow2.addView(textName);
+
+ TableRow tableRow3 = new TableRow(this);
+ TextView textDapt = createTxt(account.getAccountDapt());
+ tableRow3.addView(textDapt);
+
+ tableLayout.addView(tableRow);
+ tableLayout.addView(tableRow2);
+ tableLayout.addView(tableRow3);
+ linearLayout.addView(tableLayout);
+
+
+ btnModi.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //수정 화면
+ Intent intent = new Intent(getApplicationContext(), AccountModify.class);
+ intent.putExtra("Id",account.getId());
+ startActivity(intent);
+
+ }
+ });
+
+ btnRemove.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ db.accountDao().delete(account);
+ linearLayout.removeView(tableLayout);
+ }
+ });
+
+ }
+
+ private TextView createTxt(String txt)
+ {
+ TextView textView = new TextView(this);
+ TableRow.LayoutParams textLayout = new TableRow.LayoutParams(inttodp(160),inttodp(40));
+ textLayout.setMargins(inttodp(10),0,0,0);
+ textView.setLayoutParams(textLayout);
+ textView.setText(txt);
+ textView.setTextColor(Color.BLACK);
+ textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,24);
+
+ return textView;
+ }
+
+
+ private ImageFilterButton createBtn(@DrawableRes int id)
+ {
+ ImageFilterButton button = new ImageFilterButton(this);
+ button.setBackgroundResource(id);
+ TableRow.LayoutParams btnLayout = new TableRow.LayoutParams(inttodp(32),inttodp(32));
+ btnLayout.setMargins(inttodp(10),0,0,0);
+ button.setLayoutParams(btnLayout);
+
+ return button;
+ }
+
+
+ private int inttodp(int dp)
+ {
+ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dp,getResources().getDisplayMetrics());
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/qtagger/Activity/AccountModify.java b/app/src/main/java/com/qtagger/Activity/AccountModify.java
new file mode 100644
index 0000000..b56d131
--- /dev/null
+++ b/app/src/main/java/com/qtagger/Activity/AccountModify.java
@@ -0,0 +1,96 @@
+package com.qtagger.Activity;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.room.Room;
+
+import android.content.Intent;
+import android.os.Bundle;
+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.R;
+
+import org.w3c.dom.Text;
+
+import java.util.List;
+
+public class AccountModify extends AppCompatActivity {
+TextView textAccountId;
+ EditText editAccountName, editAccountDapt;
+Button btnModify;
+ Account findAccount = null;
+ AppDatabase db;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_account_modify);
+ textAccountId = (TextView)findViewById(R.id.textView_AccountId);
+ editAccountName = (EditText)findViewById(R.id.textView_AccountName);
+ editAccountDapt = (EditText)findViewById(R.id.textView_AccountDapt);
+ btnModify = (Button) findViewById(R.id.button_save);
+
+ findViewById(R.id.imageFilterButton_Back).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ Intent intent = getIntent();
+ int id = intent.getIntExtra("Id",-1);
+
+ if(id != -1)
+ {
+ db = Room.databaseBuilder(this, AppDatabase.class, "AccountDB").allowMainThreadQueries().build();
+ List accountList = db.accountDao().getAll();
+ for (Account ac: accountList) {
+ if(ac.getId() == id)
+ {
+ findAccount = ac;
+ break;
+ }
+ }
+
+ if(findAccount != null)
+ {
+ textAccountId.setText(findAccount.getAccountId());
+ editAccountName.setText(findAccount.getAccountName());
+ editAccountDapt.setText(findAccount.getAccountDapt());
+ }
+
+ }
+
+ btnModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ if(findAccount == null)
+ return;
+
+ String acName = editAccountName.getText().toString();
+ String acDapt = editAccountDapt.getText().toString();
+
+ if( acName.isEmpty() || acDapt.isEmpty())
+ {
+ Toast.makeText(AccountModify.this, "모두 입력해주세요", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ findAccount.setAccountName(acName);
+ findAccount.setAccountDapt(acDapt);
+
+ //DB에 저장
+ db.accountDao().update(findAccount);
+
+ Toast.makeText(AccountModify.this, "계정 수정 성공", Toast.LENGTH_SHORT).show();
+
+ finish();
+ }
+ });
+
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/qtagger/MainActivity.java b/app/src/main/java/com/qtagger/MainActivity.java
index bdb4785..a1738ff 100644
--- a/app/src/main/java/com/qtagger/MainActivity.java
+++ b/app/src/main/java/com/qtagger/MainActivity.java
@@ -31,8 +31,8 @@ public class MainActivity extends AppCompatActivity {
mSpinner = findViewById(R.id.spinner_account);
- Intent intent = new Intent(getApplicationContext(), test.class);
- startActivity(intent);
+ //Intent intent = new Intent(getApplicationContext(), test.class);
+ //startActivity(intent);
//로그인
findViewById(R.id.button_login).setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/qtagger/test.java b/app/src/main/java/com/qtagger/test.java
index 5136165..3c2e218 100644
--- a/app/src/main/java/com/qtagger/test.java
+++ b/app/src/main/java/com/qtagger/test.java
@@ -1,8 +1,13 @@
package com.qtagger;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.room.Room;
import android.os.Bundle;
+import android.view.View;
+
+import com.qtagger.Database.Account;
+import com.qtagger.Database.AppDatabase;
public class test extends AppCompatActivity {
@@ -11,6 +16,18 @@ public class test extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
+ AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build();
+
+ findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ for (int i = 1;i<=10;i++)
+ {
+ String str = Integer.toString(i) ;
+ db.accountDao().insert(new Account(str,str,str));
+ }
+ }
+ });
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_account_list.xml b/app/src/main/res/layout/activity_account_list.xml
index dabbc2b..5ef9eba 100644
--- a/app/src/main/res/layout/activity_account_list.xml
+++ b/app/src/main/res/layout/activity_account_list.xml
@@ -8,6 +8,7 @@
tools:context=".Activity.AccountList">
-
-
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_account_modify.xml b/app/src/main/res/layout/activity_account_modify.xml
new file mode 100644
index 0000000..61cd839
--- /dev/null
+++ b/app/src/main/res/layout/activity_account_modify.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_test.xml b/app/src/main/res/layout/activity_test.xml
index 330d8d2..261de0f 100644
--- a/app/src/main/res/layout/activity_test.xml
+++ b/app/src/main/res/layout/activity_test.xml
@@ -6,348 +6,12 @@
android:layout_height="match_parent"
android:background="#F1F3FA"
tools:context=".test">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file