• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM PEMROGRAMAN APLIKASI BERGERAK

N/A
N/A
aga jelek

Academic year: 2024

Membagikan "LAPORAN PRAKTIKUM PEMROGRAMAN APLIKASI BERGERAK "

Copied!
8
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM PEMROGRAMAN APLIKASI BERGERAK

MODUL VII ( GRIDVIEW )

Nama : Randi Padilah NIM : 20200810062

Kelas : TINFC-2020-01 (A)

LABORATORIUM PRAKTIKUM FAKULTAS ILMU KOMPUTER

UNIVERSITAS KUNINGAN

2023

(2)

A. PRETEST

1. Jelaskan ide/gagasan projek anda dalam menggunakan gridview pada ide/gagasan anda?

Jawab :

Projek yang memerlukan gridview adalaha aplikasi e-commerce agar tampilan barang yang di jual lebih ringkas karena dalam setiap barisnya terdapat satu atau banyak widget tree.

B. POSTEST

1. Jelaskan secara singkat tugas/fungsi DetailsActivity.java, GridViewAdapter.java dan ImageItem.java

• DetailsActivity.java merupakan salah satu komponen yang ada di Android Studio yang berfungsi untuk menampilkan antarmuka pengguna (UI) dari aplikasi yang akan dibuat, biasanya diletakkan pada “setcontentview”.

• GridViewAdapter.java inilah yang menyediakan akses ke item data dan juga bertanggung jawab untuk membuat sebuah View pada setiap item dalam kumpulan data.

• ImageItem.java merupakan komponen Android Studio berfungsi untuk memasukin gambar kedalam codingan yg kita buat.

C. TUGAS DAN PERTANYAAN

Sourcecode : MainActivity.java

package com.example.modul7;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.GridView;

(3)

import android.widget.Toast;

public class MainActivity extends AppCompatActivity { private GridView gridView;

String[] title = {"adelaide_australia.jpg", "calgary_kanada.jpg", "copenhagen_denmark.jpg", "melbourne_australia.jpg", "osaka_jepang.jpg", "sydney_australia.jpg",

"tokyo_jepang.jpg", "toronto_kanada.jpg", "vancouver_kanada.jpg", "wina_austria.jpg"};

int[] img = {R.drawable.adelaide_australia, R.drawable.calgary_kanada, R.drawable.copenhagen_denmark, R.drawable.melbourne_australia, R.drawable.osaka_jepang, R.drawable.sydney_australia,

R.drawable.tokyo_jepang, R.drawable.toronto_kanada, R.drawable.vancouver_kanada, R.drawable.wina_austria};

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

GridViewAdapter adapter = new GridViewAdapter(MainActivity.this, img, title);

gridView = findViewById(R.id.grid_view);

gridView.setAdapter(adapter);

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

String texView = title[+position];

int imageView = img[+position];

Intent intent = new Intent(MainActivity.this, DetailsActivity.class);

intent.putExtra("title", texView);

intent.putExtra("image", imageView);

startActivity(intent);

} });

} }

(4)

Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#D1C4E9"

tools:context=".MainActivity">

<GridView

android:id="@+id/grid_view"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:clickable="true"

android:columnWidth="100dp"

android:drawSelectorOnTop="true"

android:focusable="true"

android:gravity="center"

android:numColumns="auto_fit"

android:stretchMode="columnWidth"

android:verticalSpacing="5dp" />

</RelativeLayout>

GridViewAdapter.java

package com.example.modul7;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

public class GridViewAdapter extends BaseAdapter { private Context context;

private int[] img ; private String[] title;

public GridViewAdapter(Context context, int[] img, String[] title) { this.context = context;

this.img = img;

this.title = title;

}

(5)

@Override

public int getCount() { return title.length;

}

@Override

public Object getItem(int position) { return null;

}

@Override

public long getItemId(int position) { return 0;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) { View viewGrid;

LayoutInflater inflater = (LayoutInflater)

context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

if (convertView == null) {

viewGrid = inflater.inflate(R.layout.grid_item_layout, null);

TextView textView = (TextView) viewGrid.findViewById(R.id.textView);

ImageView imageView = (ImageView) viewGrid.findViewById(R.id.imageView);

textView.setText(title[position]);

imageView.setImageResource(img[position]);

} else {

viewGrid = (View) convertView;

}

return viewGrid;

} }

grid_item_layout.xml

<?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"

android:layout_marginTop="5dp"

android:padding="5dp"

android:background="#ffffff"

android:orientation="vertical">

<ImageView

android:id="@+id/imageView"

android:layout_width="100dp"

android:layout_height="100dp" />

<TextView

(6)

android:id="@+id/textView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="5dp"

android:gravity="center"

android:maxLines="1"

android:textSize="12sp" />

</LinearLayout>

DetailsActivity.java

package com.example.modul7;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.widget.ImageView;

import android.widget.TextView;

public class DetailsActivity extends AppCompatActivity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_details);

String title = getIntent().getStringExtra("title");

int img = getIntent().getIntExtra("image", R.drawable.ic_launcher_foreground);

TextView imgTitle = findViewById(R.id.title);

imgTitle.setText(title);

ImageView imageView = findViewById(R.id.image);

imageView.setImageResource(img);

} }

(7)

activity_details.xml

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".DetailsActivity">

<ImageView

android:id="@+id/image"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center"

android:scaleType="fitCenter" />

<TextView

android:id="@+id/title"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="bottom"

android:background="#00000c"

android:textColor="#ffffff"

android:padding="10dp"

android:textSize="20sp" />

</FrameLayout>

Hasil output :

(8)

Referensi

Dokumen terkait