Skip to content

Commit

Permalink
initial
Browse files Browse the repository at this point in the history
  • Loading branch information
Pankaj-Leo committed Mar 4, 2024
0 parents commit 368fa2f
Show file tree
Hide file tree
Showing 72 changed files with 2,021 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions .idea/appInsightsSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/migrations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Screenshot/Screenshot_20240303_234447.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_234513.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_234539.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_234933.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_234949.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_235001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_235025.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Screenshot/Screenshot_20240303_235039.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
40 changes: 40 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
plugins {
id("com.android.application")
}

android {
namespace = "com.example.quizgame_50073457"
compileSdk = 34

defaultConfig {
applicationId = "com.example.quizgame_50073457"
minSdk = 29
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("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.11.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
implementation ("com.google.code.gson:gson:2.8.6")
}
21 changes: 21 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.example.quizgame_50073457;

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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.example.quizgame_50073457", appContext.getPackageName());
}
}
47 changes: 47 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Quizgame_50073457"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
</activity>

<activity android:name=".SplashScreenActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>

<!-- LoginActivity -->
<activity android:name=".LoginActivity" />

<!-- RegistrationActivity -->
<activity android:name=".RegistrationActivity" />

<!-- QuizActivity -->
<activity android:name=".QuizActivity" />

<!-- RulesActivity -->
<activity android:name=".RulesActivity" />

<!-- ResultActivity -->
<activity android:name=".ResultActivity" />

<activity android:name=".QuizStatActivity" />

</application>

</manifest>
71 changes: 71 additions & 0 deletions app/src/main/java/com/example/quizgame_50073457/LoginActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package com.example.quizgame_50073457;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Patterns;
import android.widget.Toast;


public class LoginActivity extends AppCompatActivity {

private EditText email, password;
private Button btnLogin;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

email = findViewById(R.id.editTextEmailLogin);
password = findViewById(R.id.editTextPasswordLogin);
btnLogin = findViewById(R.id.buttonLogin);


btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (validateInputs()){
if (PreferencesUtil.validateUser(LoginActivity.this, email.getText().toString(), password.getText().toString())) {
// Navigate to Quiz or Rules Activity
startActivity(new Intent(LoginActivity.this, RulesActivity.class));
//startActivity(new Intent(LoginActivity.this, QuizActivity.class));
finish();
} else {
// Show error
Toast.makeText(LoginActivity.this, "Invalid credentials", Toast.LENGTH_SHORT).show();
}
}
}
});

}


private boolean validateInputs() {
// Validate that the email and password fields are not empty
if (TextUtils.isEmpty(email.getText()) || TextUtils.isEmpty(password.getText())) {
Toast.makeText(LoginActivity.this, "Please enter both email and password", Toast.LENGTH_SHORT).show();
return false;
}

// Validate email format
if (!Patterns.EMAIL_ADDRESS.matcher(email.getText()).matches()) {
Toast.makeText(LoginActivity.this, "Please enter a valid email address", Toast.LENGTH_SHORT).show();
return false;
}

return true;
}

// Assume initialization and setContentView are done
private void navigateToRules() {
Intent intent = new Intent(LoginActivity.this, RulesActivity.class);
startActivity(intent);
finish();
}
}
29 changes: 29 additions & 0 deletions app/src/main/java/com/example/quizgame_50073457/MainActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.example.quizgame_50073457;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button btnLogin = findViewById(R.id.btnLogin);
Button btnRegister = findViewById(R.id.btnRegister);

btnLogin.setOnClickListener(v -> {
// Navigate to LoginActivity
startActivity(new Intent(MainActivity.this, LoginActivity.class));
});

btnRegister.setOnClickListener(v -> {
// Navigate to RegistrationActivity
startActivity(new Intent(MainActivity.this, RegistrationActivity.class));
});
}
}
Loading

0 comments on commit 368fa2f

Please sign in to comment.