Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 50 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,35 @@

# Rapport

**Skriv din rapport här!**
**
fösta jag adderat en listview layout för att läsa jason item. jag adderat också Mountain,java jag användar varible namn
Till exempel Berg namn och storleksfälten meter och fot över havet i bergsexemplet. Sen jag användar daptern för att tillhandahålla vyer för en AdapterView, Returnerar en vy för varje objekt i en samling dataobjekt du tillhandahåller och kan användas med listbaserade användargränssnittswidgets.

```
Gson gson = new Gson();
mountains = gson.fromJson(json,Mountain[].class);
```

Den här element hälpt mig användas för att konvertera Java-objekt till deras JSON-representation. Den kan också användas för att konvertera en JSON-sträng till ett likvärdigt Java-objekt. Gson kan arbeta med godtyckliga Java-objekt inklusive objekt som du inte har källan till.

```
ArrayAdapter<Mountain> arrayAdapter = new ArrayAdapter<>(this, R.layout.listview_item, R.id.item, mountains);

```
En adapter som hjälpte mig fungerar som en brygga mellan en AdapterView och de underliggande data för den view.
```
ListView listView = findViewById(R.id.list_view);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

}
});

```
Den här hur jag koppla mellen ListView och adapter.
**

_Du kan ta bort all text som finns sedan tidigare_.

Expand All @@ -16,24 +44,31 @@ _Du kan ta bort all text som finns sedan tidigare_.
Programkod ska se ut som exemplet nedan. Koden måste vara korrekt indenterad då den blir lättare att läsa vilket gör det lättare att hitta syntaktiska fel.

```
function errorCallback(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
// Geolocation API stöds inte, gör något
break;
case error.POSITION_UNAVAILABLE:
// Misslyckat positionsanrop, gör något
break;
case error.UNKNOWN_ERROR:
// Okänt fel, gör något
break;
}
}
Gson gson = new Gson();
mountains = gson.fromJson(json,Mountain[].class);

ArrayAdapter<Mountain> arrayAdapter = new ArrayAdapter<>(this, R.layout.listview_item, R.id.item, mountains);

ListView listView = findViewById(R.id.list_view);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

}
});

for (int i = 0; i < mountains.length; i++) {
Log.d("MainActivity ==>","Hittade ett berg" + mountains[i].getName() + " " + mountains[i].getAuxdata().getWiki());



}
```

Bilder läggs i samma mapp som markdown-filen.

![](android.png)
![](pic1.png)

Läs gärna:

Expand Down
1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.code.gson:gson:2.9.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
}

task archive(type: Zip) {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.networking">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/com/example/networking/Auxdata.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.example.networking;

public class Auxdata {
private String wiki;
private String img;

public String getWiki() {
return wiki;
}
}
41 changes: 40 additions & 1 deletion app/src/main/java/com/example/networking/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,65 @@

import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import androidx.appcompat.app.AppCompatActivity;


import com.google.gson.Gson;

@SuppressWarnings("FieldCanBeLocal")
public class MainActivity extends AppCompatActivity implements JsonTask.JsonTaskListener {

private Mountain[] mountains;
private WebView webView;

private ListView listView;

private final String JSON_URL = "HTTPS_URL_TO_JSON_DATA_CHANGE_THIS_URL";
private final String JSON_FILE = "mountains.json";



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

new JsonFile(this, this).execute(JSON_FILE);


}

@Override
public void onPostExecute(String json) {
Log.d("MainActivity", json);
Log.d("MainActivity ==>", json);

Gson gson = new Gson();
mountains = gson.fromJson(json,Mountain[].class);

ArrayAdapter<Mountain> arrayAdapter = new ArrayAdapter<>(this, R.layout.listview_item, R.id.item, mountains);

ListView listView = findViewById(R.id.list_view);
listView.setAdapter(arrayAdapter);

for (int i = 0; i < mountains.length; i++) {
Log.d("MainActivity ==>","Hittade ett berg" + mountains[i].getName() + " " + mountains[i].getAuxdata().getWiki());


}





}






}
60 changes: 60 additions & 0 deletions app/src/main/java/com/example/networking/Mountain.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package com.example.networking;

public class Mountain {
private String ID;
private String name;
private String type;
private String company;
private String location;
private String category;
private int size;
private int cost;
private Auxdata auxdata;

public Mountain(String ID, String name, String type, String company, String location, String category, int size, int cost, Auxdata auxdata) {
this.ID = ID;
this.name = name;
this.type = type;
this.company = company;
this.location = location;
this.category = category;
this.size = size;
this.cost = cost;
this.auxdata = auxdata;
}

public String getName() {
return name;
}

public String getType() {
return type;
}

public String getCompany() {
return company;
}

public String getLocation() {
return location;
}

public String getCategory() {
return category;
}

public int getSize() {
return size;
}

public int getCost() {
return cost;
}

public Auxdata getAuxdata() {
return auxdata;
}

@Override
public String toString(){return name;}
}
18 changes: 11 additions & 7 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
<ListView
android:id="@+id/list_view"
android:layout_width="409dp"
android:layout_height="330dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />



</androidx.constraintlayout.widget.ConstraintLayout>
11 changes: 11 additions & 0 deletions app/src/main/res/layout/listview_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?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="match_parent">

<TextView
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

</LinearLayout>
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ buildscript {

}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.3'
classpath 'com.android.tools.build:gradle:7.1.2'


// NOTE: Do not place your application dependencies here; they belong
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
Binary file added pic1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.