commit 04736a9fb71057089a4d0b2a2b146eadc75fde5b Author: Brian Pila Date: Tue Apr 9 21:59:23 2024 +0800 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..6a12926 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +AndroidProjectCollection \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..0c0c338 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8978d23 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..46a2f54 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + alias(libs.plugins.androidApplication) +} + +android { + namespace = "com.example.androidprojectcollection" + compileSdk = 34 + + defaultConfig { + applicationId = "com.example.androidprojectcollection" + minSdk = 27 + targetSdk = 34 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation(libs.appcompat) + implementation(libs.material) + implementation(libs.activity) + implementation(libs.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/example/androidprojectcollection/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/androidprojectcollection/ExampleInstrumentedTest.java new file mode 100644 index 0000000..16631ae --- /dev/null +++ b/app/src/androidTest/java/com/example/androidprojectcollection/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.androidprojectcollection; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.example.androidprojectcollection", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b3a5792 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/androidprojectcollection/ButtonExercise.java b/app/src/main/java/com/example/androidprojectcollection/ButtonExercise.java new file mode 100644 index 0000000..9e4ffee --- /dev/null +++ b/app/src/main/java/com/example/androidprojectcollection/ButtonExercise.java @@ -0,0 +1,93 @@ +package com.example.androidprojectcollection; + +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import android.view.View; +import android.widget.Button; +import android.widget.Toast; + +public class ButtonExercise extends AppCompatActivity { + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_button_exercise); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + Button cbtn,tbtn,bgbtn,chbbtn,disbtn; + + + cbtn = findViewById(R.id.close_btn); + tbtn = findViewById(R.id.toast_btn); + bgbtn = findViewById(R.id.changebg_btn); + chbbtn = findViewById(R.id.changebtnbg_btn); + disbtn = findViewById(R.id.disabtn); + + cbtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent1 = new Intent(ButtonExercise.this,Return.class); + startActivity(intent1); + } + }); + + tbtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + Toast.makeText(getApplicationContext(),MsgPrinter(), Toast.LENGTH_SHORT).show(); + } + }); + + bgbtn.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View v) { + ChangeBtnFunc(); + } + }); + + chbbtn.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View v) { + chbbtn.setBackgroundColor(getResources(). getColor(R.color.button_pressed_color)); + } + }); + + disbtn.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View v) { + disbtn.setVisibility(View.GONE); + } + }); + } + + private void ChangeBtnFunc(){ + int color = Color.rgb((int) (Math.random() * 256),(int)(Math.random() * 256),(int)(Math.random() * 256)); + getWindow().getDecorView().setBackgroundColor(color); + } + + private String MsgPrinter(){ + String[] Lol = new String[5]; + Lol[0] = "Hi"; + Lol[1] = "Hello"; + Lol[2] = "Wazzup"; + Lol[3] = "Try Again!"; + Lol[4] = "Wammy!"; + + return Lol[(int) (Math.random() * 5)]; + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/androidprojectcollection/CalculatorExercise.java b/app/src/main/java/com/example/androidprojectcollection/CalculatorExercise.java new file mode 100644 index 0000000..8e1e969 --- /dev/null +++ b/app/src/main/java/com/example/androidprojectcollection/CalculatorExercise.java @@ -0,0 +1,458 @@ +package com.example.androidprojectcollection; + +import android.icu.text.DecimalFormat; +import android.os.Bundle; +import android.widget.Button; +import android.widget.TextView; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import java.util.ArrayList; +import java.util.Stack; + +public class CalculatorExercise extends AppCompatActivity { + TextView inpView; + TextView eqView; + + boolean pressed_Equal; + + ArrayList choppedList = new ArrayList<>(); + + boolean justOpped = false, decimaled = false; + int opCount = 0; + + double reserved; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_calculator_exercise); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + Button[] bNum = new Button[10];//The numbers + Button btPlus,btMinus,btTimes,btDivide,btEqual,btDecimal; //The Operations + + inpView = findViewById(R.id.inputView); + eqView = findViewById(R.id.EquationView); + + bNum[0] = findViewById(R.id.btn0); + bNum[1] = findViewById(R.id.btn1); + bNum[2] = findViewById(R.id.btn2); + bNum[3] = findViewById(R.id.btn3); + bNum[4] = findViewById(R.id.btn4); + bNum[5] = findViewById(R.id.btn5); + bNum[6] = findViewById(R.id.btn6); + bNum[7] = findViewById(R.id.btn7); + bNum[8] = findViewById(R.id.btn8); + bNum[9] = findViewById(R.id.btn9); + btPlus = findViewById(R.id.btnPlus); + btMinus = findViewById(R.id.btnMinus); + btTimes = findViewById(R.id.btnMultiply); + btDivide = findViewById(R.id.btnDivision); + btEqual = findViewById(R.id.btnEquals); + btDecimal = findViewById(R.id.btnDot); + + + bNum[0].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("0"); + }else { + inpView.append("0"); + } + }); + + bNum[1].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("1"); + }else { + inpView.append("1"); + } + }); + + bNum[2].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("2"); + }else { + inpView.append("2"); + } + }); + + bNum[3].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("3"); + }else { + inpView.append("3"); + } + }); + + bNum[4].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("4"); + }else { + inpView.append("4"); + } + }); + + bNum[5].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("5"); + }else { + inpView.append("5"); + } + }); + + bNum[6].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("6"); + }else { + inpView.append("6"); + } + }); + + bNum[7].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("7"); + }else { + inpView.append("7"); + } + }); + + bNum[8].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("8"); + }else { + inpView.append("8"); + } + }); + + bNum[9].setOnClickListener(v -> { + if(justOpped){ + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + inpView.append("9"); + }else { + inpView.append("9"); + } + + }); + + btDecimal.setOnClickListener(v -> { +/* if(justOpped){ + justOpped = false; + inpView.setText(""); + decimaled = true; + if(inpView.getText().length() < 1){ + inpView.append("0."); + }else { + inpView.append("."); + } + }else { + decimaled = true; + if(inpView.getText().length() < 1){ + inpView.append("0."); + }else { + inpView.append("."); + } + } */ + if(justOpped){ + decimaled = true; + + if (pressed_Equal){ + eqView.setText(""); + pressed_Equal = false; + } + justOpped = false; + inpView.setText(""); + } + if(inpView.getText().length() > 0){ + inpView.append("."); + }else { + inpView.append("0."); + } + btDecimal.setEnabled(false); + }); + + btPlus.setOnClickListener(v -> { + opActionner("+",justOpped); + justOpped = true; + + if(opCount >= 1){ + inpView.setText(ArrAnswerer()); + + }else { + opCount++; + } + btDecimal.setEnabled(true); + }); + + btMinus.setOnClickListener(v -> { + opActionner("-",justOpped); + justOpped = true; + + if(opCount >= 1){ + inpView.setText(ArrAnswerer()); + }else { + opCount++; + } + btDecimal.setEnabled(true); + }); + + btTimes.setOnClickListener(v -> { + opActionner("*",justOpped); + justOpped = true; + + if(opCount >= 1){ + inpView.setText(ArrAnswerer()); + }else { + opCount++; + } + btDecimal.setEnabled(true); + }); + + btDivide.setOnClickListener(v -> { + opActionner("/",justOpped); + justOpped = true; + decimaled = true; + + if(opCount >= 1){ + inpView.setText(ArrAnswerer()); + }else { + opCount++; + } + btDecimal.setEnabled(true); + }); + + btEqual.setOnClickListener(v -> { + choppedList.add(String.valueOf(inpView.getText())); + inpView.setText(EqualAnswer(decimaled)); + reserved = Double.parseDouble(EqualAnswer(decimaled)); + pressed_Equal = true; + justOpped = true; + btDecimal.setEnabled(true); + }); + + + + } + + public void opActionner(String operation,boolean justOpped){ + if(!justOpped){ + if (inpView.getText().length() != 0){ + choppedList.add(String.valueOf(inpView.getText())); + choppedList.add(operation); + }else { + opCount -= 1; + } + }else { + if (!choppedList.isEmpty()){ + choppedList.remove(choppedList.size()-1); + choppedList.add(operation); + }else { + opCount -= 1; + } + } + StringBuilder temp = new StringBuilder(); + for(String lel: choppedList){ + temp.append(lel); + } + eqView.setText(temp); + inpView.setText(""); + + } + + public String EqualAnswer(boolean decimaled){ + DecimalFormat dc1 = new DecimalFormat("0.00"); + DecimalFormat dc2 = new DecimalFormat("0"); + ArrayList postfix = convert(choppedList); + if (decimaled) { + return dc1.format(evaluate(postfix)); + }else { + return dc2.format(evaluate(postfix)); + } + } + + + + + + public String ArrAnswerer(){ + double op1=Double.parseDouble(choppedList.get(0)); + double op2; + String Operation = ""; + for (int i = 1 ; i <= choppedList.size()-1; i++){ + if (i % 2 == 0){ + op2 = Double.parseDouble(choppedList.get(i)); + switch (Operation){ + case "+": { + op1+=op2; + break; + }case "-":{ + op1-=op2; + break; + }case "*":{ + op1*=op2; + break; + } case "/":{ + if(op2 == 0 ||op1 == 0){ + return "Not gonna happen."; + }else { + op1/=op2; + } + break; + } + } + }else { + Operation = choppedList.get(i); + } + } + + return String.valueOf(op1); + } + + + + + + public static ArrayList convert(ArrayList infix) { + ArrayList postfix = new ArrayList<>(); + Stack s = new Stack<>(); + + for (String token : infix) { + if (token.matches("\\d+\\.?\\d*")) { + postfix.add(token); + } else if (isOperator(token)) { + while (!s.isEmpty() && precedence(token) <= precedence(s.peek())) { + postfix.add(s.pop()); + } + s.push(token); + } + } + + while (!s.isEmpty()) { + postfix.add(s.pop()); + } + + return postfix; + } + + private static boolean isOperator(String token) { + return token.equals("*") || token.equals("/") || token.equals("+") || token.equals("-"); + } + + private static int precedence(String token) { + switch (token) { + case "*": + case "/": + return 2; + case "+": + case "-": + return 1; + default: + return -1; + } + } + + + public static double evaluate(ArrayList postfix) { + Stack s = new Stack<>(); + double num1, num2; + + for (String token : postfix) { + if (token.matches("\\d+\\.?\\d*")) { // if the token is a number + s.push(Double.parseDouble(token)); + } else if (isOperator(token)) { // if the token is an operator + num2 = s.pop(); + num1 = s.pop(); + + switch (token) { + case "*": + s.push(num1 * num2); + break; + case "/": + s.push(num1 / num2); + break; + case "+": + s.push(num1 + num2); + break; + case "-": + s.push(num1 - num2); + break; + } + } + } + + return s.peek(); + } + + + + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/androidprojectcollection/LayoutExercise.java b/app/src/main/java/com/example/androidprojectcollection/LayoutExercise.java new file mode 100644 index 0000000..db110ac --- /dev/null +++ b/app/src/main/java/com/example/androidprojectcollection/LayoutExercise.java @@ -0,0 +1,24 @@ +package com.example.androidprojectcollection; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class LayoutExercise extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_layout_exercise); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/androidprojectcollection/MainActivity.java b/app/src/main/java/com/example/androidprojectcollection/MainActivity.java new file mode 100644 index 0000000..222d7da --- /dev/null +++ b/app/src/main/java/com/example/androidprojectcollection/MainActivity.java @@ -0,0 +1,56 @@ +package com.example.androidprojectcollection; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +public class MainActivity extends AppCompatActivity { + + Button btn1,btn2,btn3; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_main); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + btn1 = findViewById(R.id.LayoutExercise); + + btn1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent1 = new Intent(MainActivity.this,LayoutExercise.class); + startActivity(intent1); + } + }); + btn2 = findViewById(R.id.ButtonActivity); + btn2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent1 = new Intent(MainActivity.this,ButtonExercise.class); + startActivity(intent1); + } + }); + btn3 = findViewById(R.id.Calculaotr); + btn3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent1 = new Intent(MainActivity.this, CalculatorExercise.class); + startActivity(intent1); + } + }); + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/androidprojectcollection/Return.java b/app/src/main/java/com/example/androidprojectcollection/Return.java new file mode 100644 index 0000000..76edfbe --- /dev/null +++ b/app/src/main/java/com/example/androidprojectcollection/Return.java @@ -0,0 +1,38 @@ +package com.example.androidprojectcollection; + +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import android.view.View; +import android.widget.Button; + +public class Return extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + setContentView(R.layout.activity_return); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + + + }); + + Button rbtn = findViewById(R.id.Returnbtn); + rbtn.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/add.png b/app/src/main/res/drawable/add.png new file mode 100644 index 0000000..0a2f782 Binary files /dev/null and b/app/src/main/res/drawable/add.png differ diff --git a/app/src/main/res/drawable/bookmark.png b/app/src/main/res/drawable/bookmark.png new file mode 100644 index 0000000..774e166 Binary files /dev/null and b/app/src/main/res/drawable/bookmark.png differ diff --git a/app/src/main/res/drawable/comment.png b/app/src/main/res/drawable/comment.png new file mode 100644 index 0000000..f45731d Binary files /dev/null and b/app/src/main/res/drawable/comment.png differ diff --git a/app/src/main/res/drawable/heart.png b/app/src/main/res/drawable/heart.png new file mode 100644 index 0000000..a7c3577 Binary files /dev/null and b/app/src/main/res/drawable/heart.png differ diff --git a/app/src/main/res/drawable/home.png b/app/src/main/res/drawable/home.png new file mode 100644 index 0000000..6593070 Binary files /dev/null and b/app/src/main/res/drawable/home.png differ diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/mart1.jpg b/app/src/main/res/drawable/mart1.jpg new file mode 100644 index 0000000..0ee9029 Binary files /dev/null and b/app/src/main/res/drawable/mart1.jpg differ diff --git a/app/src/main/res/drawable/mart2.jpg b/app/src/main/res/drawable/mart2.jpg new file mode 100644 index 0000000..730c3d1 Binary files /dev/null and b/app/src/main/res/drawable/mart2.jpg differ diff --git a/app/src/main/res/drawable/mart3.jpg b/app/src/main/res/drawable/mart3.jpg new file mode 100644 index 0000000..c1eef49 Binary files /dev/null and b/app/src/main/res/drawable/mart3.jpg differ diff --git a/app/src/main/res/drawable/mart4.jpg b/app/src/main/res/drawable/mart4.jpg new file mode 100644 index 0000000..d899f37 Binary files /dev/null and b/app/src/main/res/drawable/mart4.jpg differ diff --git a/app/src/main/res/drawable/mart5.jpg b/app/src/main/res/drawable/mart5.jpg new file mode 100644 index 0000000..b919ae8 Binary files /dev/null and b/app/src/main/res/drawable/mart5.jpg differ diff --git a/app/src/main/res/drawable/mart6.jpg b/app/src/main/res/drawable/mart6.jpg new file mode 100644 index 0000000..063e958 Binary files /dev/null and b/app/src/main/res/drawable/mart6.jpg differ diff --git a/app/src/main/res/drawable/mart7.jpg b/app/src/main/res/drawable/mart7.jpg new file mode 100644 index 0000000..d860893 Binary files /dev/null and b/app/src/main/res/drawable/mart7.jpg differ diff --git a/app/src/main/res/drawable/mart8.jpg b/app/src/main/res/drawable/mart8.jpg new file mode 100644 index 0000000..5357af3 Binary files /dev/null and b/app/src/main/res/drawable/mart8.jpg differ diff --git a/app/src/main/res/drawable/menu.png b/app/src/main/res/drawable/menu.png new file mode 100644 index 0000000..2295743 Binary files /dev/null and b/app/src/main/res/drawable/menu.png differ diff --git a/app/src/main/res/drawable/messages.png b/app/src/main/res/drawable/messages.png new file mode 100644 index 0000000..f45731d Binary files /dev/null and b/app/src/main/res/drawable/messages.png differ diff --git a/app/src/main/res/drawable/reels.png b/app/src/main/res/drawable/reels.png new file mode 100644 index 0000000..a446d21 Binary files /dev/null and b/app/src/main/res/drawable/reels.png differ diff --git a/app/src/main/res/drawable/search.png b/app/src/main/res/drawable/search.png new file mode 100644 index 0000000..b524ecb Binary files /dev/null and b/app/src/main/res/drawable/search.png differ diff --git a/app/src/main/res/layout/activity_button_exercise.xml b/app/src/main/res/layout/activity_button_exercise.xml new file mode 100644 index 0000000..cf7c42c --- /dev/null +++ b/app/src/main/res/layout/activity_button_exercise.xml @@ -0,0 +1,62 @@ + + + + + + +