Hala Madrid
This commit is contained in:
parent
b40f77c819
commit
926e19d44d
|
@ -0,0 +1 @@
|
||||||
|
pantallaCompra
|
|
@ -1,6 +1,7 @@
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
id("com.android.application")
|
||||||
id("org.jetbrains.kotlin.android")
|
id("org.jetbrains.kotlin.android")
|
||||||
|
id("com.google.gms.google-services")
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
@ -33,6 +34,10 @@ android {
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = "1.8"
|
jvmTarget = "1.8"
|
||||||
}
|
}
|
||||||
|
buildFeatures {
|
||||||
|
viewBinding = true
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -41,6 +46,7 @@ dependencies {
|
||||||
implementation("androidx.appcompat:appcompat:1.6.1")
|
implementation("androidx.appcompat:appcompat:1.6.1")
|
||||||
implementation("com.google.android.material:material:1.11.0")
|
implementation("com.google.android.material:material:1.11.0")
|
||||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||||
|
implementation("com.google.firebase:firebase-database:20.3.1")
|
||||||
testImplementation("junit:junit:4.13.2")
|
testImplementation("junit:junit:4.13.2")
|
||||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"project_info": {
|
||||||
|
"project_number": "466470867685",
|
||||||
|
"firebase_url": "https://playpal-853fb-default-rtdb.firebaseio.com",
|
||||||
|
"project_id": "playpal-853fb",
|
||||||
|
"storage_bucket": "playpal-853fb.appspot.com"
|
||||||
|
},
|
||||||
|
"client": [
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:466470867685:android:0ff8f84509e25132ae3a0c",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.example.pantallacompra"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyDq4DgG2Re5v10N9-xJAKiiSQ6OphC7uKM"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:466470867685:android:1205ac64994853dfae3a0c",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.example.teatro2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyDq4DgG2Re5v10N9-xJAKiiSQ6OphC7uKM"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configuration_version": "1"
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
data class Asiento(val noAsiento : String?=null, val precio : Int?=null, val tipo : String ?=null, val status : String?=null, val nSala : Int?=null){
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import android.widget.TextView
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
|
||||||
|
class ChairAdapter (private val item : ArrayList<Asiento>): RecyclerView.Adapter<ChairAdapter.ViewHolder>() {
|
||||||
|
|
||||||
|
private lateinit var mListener : onItemClickListener
|
||||||
|
|
||||||
|
interface onItemClickListener{
|
||||||
|
fun onItemClick(position: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setOnItemClickListener(listener: onItemClickListener){
|
||||||
|
mListener=listener
|
||||||
|
}
|
||||||
|
|
||||||
|
class ViewHolder(itemView: View, listener: onItemClickListener): RecyclerView.ViewHolder(itemView){
|
||||||
|
val chair : TextView = itemView.findViewById(R.id.chair)
|
||||||
|
init {
|
||||||
|
itemView.setOnClickListener{
|
||||||
|
listener.onItemClick(adapterPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||||
|
return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.chair_item,parent,false),mListener)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getItemCount(): Int {
|
||||||
|
return item.size
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||||
|
holder.chair.text=item[position].noAsiento.toString()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.widget.TextView
|
||||||
|
import android.widget.Toast
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.firebase.database.DataSnapshot
|
||||||
|
import com.google.firebase.database.DatabaseError
|
||||||
|
import com.google.firebase.database.DatabaseReference
|
||||||
|
import com.google.firebase.database.FirebaseDatabase
|
||||||
|
import com.google.firebase.database.ValueEventListener
|
||||||
|
|
||||||
|
class ChairList : AppCompatActivity() {
|
||||||
|
private lateinit var dbreference : DatabaseReference
|
||||||
|
private lateinit var recycleView: RecyclerView
|
||||||
|
private lateinit var eventList : ArrayList<Asiento>
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
setContentView(R.layout.activity_chair_list)
|
||||||
|
|
||||||
|
//SE GUARDA EL NOMBRE DEL EVENTO
|
||||||
|
val bundle= intent.extras
|
||||||
|
val nombreEvento=bundle?.getString("nombreEvento")
|
||||||
|
val noSala=bundle?.getString("sala")
|
||||||
|
|
||||||
|
val nEvento:TextView =findViewById(R.id.eventoText)
|
||||||
|
nEvento.text=nombreEvento
|
||||||
|
|
||||||
|
val nSala:TextView=findViewById(R.id.noSalaText)
|
||||||
|
nSala.text=noSala
|
||||||
|
|
||||||
|
recycleView = findViewById(R.id.chairRecycleView)
|
||||||
|
recycleView.layoutManager = GridLayoutManager(this,2)
|
||||||
|
recycleView.setHasFixedSize(true)
|
||||||
|
|
||||||
|
eventList = arrayListOf<Asiento>()
|
||||||
|
getEvents()
|
||||||
|
|
||||||
|
}
|
||||||
|
private fun getEvents(){
|
||||||
|
dbreference= FirebaseDatabase.getInstance().getReference("Asientos")
|
||||||
|
dbreference.addValueEventListener(object : ValueEventListener {
|
||||||
|
override fun onDataChange(snapshot: DataSnapshot) {
|
||||||
|
if(snapshot.exists()){
|
||||||
|
|
||||||
|
for(event in snapshot.children){
|
||||||
|
val item=event.getValue(Asiento::class.java)
|
||||||
|
eventList.add(item!!)
|
||||||
|
}
|
||||||
|
var adapter=ChairAdapter(eventList)
|
||||||
|
recycleView.adapter=adapter
|
||||||
|
adapter.setOnItemClickListener(object : ChairAdapter.onItemClickListener{
|
||||||
|
override fun onItemClick(position: Int) {
|
||||||
|
//Toast.makeText(this@ChairList,"Has hecho click", Toast.LENGTH_LONG).show()
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCancelled(error: DatabaseError) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
data class Event(val nombre : String ?=null, val genero : String ?=null, val duracion : Int ?=null, val tipo : String ?=null){
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,68 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.firebase.database.DataSnapshot
|
||||||
|
import com.google.firebase.database.DatabaseError
|
||||||
|
import com.google.firebase.database.DatabaseReference
|
||||||
|
import com.google.firebase.database.FirebaseDatabase
|
||||||
|
import com.google.firebase.database.ValueEventListener
|
||||||
|
|
||||||
|
class EventList : AppCompatActivity() {
|
||||||
|
private lateinit var dbreference : DatabaseReference
|
||||||
|
private lateinit var recycleView: RecyclerView
|
||||||
|
private lateinit var eventList : ArrayList<Event>
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
setContentView(R.layout.activity_event_list)
|
||||||
|
|
||||||
|
recycleView = findViewById(R.id.eventRecycleView)
|
||||||
|
recycleView.layoutManager = LinearLayoutManager(this)
|
||||||
|
recycleView.setHasFixedSize(true)
|
||||||
|
|
||||||
|
eventList = arrayListOf<Event>()
|
||||||
|
getEvents()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getEvents(){
|
||||||
|
dbreference= FirebaseDatabase.getInstance().getReference("Eventos")
|
||||||
|
dbreference.addValueEventListener(object : ValueEventListener {
|
||||||
|
override fun onDataChange(snapshot: DataSnapshot) {
|
||||||
|
if(snapshot.exists()){
|
||||||
|
for(event in snapshot.children){
|
||||||
|
val item=event.getValue(Event::class.java)
|
||||||
|
eventList.add(item!!)
|
||||||
|
}
|
||||||
|
//recycleView.adapter=MyAdapter(eventList)
|
||||||
|
var adapter=MyAdapter(eventList)
|
||||||
|
recycleView.adapter=adapter
|
||||||
|
adapter.setOnItemClickListener(object : MyAdapter.onItemClickListener{
|
||||||
|
override fun onItemClick(position: Int) {
|
||||||
|
//Toast.makeText(this@EventList,"${eventList[position].nombre.toString()}", Toast.LENGTH_LONG).show()
|
||||||
|
val nombreEvento: String= eventList[position].nombre.toString()
|
||||||
|
var salaEvento:String?=null
|
||||||
|
when(nombreEvento){
|
||||||
|
"Champions"-> salaEvento = "1"
|
||||||
|
"Los caligaris"->salaEvento="2"
|
||||||
|
}
|
||||||
|
val intent = Intent(this@EventList, ChairList::class.java)
|
||||||
|
intent.putExtra("nombreEvento",nombreEvento)//CLAVE : VALOR
|
||||||
|
intent.putExtra("sala",salaEvento)
|
||||||
|
startActivity(intent)
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCancelled(error: DatabaseError) {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,13 +6,15 @@ import android.os.Bundle
|
||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.example.pantallacompra.databinding.ActivityMainBinding
|
||||||
|
import com.google.firebase.database.DatabaseReference
|
||||||
|
import com.google.firebase.database.FirebaseDatabase
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var binding: ActivityMainBinding
|
||||||
private lateinit var eventosReferences : DatabaseReference
|
private lateinit var eventosReferences : DatabaseReference
|
||||||
private lateinit var salasReference: DatabaseReference
|
private lateinit var salasReference: DatabaseReference
|
||||||
private lateinit var asientosReference: DatabaseReference
|
private lateinit var asientosReference: DatabaseReference
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding= ActivityMainBinding.inflate(layoutInflater)
|
binding= ActivityMainBinding.inflate(layoutInflater)
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import android.widget.TextView
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
|
||||||
|
class MyAdapter (private val eventList : ArrayList<Event>) : RecyclerView.Adapter<MyAdapter.MyViewHolder>(){
|
||||||
|
|
||||||
|
private lateinit var mListener : onItemClickListener
|
||||||
|
|
||||||
|
interface onItemClickListener{
|
||||||
|
fun onItemClick(position: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setOnItemClickListener(listener: onItemClickListener){
|
||||||
|
mListener=listener
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
|
||||||
|
val itemView= LayoutInflater.from(parent.context).inflate(R.layout.event_item,parent,false)
|
||||||
|
return MyViewHolder(itemView, mListener)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getItemCount(): Int {
|
||||||
|
return eventList.size
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
|
||||||
|
val list= eventList[position]
|
||||||
|
holder.nombre.text="Evento:" +list.nombre
|
||||||
|
holder.tipo.text="Tipo: "+list.tipo
|
||||||
|
holder.duracion.text="Duración: "+list.duracion.toString()+" min"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyViewHolder(itemView : View, listener: onItemClickListener): RecyclerView.ViewHolder(itemView){
|
||||||
|
val nombre : TextView = itemView.findViewById(R.id.eventName)
|
||||||
|
val tipo: TextView = itemView.findViewById(R.id.eventType)
|
||||||
|
val duracion: TextView =itemView.findViewById(R.id.eventDuration)
|
||||||
|
init {
|
||||||
|
itemView.setOnClickListener{
|
||||||
|
listener.onItemClick(adapterPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.example.pantallacompra
|
||||||
|
|
||||||
|
data class Sala(val n0Sala : Int?=null, val nombreEvento : String ?=null){
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="#f0f0f0"></solid>
|
||||||
|
<corners android:radius="20dp"></corners>
|
||||||
|
<stroke android:color="#02161c" android:width="2dp"></stroke>
|
||||||
|
</shape>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_margin="16dp"
|
||||||
|
android:background="#225c6e">
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/chair"
|
||||||
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,3 +1,8 @@
|
||||||
|
buildscript {
|
||||||
|
dependencies {
|
||||||
|
classpath("com.google.gms:google-services:4.4.1")
|
||||||
|
}
|
||||||
|
}
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application") version "8.2.2" apply false
|
id("com.android.application") version "8.2.2" apply false
|
||||||
|
|
Loading…
Reference in New Issue