From 76d72ae8aeddb2ab151ef46e636b2e15074b72e1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1A3P75F\\lee" Date: Thu, 18 Aug 2022 03:19:04 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=9E=84=EC=8B=9C=20=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/qtagger/MainActivity.java | 45 +++++++++++++++++-- app/src/main/java/com/qtagger/test.java | 3 ++ .../java/com/qtagger/util/DataManager.java | 16 +++++++ .../main/res/layout/activity_account_add.xml | 6 ++- .../res/layout/activity_account_modify.xml | 6 ++- app/src/main/res/layout/activity_main.xml | 5 ++- app/src/main/res/values/themes.xml | 1 + 7 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/qtagger/util/DataManager.java diff --git a/app/src/main/java/com/qtagger/MainActivity.java b/app/src/main/java/com/qtagger/MainActivity.java index a1738ff..a8e032a 100644 --- a/app/src/main/java/com/qtagger/MainActivity.java +++ b/app/src/main/java/com/qtagger/MainActivity.java @@ -1,5 +1,6 @@ package com.qtagger; +import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; import androidx.room.Room; @@ -7,22 +8,28 @@ import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; +import android.widget.Toast; import com.qtagger.Activity.AccountAdd; import com.qtagger.Activity.AccountList; +import com.qtagger.Activity.navitest; import com.qtagger.Database.Account; import com.qtagger.Database.AppDatabase; +import com.qtagger.util.DataManager; import java.util.List; public class MainActivity extends AppCompatActivity { private Spinner mSpinner; private Button btnLogin; + private DataManager dataManager; + private List accountList; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,16 +37,48 @@ public class MainActivity extends AppCompatActivity { setContentView(R.layout.activity_main); mSpinner = findViewById(R.id.spinner_account); + dataManager = DataManager.getInstance(); //Intent intent = new Intent(getApplicationContext(), test.class); //startActivity(intent); //로그인 findViewById(R.id.button_login).setOnClickListener(new View.OnClickListener() { + @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onClick(View v) { //로그인 정보 확인 - //로그인 처리 + String selectName= mSpinner.getSelectedItem().toString(); + if(selectName.contains(",")) + { + String acName = selectName.split(",")[0]; + int selid = Integer.parseInt(acName); + + Account selectAcc = accountList.stream().filter(x->x.getId() == selid).findAny().orElse(null); + + + if(selectAcc != null)//로그인 처리 + { + dataManager.loginAccount = selectAcc; + + Intent intent = new Intent(getApplicationContext(), navitest.class); + startActivity(intent); + + + } + else + { + Toast.makeText(MainActivity.this, "계정을 선택해 주세요", Toast.LENGTH_SHORT).show(); + } + + } + else + { + //로그인 정보 획득 실패 + Toast.makeText(MainActivity.this, "계정을 선택해 주세요", Toast.LENGTH_SHORT).show(); + } + + } }); @@ -82,9 +121,9 @@ public class MainActivity extends AppCompatActivity { AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build(); //초기 데이터 세팅 - List accountList = db.accountDao().getAll(); + accountList = db.accountDao().getAll(); for (Account ac: accountList) { - aa_items.add(ac.getAccountName()); + aa_items.add(Integer.toString( ac.getId())+","+ac.getAccountId()); } mSpinner.setAdapter(aa_items); diff --git a/app/src/main/java/com/qtagger/test.java b/app/src/main/java/com/qtagger/test.java index 3c2e218..0354d04 100644 --- a/app/src/main/java/com/qtagger/test.java +++ b/app/src/main/java/com/qtagger/test.java @@ -8,13 +8,16 @@ import android.view.View; import com.qtagger.Database.Account; import com.qtagger.Database.AppDatabase; +import com.qtagger.util.DataManager; public class test extends AppCompatActivity { + private DataManager dataManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); + dataManager = DataManager.getInstance(); AppDatabase db = Room.databaseBuilder(this,AppDatabase.class,"AccountDB").allowMainThreadQueries().build(); diff --git a/app/src/main/java/com/qtagger/util/DataManager.java b/app/src/main/java/com/qtagger/util/DataManager.java new file mode 100644 index 0000000..cc9bef6 --- /dev/null +++ b/app/src/main/java/com/qtagger/util/DataManager.java @@ -0,0 +1,16 @@ +package com.qtagger.util; + +import com.qtagger.Database.Account; + +public class DataManager { + private DataManager(){} + + public Account loginAccount; + + private static class DataManagerHolder{ + public static final DataManager INSTANCE = new DataManager(); + } + public static DataManager getInstance() { + return DataManagerHolder.INSTANCE; + } +} diff --git a/app/src/main/res/layout/activity_account_add.xml b/app/src/main/res/layout/activity_account_add.xml index 8c3885e..ead76e5 100644 --- a/app/src/main/res/layout/activity_account_add.xml +++ b/app/src/main/res/layout/activity_account_add.xml @@ -81,14 +81,16 @@ -