Skip to content

a23erigu/mobileapp-programming-networking

 
 

Repository files navigation

Rapport

Detta är rapporten för Networking

I activity_main.xml lade det till en recyclerview.

<androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

En ny xml fill lades till för att visa hur elementen i recyclerview ska se ut.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="10dp">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"/>

</LinearLayout>

Mountain class var skapad and given geters and seters.

public class Mountain {

    private String name;
    @SerializedName("location")
    private String place;
    @SerializedName("size")
    private int hight;

    public Mountain(String name){
        this.name = name;
    }

    public void setName(String name) {
        this.name = name;
    }

I mainActivity.java sättes en arraylist av mountains, RecyclerViewAdaptern skapades och recView sates som RecyclerView.

Mountains = new ArrayList<>(Arrays.asList(
    new Mountain("Billigen"),
    new Mountain("Mount Everest"),
    new Mountain("Uluru")
));

recViewAdapter = new RecyclerViewAdapter(this, Mountains);

recView = findViewById(R.id.recycler_view);
recView.setLayoutManager(new LinearLayoutManager(this));
recView.setAdapter(recViewAdapter);

RecycelViewAdapter.java kopierades från guiden och allt om onclick togs bort och en update metod skapades.

public class ViewHolder extends RecyclerView.ViewHolder {
    TextView title;

    ViewHolder(View itemView) {
        super(itemView);
        title = itemView.findViewById(R.id.title);
    }
}

public void updateAdapter(ArrayList<Mountain> newItems){
    items.addAll(newItems);
}

Till sista så lades det till i onPostExecute i mainActivity.java så bergen från JSON mappen läggs till i listan av berg.

Type type = new TypeToken<ArrayList<Mountain>>() {}.getType();
ArrayList<Mountain> listOfMountains = gson.fromJson(json, type);

recViewAdapter.updateAdapter(listOfMountains);
recViewAdapter.notifyDataSetChanged();

på grund av firewall så gorde jag inte JSON hämtningen från websidan.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%