diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 862c084..f1ed5b3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,6 +18,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/opensource_project/DetailedMenu1.java b/app/src/main/java/com/example/opensource_project/DetailedMenu1.java
new file mode 100644
index 0000000..48d51f3
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/DetailedMenu1.java
@@ -0,0 +1,78 @@
+package com.example.opensource_project;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.LinearLayout;
+import android.widget.Toast;
+
+import static android.content.ContentValues.TAG;
+
+public class DetailedMenu1 extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.detailed_menu1);
+
+ Intent intent = getIntent();
+ int auth = intent.getExtras().getInt("auth");
+ Button generate_button = (Button) findViewById(R.id.generate_button);
+ if(auth == 0){ // 관리자
+ Log.d(TAG, "Inserted auth: " + auth);
+ generate_button.setVisibility(View.VISIBLE);
+ }
+ else if(auth == 1){ // 일반 사용자
+ Log.d(TAG, "Inserted auth: " + auth);
+ generate_button.setVisibility(View.GONE);
+ }
+ // yet!!! 코드 최적화 안함
+ else if(auth == 3){ // 외부 사용자
+ Log.d(TAG, "Inserted auth: " + auth);
+ generate_button.setVisibility(View.GONE);
+ }
+
+ generate_button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(getApplicationContext(), RegisterProduct.class);
+ startActivity(intent);
+ }
+ });
+
+ LinearLayout linearButton1 = (LinearLayout) findViewById(R.id.layout_btn1);
+ LinearLayout linearButton2 = (LinearLayout) findViewById(R.id.layout_btn2);
+ LinearLayout linearButton3 = (LinearLayout) findViewById(R.id.layout_btn3);
+ LinearLayout linearButton4 = (LinearLayout) findViewById(R.id.layout_btn4);
+ linearButton1.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Intent intent = new Intent(getApplicationContext(), Payment2.class);
+ startActivity(intent);
+ }
+ });
+ linearButton2.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(DetailedMenu1.this, "상품을 등록 중에 있습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+ linearButton3.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(DetailedMenu1.this, "모든 상품이 품절되었습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+ linearButton4.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(DetailedMenu1.this, "모든 상품이 품절되었습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/java/com/example/opensource_project/DetailedMenu2.java b/app/src/main/java/com/example/opensource_project/DetailedMenu2.java
new file mode 100644
index 0000000..4ce8399
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/DetailedMenu2.java
@@ -0,0 +1,30 @@
+package com.example.opensource_project;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class DetailedMenu2 extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.detailed_menu2);
+
+ LinearLayout chicken = (LinearLayout) findViewById(R.id.chicken);
+ chicken.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getApplicationContext(), buyProduct.class);
+ startActivity(intent);
+ }
+
+
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/example/opensource_project/DetailedMenu4.java b/app/src/main/java/com/example/opensource_project/DetailedMenu4.java
new file mode 100644
index 0000000..241c9c8
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/DetailedMenu4.java
@@ -0,0 +1,74 @@
+package com.example.opensource_project;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.LinearLayout;
+import android.widget.Toast;
+
+import static android.content.ContentValues.TAG;
+
+public class DetailedMenu4 extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.detailed_menu4);
+
+ Intent intent = getIntent();
+ int auth = intent.getExtras().getInt("auth");
+ Button generate_button = (Button) findViewById(R.id.generate_button);
+ if(auth == 0){ // 관리자
+ Log.d(TAG, "Inserted auth: " + auth);
+ generate_button.setVisibility(View.VISIBLE);
+ }
+ else if(auth == 1){ // 일반 사용자
+ Log.d(TAG, "Inserted auth: " + auth);
+ generate_button.setVisibility(View.GONE);
+ }
+
+ generate_button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(getApplicationContext(), RegisterProduct.class);
+ startActivity(intent);
+ }
+ });
+
+ LinearLayout linearButton1 = (LinearLayout) findViewById(R.id.linear1);
+ LinearLayout linearButton2 = (LinearLayout) findViewById(R.id.linear2);
+ LinearLayout linearButton3 = (LinearLayout) findViewById(R.id.linear3);
+ LinearLayout linearButton4 = (LinearLayout) findViewById(R.id.linear4);
+ linearButton1.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Intent intent = new Intent(getApplicationContext(), Payment.class);
+ startActivity(intent);
+ }
+ });
+ linearButton2.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(DetailedMenu4.this, "모든 상품이 품절되었습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+ linearButton3.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(DetailedMenu4.this, "모든 상품이 품절되었습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+ linearButton4.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(DetailedMenu4.this, "모든 상품이 품절되었습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/example/opensource_project/Login.java b/app/src/main/java/com/example/opensource_project/Login.java
index 01eb7b7..a3c8839 100644
--- a/app/src/main/java/com/example/opensource_project/Login.java
+++ b/app/src/main/java/com/example/opensource_project/Login.java
@@ -3,9 +3,20 @@
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
+import android.util.Log;
import android.view.View;
import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.example.opensource_project.registration.createDatabaseController;
+import com.example.opensource_project.registration.registrationService;
+
+import static android.content.ContentValues.TAG;
public class Login extends AppCompatActivity {
@@ -14,15 +25,97 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
-
+ final boolean[] login_flag = {false, false}; // 순서대로 ID, PW
Button loginbutton = (Button) findViewById(R.id.Login);
+ Button registButton = (Button) findViewById(R.id.Changeregistration);
+
+ createDatabaseController mainDB = new createDatabaseController(getApplicationContext(), "Maindb", null, 1);
+ SQLiteDatabase database; // Sqlite db 연결을 위한 객체
+ database = mainDB.getReadableDatabase(); // Maindb의 데이터 내용을 가져옴
+ mainDB.onCreate(database);
+
+ Cursor cursor;
+ cursor = database.rawQuery("select * from userTable", null); // **모든 컬럼 접근
+ //cursor = database.rawQuery("SELECT id FROM userTable", null); // 컬럼 한 개 접근
+
+
+ registButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getApplicationContext(), registrationService.class);
+ startActivity(intent);
+ }
+ });
+
+
loginbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ // cmp1 == ID column, cmp2 == PW inserted
+ String cmp1, cmp2;
+ boolean flag = false; // flag for 로그인 메인 | 비로그인 메인
+
+ cursor.moveToFirst();
+
+ EditText getUserSting;
+ getUserSting = (EditText) findViewById(R.id.idText); // 유저 아이디 입력 가져오기
+ String userID = getUserSting.getText().toString();
+
+ getUserSting = (EditText) findViewById(R.id.passwordText); // 유저 비밀번호 입력 가져오기
+ String userPW = getUserSting.getText().toString();
+
+ Log.d(TAG, "Inserted ID: " + userID);
+ Log.d(TAG, "Inserted PW: " + userPW);
+
+ do{
+ cmp1 = cursor.getString(0);
+ cmp2 = cursor.getString(1);
+
+ //cmp2 = cursor.getString(cursor.getColumnIndex("pw"));
+
+ if(cmp1.equals(userID)){
+ login_flag[0] = true;
+ if(cmp2.equals(userPW)){
+
+ login_flag[1] = true;
+ Intent intent = new Intent(getApplicationContext(), MainActivity.class);
+ Toast.makeText(getApplicationContext(), String.format("%s님 환영합니다.", userID), Toast.LENGTH_SHORT).show();
+ String email = cursor.getString(3);
+ Log.d(TAG, "email? : " + email);
+ intent.putExtra("userID", userID);
+ intent.putExtra("email", email);
+ flag = true;
+ intent.putExtra("login_flag", flag);
+ intent.putExtra("auth", cursor.getInt(4)); // ** 해당 테이블의 첫번째 int 이므로 !
+
+ startActivity(intent);
+ break;
+ }
+ // 어차피 id는 하나이고, 걸려든 id가 pw와 일치하지 않으면 유효하지 않으므로 break
+ break;
+ }
+ }while(cursor.moveToNext());
+
+ if(login_flag[0] == false || login_flag[1] == false){
+ Toast.makeText(getApplicationContext(), "아이디 또는 패스워드가 존재하지 않습니다.", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+
+ }
+ });
+
+ // 로그인 없이 둘러보기 기능
+ TextView without_login = (TextView) findViewById(R.id.without_login);
+ without_login.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ boolean flag = false; // flag for 로그인 메인 | 비로그인 메인
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
+ intent.putExtra("login_flag", flag);
+ intent.putExtra("auth", -1); // ** 해당 테이블의 첫번째 int 이므로 !
startActivity(intent);
}
});
-
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/opensource_project/MainActivity.java b/app/src/main/java/com/example/opensource_project/MainActivity.java
index 95621fc..dc5c061 100644
--- a/app/src/main/java/com/example/opensource_project/MainActivity.java
+++ b/app/src/main/java/com/example/opensource_project/MainActivity.java
@@ -7,9 +7,17 @@
import androidx.viewpager2.widget.MarginPageTransformer;
import androidx.viewpager2.widget.ViewPager2;
+import android.annotation.SuppressLint;
+import android.content.Intent;
import android.os.Bundle;
import android.view.View;
+import android.widget.Button;
+import android.widget.ImageButton;
import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.example.opensource_project.registration.registrationService;
import me.relex.circleindicator.CircleIndicator;
import me.relex.circleindicator.CircleIndicator3;
@@ -22,11 +30,90 @@ public class MainActivity extends AppCompatActivity {
int[] images = {R.drawable.fish,R.drawable.menu2,R.drawable.menu3,R.drawable.menu4};
MainAdapter adapter;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ Intent intent = getIntent();
+
+ boolean login_flag = intent.getExtras().getBoolean("login_flag");
+ int auth = intent.getExtras().getInt("auth");
+ if(login_flag == true){
+ String userID = intent.getExtras().getString("userID");
+ }
+
+ TextView login_logout = (TextView) findViewById(R.id.login_logout);
+
+ if(login_flag == true) login_logout.setText("로그아웃");
+
+ login_logout.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ boolean login_logout = login_flag;
+ Intent logout = new Intent(getApplicationContext(), Login.class);
+ if (login_logout == true){
+ login_logout = false; // 사용하진 않지만, 혹시 몰라 일단 둠
+ Toast.makeText(getApplicationContext(), "로그아웃 되었습니다.", Toast.LENGTH_SHORT).show();
+ startActivity(logout);
+ }
+ else {
+ startActivity(logout);
+ }
+ }
+ });
+
+
+
+ // -- Detailed menu1 - Pizza --
+ ImageButton detailedMenu1 = (ImageButton) findViewById(R.id.imageButton1);
+ detailedMenu1.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Intent new_intent = new Intent(getApplicationContext(), DetailedMenu1.class);
+ new_intent.putExtra("login_flag", login_flag);
+ new_intent.putExtra("auth", auth); // Detailed에서 권한에 따라 메뉴를 등록하는 버튼을 보거나 보지 않기 위해 사용
+ startActivity(new_intent);
+ }
+ });
+
+ // -- Detailed menu4 - Chicken --
+ ImageButton detailedMenu4 = (ImageButton) findViewById(R.id.imageButton4);
+ detailedMenu4.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Intent new_intent = new Intent(getApplicationContext(), DetailedMenu4.class);
+ new_intent.putExtra("login_flag", login_flag);
+ new_intent.putExtra("auth", auth); // Detailed에서 권한에 따라 메뉴를 등록하는 버튼을 보거나 보지 않기 위해 사용
+ startActivity(new_intent);
+ }
+ });
+
+
+ ImageButton detailedMenu2 = (ImageButton) findViewById(R.id.imageButton2);
+ detailedMenu2.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Intent intent = new Intent(getApplicationContext(), Menu_no.class);
+ startActivity(intent);
+ }
+ });
+
+ // 등록 업체가 없음을 알림
+ ImageButton detailedMenu3 = (ImageButton) findViewById(R.id.imageButton3);
+ detailedMenu3.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v){
+ Toast.makeText(MainActivity.this, "등록된 업체가 없습니다.", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+
+
+
+
+
//Assign variable
vpHorizontal = findViewById(R.id.vp_horizontal);
diff --git a/app/src/main/java/com/example/opensource_project/MainAdapter.java b/app/src/main/java/com/example/opensource_project/MainAdapter.java
index c2a4c62..92e2bd8 100644
--- a/app/src/main/java/com/example/opensource_project/MainAdapter.java
+++ b/app/src/main/java/com/example/opensource_project/MainAdapter.java
@@ -21,6 +21,8 @@ public MainAdapter(int[] images){
this.images = images;
}
+
+
@NonNull
@Override
public MainAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
diff --git a/app/src/main/java/com/example/opensource_project/Menu_no.java b/app/src/main/java/com/example/opensource_project/Menu_no.java
new file mode 100644
index 0000000..5e04a73
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/Menu_no.java
@@ -0,0 +1,27 @@
+package com.example.opensource_project;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class Menu_no extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_menu_no);
+
+ Button register = (Button) findViewById(R.id.button5);
+ register.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getApplicationContext(), RegisterProduct.class);
+ startActivity(intent);
+ }
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/opensource_project/Payment.java b/app/src/main/java/com/example/opensource_project/Payment.java
new file mode 100644
index 0000000..fcc41f2
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/Payment.java
@@ -0,0 +1,24 @@
+package com.example.opensource_project;
+
+import android.os.Bundle;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class Payment extends AppCompatActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_payment);
+
+ TextView backButton = (TextView) findViewById(R.id.backButton);
+ backButton.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ onBackPressed();
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/example/opensource_project/Payment2.java b/app/src/main/java/com/example/opensource_project/Payment2.java
new file mode 100644
index 0000000..220df39
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/Payment2.java
@@ -0,0 +1,24 @@
+package com.example.opensource_project;
+
+import android.os.Bundle;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class Payment2 extends AppCompatActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_payment2);
+
+ TextView backButton = (TextView) findViewById(R.id.backButton);
+ backButton.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ onBackPressed();
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/example/opensource_project/Practice_db.java b/app/src/main/java/com/example/opensource_project/Practice_db.java
new file mode 100644
index 0000000..830295c
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/Practice_db.java
@@ -0,0 +1,41 @@
+package com.example.opensource_project;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+
+import com.example.opensource_project.registration.registrationService;
+
+public class Practice_db extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_payment);
+
+
+
+ Button loginbutton = (Button) findViewById(R.id.Login);
+ Button registButton = (Button) findViewById(R.id.Changeregistration);
+
+ registButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getApplicationContext(), registrationService.class);
+ startActivity(intent);
+ }
+ });
+
+
+ loginbutton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getApplicationContext(), MainActivity.class);
+ startActivity(intent);
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/example/opensource_project/RegisterProduct.java b/app/src/main/java/com/example/opensource_project/RegisterProduct.java
new file mode 100644
index 0000000..770d748
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/RegisterProduct.java
@@ -0,0 +1,93 @@
+package com.example.opensource_project;
+
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import java.io.InputStream;
+
+public class RegisterProduct extends AppCompatActivity {
+
+ Button register;
+ Button load;
+ ImageView imageview;
+ Button btnAdd, btnMinus;
+ TextView tvCount;
+ int count = 0;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_register_product);
+
+ register = (Button)findViewById(R.id.button4);
+ imageview = (ImageView)findViewById(R.id.imageView6);
+ load = (Button)findViewById(R.id.buttonLoadPic);
+ load.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent();
+ intent.setType("image/*");
+ intent.setAction(Intent.ACTION_GET_CONTENT);
+ startActivityForResult(intent, 1);
+ }
+ });
+
+ register.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(getApplicationContext(), DetailedMenu2.class);
+ startActivity(intent);
+ }
+ });
+
+ tvCount = findViewById(R.id.textView11);
+ tvCount.setText(count + "");
+ btnAdd = findViewById(R.id.button3);
+ btnMinus = findViewById(R.id.button2);
+
+ btnAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ count++;
+ tvCount.setText(count + "");
+ }
+ });
+
+ btnMinus.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ count--;
+ tvCount.setText(count+"");
+ }
+ });
+
+ }
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ // Check which request we're responding to
+ super.onActivityResult(requestCode, resultCode, data);
+ if (requestCode == 1) {
+ // Make sure the request was successful
+ if (resultCode == RESULT_OK) {
+ try {
+ // 선택한 이미지에서 비트맵 생성
+ InputStream in = getContentResolver().openInputStream(data.getData());
+ Bitmap img = BitmapFactory.decodeStream(in);
+ in.close();
+ // 이미지 표시
+ imageview.setImageBitmap(img);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/opensource_project/buyProduct.java b/app/src/main/java/com/example/opensource_project/buyProduct.java
new file mode 100644
index 0000000..d2477c4
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/buyProduct.java
@@ -0,0 +1,50 @@
+package com.example.opensource_project;
+
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class buyProduct extends AppCompatActivity {
+
+ Button btnAdd, btnMinus;
+ TextView tvCount, priCount;
+ int count = 0;
+ int pri_chi = 12500;
+ int price = 0;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_buy_product);
+
+ priCount = findViewById(R.id.textView19);
+ priCount.setText(price + "");
+ tvCount = findViewById(R.id.textView11);
+ tvCount.setText(count + "");
+ btnAdd = findViewById(R.id.button3);
+ btnMinus = findViewById(R.id.button2);
+
+ btnAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ count++;
+ tvCount.setText(count + "");
+ price = count * pri_chi;
+ priCount.setText(price + "");
+ }
+ });
+
+ btnMinus.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ count--;
+ tvCount.setText(count + "");
+ price = count * pri_chi;
+ priCount.setText(price + "");
+ }
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/opensource_project/registration/createDatabaseController.java b/app/src/main/java/com/example/opensource_project/registration/createDatabaseController.java
new file mode 100644
index 0000000..a435ab2
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/registration/createDatabaseController.java
@@ -0,0 +1,26 @@
+package com.example.opensource_project.registration;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+
+import androidx.annotation.Nullable;
+
+public class createDatabaseController extends SQLiteOpenHelper {
+
+
+ public createDatabaseController(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
+ super(context, name, factory, version);
+ }
+
+ // domain = id, passwd, name, birth... all of these are text type
+ @Override
+ public void onCreate(SQLiteDatabase db) {
+ db.execSQL("CREATE TABLE IF NOT EXISTS userTable (id TEXT PRIMARY KEY NOT NULL, pw TEXT NOT NULL, pwCheck TEXT NOT NULL, email TEXT, auth integer );");
+ }
+
+ @Override
+ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+
+ }
+}
diff --git a/app/src/main/java/com/example/opensource_project/registration/registrationService.java b/app/src/main/java/com/example/opensource_project/registration/registrationService.java
new file mode 100644
index 0000000..7fbd046
--- /dev/null
+++ b/app/src/main/java/com/example/opensource_project/registration/registrationService.java
@@ -0,0 +1,171 @@
+package com.example.opensource_project.registration;
+
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.nfc.Tag;
+import android.os.Bundle;
+import android.util.Log;
+import android.util.Patterns;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
+import static android.content.ContentValues.TAG;
+
+
+
+import com.example.opensource_project.R;
+import com.example.opensource_project.registration.createDatabaseController;
+
+import java.util.regex.Pattern;
+
+public class registrationService extends AppCompatActivity {
+
+ // 회원가입 버튼을 동작하게 하는 flag
+ boolean signUpIsOk = false;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.avtivity_registration);
+
+ // domain = id, passwd, name, birth... all of these are text type (파일 상 변수이름들)
+ // 실제 도메인(유저 입력값) = id, pqsswd, passwdCheck, email address
+
+
+ // 중복확인 버튼
+ Button buttonForDuplication = (Button) findViewById(R.id.checkDuplicate);
+ buttonForDuplication.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ boolean flag = false;
+ String userId, cmp;
+ EditText getUserSting;
+ createDatabaseController mainDB = new createDatabaseController(getApplicationContext(), "Maindb", null, 1);
+
+ getUserSting = (EditText) findViewById(R.id.editTextID); // 유저 아이디 입력 --> 가져오기
+ userId = getUserSting.getText().toString(); // String으로 뽑아내기
+
+ SQLiteDatabase database; // Sqlite db 연결을 위한 객체
+ database = mainDB.getReadableDatabase(); // Maindb의 데이터 내용을 가져옴
+ mainDB.onCreate(database);
+
+ Cursor cursor;
+ cursor = database.rawQuery("SELECT * FROM userTable", null);
+ cursor.moveToFirst();
+ cmp = cursor.getString(0); // 에러 유발 지점: 해결 --> cursor 이동과 getString 개념 잘 숙지할 것
+
+ flag = cmp.equals(userId);
+
+ if(userId == null || userId.equals("") || userId.length() == 0 ){
+ Toast.makeText(getApplicationContext(), "아이디를 입력하세요.", Toast.LENGTH_SHORT).show();
+ signUpIsOk = false; // [*예외처리]: 가능한 아이디 중복 검사 이후 빈칸 만들고 다시 재검사
+ return;
+ }
+
+ do{
+ cmp = cursor.getString(0);
+
+ Log.d(TAG, "Inserted Data: " + userId);
+ Log.d(TAG, "Comparing ID: " + cmp);
+
+ if(cmp.equals(userId)){
+ Toast.makeText(getApplicationContext(), " 중복된 아이디가 존재합니다.", Toast.LENGTH_LONG).show();
+ flag = true;
+ signUpIsOk = false; // [*예외처리]: 가능한 아이디 중복 검사 이후 중복된 아이디 입력하고 다시 재검사
+ break;
+ }
+ }while (cursor.moveToNext());// 에러 유발 지점1 - 이미 위에서 첫번째 cursor item의 string을 가지고 왔는데, while 조건문이 처음에
+ // 실행되면서 cursor가 이동한다. 따라서 두번째부터 비교를 시작하고 중복된 아이디를 찾을 수 없음
+ Log.d(TAG, "사용자 테이블 비교 끝");
+
+ if (!flag){
+ Toast.makeText(getApplicationContext(), " 사용 가능한 아이디입니다!", Toast.LENGTH_SHORT).show();
+ signUpIsOk = true;
+ }
+
+ }
+ });
+
+ // 회원가입 버튼
+ Button buttonForRgst = (Button) findViewById(R.id.registration);
+ buttonForRgst.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ // 중복확인을 정상적으로 진행하지 않았을 때, 회원가입 진행을 막음
+ if(signUpIsOk == false){
+ Toast.makeText(getApplicationContext(), "ID 중복 검사를 실행하세요.", Toast.LENGTH_LONG).show();
+ return;
+ };
+
+ createDatabaseController mainDB = new createDatabaseController(getApplicationContext(), "Maindb",null, 1);
+ SQLiteDatabase database;
+
+ database = mainDB.getWritableDatabase();
+ mainDB.onCreate(database);
+
+ EditText idText, pwText, pwCheckText, emailText;
+ idText = (EditText) findViewById(R.id.editTextID);
+ pwText = (EditText) findViewById(R.id.editTextPW);
+ pwCheckText = (EditText) findViewById(R.id.editTextPWcheck);
+ emailText = (EditText) findViewById(R.id.editTextEmail);
+
+ // matches의 올바른 parameter로 바꾸기 위해 CharSequence로 casting
+ CharSequence email = (CharSequence) emailText.getText();
+ CharSequence pw = (CharSequence) pwText.getText();
+
+ // ** 회원가입 유효성 체크
+
+ //비밀번호 유효성
+ if(!Pattern.matches("^(?=.*\\d)(?=.*[~`!@#$%\\^&*()-])(?=.*[a-zA-Z]).{8,20}$", pw))
+ {
+ Toast.makeText(getApplicationContext(),"비밀번호 형식을 지켜주세요.",Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ // 비밀번호 확인 검사
+ if (!pw.toString().equals(pwCheckText.getText().toString())){
+ Toast.makeText(getApplicationContext(), "비밀번호가 일치하지 않습니다.", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ // 이메일 형식 체크
+ if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
+ Toast.makeText(getApplicationContext(),"이메일 형식이 아닙니다",Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+
+
+
+
+ // 다음번엔 조금 더 쉬운 db.insert();를 사용해 보자.
+ String query = "INSERT INTO userTable VALUES("
+ + "'" + idText.getText().toString() + "', "
+ + "'" + pwText.getText().toString() + "', "
+ + "'" + pwCheckText.getText().toString() + "', "
+ + "'" + emailText.getText().toString() + "',"
+ + "1);";
+
+ database.execSQL(query);
+ database.close();
+ Toast.makeText(getApplicationContext(), "회원가입 완료!", Toast.LENGTH_LONG).show();
+ finish();
+ }
+ });
+
+
+ // 취소 버튼
+ Button buttonForCancel = (Button) findViewById(R.id.cancel);
+ buttonForCancel.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/bbq.jpg b/app/src/main/res/drawable-v24/bbq.jpg
new file mode 100644
index 0000000..cf903df
Binary files /dev/null and b/app/src/main/res/drawable-v24/bbq.jpg differ
diff --git a/app/src/main/res/drawable-v24/bhc.png b/app/src/main/res/drawable-v24/bhc.png
new file mode 100644
index 0000000..9057509
Binary files /dev/null and b/app/src/main/res/drawable-v24/bhc.png differ
diff --git a/app/src/main/res/drawable-v24/fish.png b/app/src/main/res/drawable-v24/fish.png
index 0d3c955..134ab48 100644
Binary files a/app/src/main/res/drawable-v24/fish.png and b/app/src/main/res/drawable-v24/fish.png differ
diff --git a/app/src/main/res/drawable-v24/lafoora_main.png b/app/src/main/res/drawable-v24/lafoora_main.png
index 286142b..9b7e1df 100644
Binary files a/app/src/main/res/drawable-v24/lafoora_main.png and b/app/src/main/res/drawable-v24/lafoora_main.png differ
diff --git a/app/src/main/res/drawable-v24/lfr.png b/app/src/main/res/drawable-v24/lfr.png
new file mode 100644
index 0000000..7a38fe0
Binary files /dev/null and b/app/src/main/res/drawable-v24/lfr.png differ
diff --git a/app/src/main/res/drawable-v24/lfr_black.png b/app/src/main/res/drawable-v24/lfr_black.png
new file mode 100644
index 0000000..da4b897
Binary files /dev/null and b/app/src/main/res/drawable-v24/lfr_black.png differ
diff --git a/app/src/main/res/drawable-v24/lfr_logo.png b/app/src/main/res/drawable-v24/lfr_logo.png
new file mode 100644
index 0000000..dbf4137
Binary files /dev/null and b/app/src/main/res/drawable-v24/lfr_logo.png differ
diff --git a/app/src/main/res/drawable-v24/menu2.png b/app/src/main/res/drawable-v24/menu2.png
index 5dce818..5773764 100644
Binary files a/app/src/main/res/drawable-v24/menu2.png and b/app/src/main/res/drawable-v24/menu2.png differ
diff --git a/app/src/main/res/drawable-v24/menu3.png b/app/src/main/res/drawable-v24/menu3.png
index f37cbb9..b85bdcb 100644
Binary files a/app/src/main/res/drawable-v24/menu3.png and b/app/src/main/res/drawable-v24/menu3.png differ
diff --git a/app/src/main/res/drawable-v24/menu4.png b/app/src/main/res/drawable-v24/menu4.png
index 985b528..cdb2dc2 100644
Binary files a/app/src/main/res/drawable-v24/menu4.png and b/app/src/main/res/drawable-v24/menu4.png differ
diff --git a/app/src/main/res/drawable-v24/pelicana.jpg b/app/src/main/res/drawable-v24/pelicana.jpg
new file mode 100644
index 0000000..127976a
Binary files /dev/null and b/app/src/main/res/drawable-v24/pelicana.jpg differ
diff --git a/app/src/main/res/drawable/borderline.xml b/app/src/main/res/drawable/borderline.xml
new file mode 100644
index 0000000..838045a
--- /dev/null
+++ b/app/src/main/res/drawable/borderline.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/domino_black_tiger.jpg b/app/src/main/res/drawable/domino_black_tiger.jpg
new file mode 100644
index 0000000..2420b84
Binary files /dev/null and b/app/src/main/res/drawable/domino_black_tiger.jpg differ
diff --git a/app/src/main/res/drawable/dominopizza.jpg b/app/src/main/res/drawable/dominopizza.jpg
new file mode 100644
index 0000000..d532acb
Binary files /dev/null and b/app/src/main/res/drawable/dominopizza.jpg differ
diff --git a/app/src/main/res/drawable/goobne.png b/app/src/main/res/drawable/goobne.png
new file mode 100644
index 0000000..1da0687
Binary files /dev/null and b/app/src/main/res/drawable/goobne.png differ
diff --git a/app/src/main/res/drawable/halfandhalf_chicken.png b/app/src/main/res/drawable/halfandhalf_chicken.png
new file mode 100644
index 0000000..983aafe
Binary files /dev/null and b/app/src/main/res/drawable/halfandhalf_chicken.png differ
diff --git a/app/src/main/res/drawable/lafooras.png b/app/src/main/res/drawable/lafooras.png
index 8765c0b..4796eeb 100644
Binary files a/app/src/main/res/drawable/lafooras.png and b/app/src/main/res/drawable/lafooras.png differ
diff --git a/app/src/main/res/drawable/nenechicken.jpg b/app/src/main/res/drawable/nenechicken.jpg
new file mode 100644
index 0000000..575b285
Binary files /dev/null and b/app/src/main/res/drawable/nenechicken.jpg differ
diff --git a/app/src/main/res/drawable/pizzahut.png b/app/src/main/res/drawable/pizzahut.png
new file mode 100644
index 0000000..5ac22e7
Binary files /dev/null and b/app/src/main/res/drawable/pizzahut.png differ
diff --git a/app/src/main/res/drawable/pizzamaru.jpg b/app/src/main/res/drawable/pizzamaru.jpg
new file mode 100644
index 0000000..5fef561
Binary files /dev/null and b/app/src/main/res/drawable/pizzamaru.jpg differ
diff --git a/app/src/main/res/drawable/pizzaschool.jpg b/app/src/main/res/drawable/pizzaschool.jpg
new file mode 100644
index 0000000..0b1f6ea
Binary files /dev/null and b/app/src/main/res/drawable/pizzaschool.jpg differ
diff --git a/app/src/main/res/drawable/radius.xml b/app/src/main/res/drawable/radius.xml
new file mode 100644
index 0000000..4b95d8c
--- /dev/null
+++ b/app/src/main/res/drawable/radius.xml
@@ -0,0 +1,11 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/search_icon.jpg b/app/src/main/res/drawable/search_icon.jpg
new file mode 100644
index 0000000..1801b4f
Binary files /dev/null and b/app/src/main/res/drawable/search_icon.jpg differ
diff --git a/app/src/main/res/layout/activity_buy_product.xml b/app/src/main/res/layout/activity_buy_product.xml
new file mode 100644
index 0000000..305daa2
--- /dev/null
+++ b/app/src/main/res/layout/activity_buy_product.xml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 902757d..378a053 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -5,7 +5,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- tools:context=".MainActivity">
+ tools:context=".MainActivity"
+ >
@@ -82,16 +82,28 @@
android:layout_marginTop="10dp"
android:layout_gravity="center"/>
-
+
+ android:layout_marginTop="10dp"
+ android:layout_gravity="center"/>
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index a1405fd..abc5bef 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -5,7 +5,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="#03b594"
android:orientation="horizontal"
tools:context=".MainActivity">
@@ -18,6 +17,7 @@
tools:layout_editor_absoluteY="0dp">
@@ -25,13 +25,14 @@
+ app:srcCompat="@drawable/lfr_logo" />
+
-
+
+
+
+ android:background="@color/white">
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_payment.xml b/app/src/main/res/layout/activity_payment.xml
new file mode 100644
index 0000000..99a5d6b
--- /dev/null
+++ b/app/src/main/res/layout/activity_payment.xml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_payment2.xml b/app/src/main/res/layout/activity_payment2.xml
new file mode 100644
index 0000000..82751af
--- /dev/null
+++ b/app/src/main/res/layout/activity_payment2.xml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_practice_db.xml b/app/src/main/res/layout/activity_practice_db.xml
new file mode 100644
index 0000000..d6e96b8
--- /dev/null
+++ b/app/src/main/res/layout/activity_practice_db.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_register_product.xml b/app/src/main/res/layout/activity_register_product.xml
new file mode 100644
index 0000000..d5f609d
--- /dev/null
+++ b/app/src/main/res/layout/activity_register_product.xml
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/avtivity_registration.xml b/app/src/main/res/layout/avtivity_registration.xml
new file mode 100644
index 0000000..32025cb
--- /dev/null
+++ b/app/src/main/res/layout/avtivity_registration.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/detailed_menu1.xml b/app/src/main/res/layout/detailed_menu1.xml
new file mode 100644
index 0000000..0796654
--- /dev/null
+++ b/app/src/main/res/layout/detailed_menu1.xml
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/detailed_menu2.xml b/app/src/main/res/layout/detailed_menu2.xml
new file mode 100644
index 0000000..2827b9f
--- /dev/null
+++ b/app/src/main/res/layout/detailed_menu2.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/detailed_menu4.xml b/app/src/main/res/layout/detailed_menu4.xml
new file mode 100644
index 0000000..d036524
--- /dev/null
+++ b/app/src/main/res/layout/detailed_menu4.xml
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+