Judul : Mengirim JSONObject ke Activity Lain Mengunakan Intent
link : Mengirim JSONObject ke Activity Lain Mengunakan Intent
Baca juga
- Tutorial Membuat Aplikasi Android dengan Librari Volley
- Menjalankan Project Android Studio Langsung di Ponsel Smartphone Android
- Membuat Login Session Register Android PHP MYSQL Android Studio
- Menampilkan Data MySQL ke Aplikasi Android dengan Volley dan RecyclerView
- Volley - Menampilkan Data dari Database MySQL ke Aplikasi Android
Mengirim JSONObject ke Activity Lain Mengunakan Intent
Hai sobat, pada artikel kemarin yang berjudul Mengatur RecyclerView ItemClick Listener, telah ditunjukkan cara memberikan perintah click listener yang sebenarnya tidak ada pada bjek RecyclerView. Dan di artikle kali ini akan dijelaskan cara mengirimkan JSONObjek ke activity lain menggunakan intent..
Mungkin pada artikel sebelumnya saya telah menulis artikel tutorial android yang sebenarnya di dalamnya terdapat fungsi mengirim objek dari activity lain menggunakan intent. Tapi jika objek yang inigin kita kirim adalah objek dari JSON? Mudah saja, dengan menggunakan intent putextra, kita bisa mengirimkannya ke activity yang kita mau.
Penggunaanya hampir sama dengan intent putextra lainya, hanya saja objek yang akan kita kirim kita panggil terlebih dahulu pada activity sebelumnya dan selanjutnya tinggal kita ambil saat activity berpindah. Untuk lebh jelasnya sobat bisa lihat langkah-langkah di bawah ini
Pada arikel kemarin kita telah menambahkan perintah saat RecyclerView diklik, dan sekarang kita akan melanjutkanya agar lebih mudah. Silahkan sobat buka link berikut jika belum membuat project pada artikel sebelumnya. (Tutorial Android dengan Retrofit HTTP Library)
Nah untuk membuatnya, pertama buka project RetrofitHTTPLybrary, setelah itu tambahkan activity baru dengan nama DetailActivity
Buka MainActivity.java, masukkan kode berikut ini di dalam perintah onItemTouchListener
Keseluruhan dari MainActivity akan nampak seperti berikut ini
Di dalam kode MainActivity tersebut, terdapat kode Intent dimana dia mengirimkan objek JSON dengan memanggil variablenya. Selanjutnya kita buat tampilan pada activity detail, di dalamnya kita akan menampilkan data lebih di dalamnya seperti gambar, judul, deskripsi dll. untuk membuatnya, pada activity_detail.xml, atur layoutnya seperti berikut ini
Jika sudah, selanjutnya berpindah ke DetailActivity.java dan buat kodenya seperti berikut ini
Pada kode di atas, DetaiActivity akan menerima kiriman dari activity sebelumnya dengan kode getStringExtra lalu berubah objek pada activity Detai sesuai dengan nilai variable pada Json.
Untuk membuat agar tampilanya lebih bagus dan kegunaanya makin bagus, kita tambahkan tombol kembali di sebelah kiri pojok. Caranya sangat mudah sekali, hanya dengan membuka AndroidManifest.xml dan tambahkan kode parent di dalam tag application seperti berikut ini
Jika sudah, jalankan aplikasinya dengan memilih menu Run 'app', mkaa tampilanya akan seperti berikut ini
Dan itu lha cara mengirim objek JSON ke activity lain.
Sekian artikel tentang Mengirim JSONObject ke Activity Lain Mengunakan Intent, semoga bermanfaat.
Mungkin pada artikel sebelumnya saya telah menulis artikel tutorial android yang sebenarnya di dalamnya terdapat fungsi mengirim objek dari activity lain menggunakan intent. Tapi jika objek yang inigin kita kirim adalah objek dari JSON? Mudah saja, dengan menggunakan intent putextra, kita bisa mengirimkannya ke activity yang kita mau.
Penggunaanya hampir sama dengan intent putextra lainya, hanya saja objek yang akan kita kirim kita panggil terlebih dahulu pada activity sebelumnya dan selanjutnya tinggal kita ambil saat activity berpindah. Untuk lebh jelasnya sobat bisa lihat langkah-langkah di bawah ini
Baca juga "Cara Memasang Musik di Blog"
Pada arikel kemarin kita telah menambahkan perintah saat RecyclerView diklik, dan sekarang kita akan melanjutkanya agar lebih mudah. Silahkan sobat buka link berikut jika belum membuat project pada artikel sebelumnya. (Tutorial Android dengan Retrofit HTTP Library)
Nah untuk membuatnya, pertama buka project RetrofitHTTPLybrary, setelah itu tambahkan activity baru dengan nama DetailActivity
Buka MainActivity.java, masukkan kode berikut ini di dalam perintah onItemTouchListener
Intent i = new Intent(MainActivity.this, DetailActivity.class);
i.putExtra("title", movies.get(position).getTitle());
i.putExtra("date", movies.get(position).getReleaseDate());
i.putExtra("vote", movies.get(position).getVoteAverage().toString());
i.putExtra("overview", movies.get(position).getOverview());
i.putExtra("bg", movies.get(position).getPosterPath());
MainActivity.this.startActivity(i);
Keseluruhan dari MainActivity akan nampak seperti berikut ini
package com.blogsetyaaji.retrofithttplibrary;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;
import com.blogsetyaaji.retrofithttplibrary.Adapter.MoviesAdapter;
import com.blogsetyaaji.retrofithttplibrary.Model.Movie;
import com.blogsetyaaji.retrofithttplibrary.Model.MovieResponse;
import com.blogsetyaaji.retrofithttplibrary.Rest.ApiClient;
import com.blogsetyaaji.retrofithttplibrary.Rest.ApiInterface;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
// TODO - insert your themoviedb.org API KEY here
private final static String API_KEY = "e5013e88aad0bad4821bdac93d1d6a30";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (API_KEY.isEmpty()) {
Toast.makeText(getApplicationContext(), "Please obtain your API KEY first from themoviedb.org", Toast.LENGTH_LONG).show();
return;
}
final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.movie_recycler);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
ApiInterface apiService =
ApiClient.getClient().create(ApiInterface.class);
Call<MovieResponse> call = apiService.getTopRatedMovies(API_KEY);
call.enqueue(new Callback<MovieResponse>() {
@Override
public void onResponse(Call<MovieResponse>call, Response<MovieResponse> response) {
final List<Movie> movies = response.body().getResults();
Log.d(TAG, "Number of movies received: " + movies.size());
Toast.makeText(MainActivity.this, "Number of movies received: " + movies.size(), Toast.LENGTH_LONG).show();
recyclerView.setAdapter(new MoviesAdapter(movies, R.layout.list_item_movie, getApplicationContext()));
/*perintah klik recyclerview*/
recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
GestureDetector gestureDetector = new GestureDetector(getApplicationContext(), new GestureDetector.SimpleOnGestureListener() {
public boolean onSingleTapUp(MotionEvent e){
return true;
}
});
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
View child = rv.findChildViewUnder(e.getX(), e.getY());
if (child != null && gestureDetector.onTouchEvent(e)){
int position = rv.getChildAdapterPosition(child);
Toast.makeText(getApplicationContext(), "Id : " + movies.get(position).getId() + " selected", Toast.LENGTH_SHORT).show();
Intent i = new Intent(MainActivity.this, DetailActivity.class);
i.putExtra("title", movies.get(position).getTitle());
i.putExtra("date", movies.get(position).getReleaseDate());
i.putExtra("vote", movies.get(position).getVoteAverage().toString());
i.putExtra("overview", movies.get(position).getOverview());
i.putExtra("bg", movies.get(position).getPosterPath());
MainActivity.this.startActivity(i);
}
return false;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});
}
@Override
public void onFailure(Call<MovieResponse>call, Throwable t) {
// Log error here since request failed
Log.e(TAG, t.toString());
}
});
}
}
Di dalam kode MainActivity tersebut, terdapat kode Intent dimana dia mengirimkan objek JSON dengan memanggil variablenya. Selanjutnya kita buat tampilan pada activity detail, di dalamnya kita akan menampilkan data lebih di dalamnya seperti gambar, judul, deskripsi dll. untuk membuatnya, pada activity_detail.xml, atur layoutnya seperti berikut ini
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="com.blogsetyaaji.retrofithttplibrary.DetailActivity">
<LinearLayout
android:id="@+id/lay1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/bg"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_gravity="center_horizontal"
android:background="#000" />
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp">
<LinearLayout
android:id="@+id/lay2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ID"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/rating_image"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
android:src="@drawable/star"
android:tint="@color/colorAccent" />
<TextView
android:id="@+id/txtrating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:text="5.0"
android:textSize="20sp" />
</LinearLayout>
<TextView
android:id="@+id/txtDescrip"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_below="@id/lay2"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:layout_marginTop="10dp"
android:text="Description" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</ScrollView>
Jika sudah, selanjutnya berpindah ke DetailActivity.java dan buat kodenya seperti berikut ini
package com.blogsetyaaji.retrofithttplibrary;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import org.w3c.dom.Text;
public class DetailActivity extends AppCompatActivity {
public TextView txtTitle, txtoverview, txtdate, txtvote;
public ImageView bg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
txtTitle = (TextView) findViewById(R.id.txtTitle);
txtTitle.setText(getIntent().getStringExtra("title"));
txtdate = (TextView) findViewById(R.id.txtDate);
txtdate.setText(getIntent().getStringExtra("date"));
txtoverview = (TextView) findViewById(R.id.txtDescrip);
txtoverview.setText(getIntent().getStringExtra("overview"));
txtvote = (TextView) findViewById(R.id.txtrating);
txtvote.setText(getIntent().getStringExtra("vote"));
bg = (ImageView) findViewById(R.id.bg);
Picasso.with(this)
.load("https://image.tmdb.org/t/p/w300_and_h450_bestv2" + getIntent().getStringExtra("bg"))
.resize(200, 300)
.into(bg);
}
}
Pada kode di atas, DetaiActivity akan menerima kiriman dari activity sebelumnya dengan kode getStringExtra lalu berubah objek pada activity Detai sesuai dengan nilai variable pada Json.
Untuk membuat agar tampilanya lebih bagus dan kegunaanya makin bagus, kita tambahkan tombol kembali di sebelah kiri pojok. Caranya sangat mudah sekali, hanya dengan membuka AndroidManifest.xml dan tambahkan kode parent di dalam tag application seperti berikut ini
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.blogsetyaaji.retrofithttplibrary">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DetailActivity"
android:parentActivityName=".MainActivity"></activity>
</application>
</manifest>
Jika sudah, jalankan aplikasinya dengan memilih menu Run 'app', mkaa tampilanya akan seperti berikut ini
Dan itu lha cara mengirim objek JSON ke activity lain.
Sekian artikel tentang Mengirim JSONObject ke Activity Lain Mengunakan Intent, semoga bermanfaat.
Thus the article Mengirim JSONObject ke Activity Lain Mengunakan Intent
Sekianlah artikel
Mengirim JSONObject ke Activity Lain Mengunakan Intent
This article will be useful for you all. okay, see you in other article posting. Jangan lupa untuk berkunjung terus di Android World | Segalanya tentang Dunia Android berbagi Android MOD APK, Free Download, Android Games, Android Applications, Android Software, Games.
You are now reading the article Mengirim JSONObject ke Activity Lain Mengunakan Intent with the link address https://serbaduniandroid.blogspot.com/2016/08/mengirim-jsonobject-ke-activity-lain.html
Jangan lupa berbagi ya ^_^ karna berbagi itu indah dan kutunggu komentar kamu
loading...
Related Posts :
Membuat Android Welcome Screen atau Splash ScreenHai sobat, di artikel kemari yang berjudul Membuat Animasi Floating Action Butoon, telah dijelaskan bagaimana cara membuat animasi pada obje… Read More...
Menampilkan Data MySQL menggunakan RecyclerView dan CardViewHai sobat, pada artikel kemarin yang berjudul Membuat Android Register dan Login Menggunakan AQuery dan MySQL, telah dijelskan cara membuat … Read More...
Aplikasi Login Register Session, CRUD PHP MySQL Android Studio - FinalHai sobat, video di bawah ini adalah hasil terakhir dari pembuatan Aplikasi Login Register Session, CRUD PHP MySQL di Android Studio. Semuan… Read More...
Menampilkan Data MySQL ke Aplikasi Android dengan Volley dan RecyclerViewHai sobat blog setya aji, kembali lagi dengan saya di tutorial android. Pada tutorial sebelumnya yang berjudul Menampilkan Data dari Databas… Read More...
Membuat Login Session Register Android PHP MYSQL Android StudioHai sobat, sudah setelah sekian lama meninggalkan bog ini karena tugas yang begitu banyak 😓, akhirnya sekarang saya punya kesempatan untuk … Read More...
0 Response to "Mengirim JSONObject ke Activity Lain Mengunakan Intent"
Post a Comment