Skip to content

Commit

Permalink
Merge branch 'Clasificacion'
Browse files Browse the repository at this point in the history
  • Loading branch information
jesuscalzasbedoya committed Apr 28, 2023
2 parents d6060a1 + 40b64a5 commit 60c30a6
Show file tree
Hide file tree
Showing 8 changed files with 242 additions and 10 deletions.
17 changes: 17 additions & 0 deletions .idea/deploymentTargetDropDown.xml

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

92 changes: 86 additions & 6 deletions app/src/main/java/com/example/f1/FragmentClasificacion.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,26 @@

import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;

import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

import java.util.ArrayList;
import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

/**
* A simple {@link Fragment} subclass.
Expand Down Expand Up @@ -46,19 +61,84 @@ public static FragmentClasificacion newInstance(String param1, String param2) {
return fragment;
}

private View view;

private ArrayAdapter<Rowitem_Clasificacion> adaptador;

private ListView listView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_clasificacion, container, false);

view = inflater.inflate(R.layout.fragment_clasificacion, container, false);
Callback<JsonObject> callback = crearCallback();
((PantallaInicioActivity)getActivity()).getService().getStanding("current").enqueue(callback);
return view;
}

private List<Rowitem_Clasificacion> crearRowItems(JsonObject respuesta) {
List<Rowitem_Clasificacion> listaFilas = new ArrayList<Rowitem_Clasificacion>();
JsonArray clasificacion = respuesta.getAsJsonObject("MRData")
.getAsJsonObject("StandingsTable")
.getAsJsonArray("StandingsLists")
.get(0).getAsJsonObject().getAsJsonArray("DriverStandings");
for(int i = 0; i < clasificacion.size(); i++){
JsonObject datosP = clasificacion.get(i).getAsJsonObject();
listaFilas.add(new Rowitem_Clasificacion(
datosP.get("Driver").getAsJsonObject().get("familyName").getAsString(),
datosP.get("points").getAsInt(),
datosP.get("position").getAsInt()));
}
return listaFilas;
}

private Callback<JsonObject> crearCallback(){
return new Callback<JsonObject>() {
@Override
public void onResponse(Call<JsonObject> call, @NonNull Response<JsonObject> response) {
JsonObject respuesta = response.body();
List<Rowitem_Clasificacion> filas = crearRowItems(respuesta);
if (getActivity()!=null)
adaptador = new RowArrayAdapter_Clasificacion(getActivity(),
R.layout.row_clasificacion, filas);

System.out.println(listView);
listView = (ListView) view.findViewById(R.id.listviewClasificacion);
System.out.println(listView);
listView.setAdapter(adaptador);

}
@Override
public void onFailure(Call<JsonObject> call, Throwable t) {
Log.e("error", "error", t);
Toast.makeText(
getActivity(),
"ERROR: " + t.getMessage(),
Toast.LENGTH_LONG
).show();
}
};
}
}
}















3 changes: 2 additions & 1 deletion app/src/main/java/com/example/f1/PantallaInicioActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,15 @@ protected void onCreate(Bundle savedInstanceState) {

setSupportActionBar(toolbar);
QuinielaFragment quinielaFragment = new QuinielaFragment();
FragmentClasificacion fragmentClasificacion = new FragmentClasificacion();
getSupportFragmentManager().beginTransaction().add(R.id.frame1, new FragmentClasificacion()).commit();

bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener(){
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item){
switch(item.getItemId()){
case R.id.menu_frag_clasificacion:
getSupportFragmentManager().beginTransaction().replace(R.id.frame1, new FragmentClasificacion()).commit();
getSupportFragmentManager().beginTransaction().replace(R.id.frame1, fragmentClasificacion).commit();
toolbar.setTitle("Clasificación");
return true;
case R.id.menu_frag_LogOut:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package com.example.f1;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.List;

public class RowArrayAdapter_Clasificacion extends ArrayAdapter<Rowitem_Clasificacion> {
Context context;

public RowArrayAdapter_Clasificacion(Context context, int resourceId, List<Rowitem_Clasificacion> items) {
super(context, resourceId, items);
this.context = context;
}

private class RowItemHolder{

TextView nombrePiloto;

TextView puntos;

TextView puesto;

LinearLayout layout;
}

public View getView(int position, View convertView, ViewGroup parent){
RowItemHolder holder = null;
Rowitem_Clasificacion rowItem = getItem(position);

LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if(convertView == null) {
convertView = mInflater.inflate(R.layout.row_clasificacion, null);
holder = new RowItemHolder();

holder.nombrePiloto = (TextView) convertView.findViewById(R.id.textViewNombrePiloto);
holder.puntos = (TextView) convertView.findViewById(R.id.textViewPuntosTotales);
holder.puesto = (TextView) convertView.findViewById(R.id.textViewPuesto);

convertView.setTag(holder);
} else
holder = (RowItemHolder) convertView.getTag();

holder.nombrePiloto.setText(rowItem.getNombrePiloto());
holder.puntos.setText(String.valueOf(rowItem.getPuntos()));
holder.puesto.setText(String.valueOf(rowItem.getPos()));

return convertView;
}
}


38 changes: 38 additions & 0 deletions app/src/main/java/com/example/f1/Rowitem_Clasificacion.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.example.f1;

public class Rowitem_Clasificacion {
private String nombrePiloto;
private int puntos;

private int pos;

public Rowitem_Clasificacion(String nombrePiloto, int puntos, int pos) {
this.nombrePiloto = nombrePiloto;
this.puntos = puntos;
this.pos = pos;
}

public String getNombrePiloto() {
return nombrePiloto;
}

public void setNombrePiloto(String nombrePiloto) {
this.nombrePiloto = nombrePiloto;
}

public int getPuntos() {
return puntos;
}

public void setPuntos(int puntos) {
this.puntos = puntos;
}

public void setPos(int pos) {
this.pos = pos;
}

public int getPos() {
return pos;
}
}
12 changes: 10 additions & 2 deletions app/src/main/res/layout/fragment_clasificacion.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,13 @@
android:id="@+id/fragment_ultimacarrera"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00D9FF"
tools:context=".FragmentClasificacion" />
android:background="@color/blanco_amarillento"
tools:context=".FragmentClasificacion">


<ListView
android:id="@+id/listviewClasificacion"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</FrameLayout>
30 changes: 30 additions & 0 deletions app/src/main/res/layout/row_clasificacion.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_listaCarreras"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/textViewPuesto"
android:layout_width="27dp"
android:layout_height="27dp"
android:layout_weight="1"
android:text="Puesto"
android:textSize="20sp" />

<TextView
android:id="@+id/textViewNombrePiloto"
android:layout_width="242dp"
android:layout_height="wrap_content"
android:text="Nombre piloto"
android:textSize="20sp"
android:textStyle="bold" />

<TextView
android:id="@+id/textViewPuntosTotales"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Puntos"
android:textSize="20sp" />
</LinearLayout>
2 changes: 1 addition & 1 deletion app/src/main/res/layout/row_lista_carreras.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
Expand Down

0 comments on commit 60c30a6

Please sign in to comment.