Skip to content

Instantly share code, notes, and snippets.

@yuristianto
Last active December 7, 2018 15:13
Show Gist options
  • Save yuristianto/cfb6347704f3b834b085019b39ddd4e0 to your computer and use it in GitHub Desktop.
Save yuristianto/cfb6347704f3b834b085019b39ddd4e0 to your computer and use it in GitHub Desktop.
asd
package com.appku.noverio.appku.activities;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuItem;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;
import com.appku.noverio.appku.R;
import com.appku.noverio.appku.adapters.RecyclerViewAdapter;
import com.appku.noverio.appku.model.Hero;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {
private List<Hero> listHero ;
private RecyclerView recyclerView;
private SearchView searchView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listHero = new ArrayList<>();
recyclerView = findViewById(R.id.rcv);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
jsonrequest();
}
public boolean onCreateOptionsMenu (Menu menu) {
getMenuInflater().inflate(R.menu.menu_items, menu);
return true;
}
public boolean onOptionsItemSelected (MenuItem item) {
switch (item.getItemId()){
case R.id.tentang_id:
dialogTentang();
return true;
}switch (item.getItemId()){
case R.id.help_id:
Intent intent = new Intent(MainActivity.this, BantuanActivity.class);
startActivity(intent);
}switch (item.getItemId()){
case R.id.exit_id:
dialogKeluar();
return true;
}
return super.onOptionsItemSelected(item);
}
private void dialogTentang() {
new AlertDialog.Builder(this,R.style.AlertDialogTheme).setMessage("Copyright by Noverio Yuristianto \n" +
"Email : [email protected]")
.setNegativeButton("kembali", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt) {
}
})
.show();
}
private void dialogKeluar() {
new AlertDialog.Builder(this,R.style.AlertDialogTheme).setMessage("Apakah kamu yakin ingin keluar?")
.setPositiveButton("iya", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt) {
System.exit(0);
}
})
.setNegativeButton("tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt) {
}
})
.show();
}
private void jsonrequest() {
String JSON_URL = "https://gist.githubusercontent.com/yuristianto/d2b2f75292927f15b633d9f8a3bd4ec6/raw/8c0e7b69ab394e6d38a8831492db15a7f6be931c/hero.json";
JsonArrayRequest request = new JsonArrayRequest(JSON_URL, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
JSONObject jsonObject;
for (int i = 0; i < response.length(); i++) {
try {
jsonObject = response.getJSONObject(i);
Hero hero = new Hero();
hero.setNama(jsonObject.getString("nama"));
hero.setNama2(jsonObject.getString("nama2"));
hero.setKategori(jsonObject.getString("kategori"));
hero.setAsal(jsonObject.getString("asal"));
hero.setLahir(jsonObject.getString("lahir"));
hero.setUsia(jsonObject.getString("usia"));
hero.setGugur(jsonObject.getString("gugur"));
hero.setLokasimakam(jsonObject.getString("lokasimakam"));
hero.setHistory(jsonObject.getString("history"));
hero.setImg_url(jsonObject.getString("img"));
listHero.add(hero);
} catch (JSONException e) {
e.printStackTrace();
}
}
setuprecyclerview(listHero);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
requestQueue.add(request);
}
private void setuprecyclerview(List<Hero> listHero) {
RecyclerViewAdapter myadapter = new RecyclerViewAdapter(this,listHero);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(myadapter);
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
}
package com.appku.noverio.appku.adapters;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.appku.noverio.appku.R;
import com.appku.noverio.appku.activities.DetailActivity;
import com.appku.noverio.appku.model.Hero;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import java.util.List;
public class RecyclerViewAdapter extends RecyclerView.Adapter <RecyclerViewAdapter.MyViewHolder> {
private Context mContext;
private static List<Hero> mData;
private RequestOptions opsi;
public RecyclerViewAdapter(Context mContext, List<Hero> mData){
this.mContext = mContext;
RecyclerViewAdapter.mData = mData;
opsi = new RequestOptions().centerCrop().placeholder(R.drawable.load_shape).error(R.drawable.load_shape);
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
LayoutInflater inflater = LayoutInflater.from(mContext);
view = inflater.inflate(R.layout.hero_item,parent,false);
final MyViewHolder viewHolder = new MyViewHolder(view);
viewHolder.vw_container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(mContext, DetailActivity.class);
i.putExtra("hero_nama1",mData.get(viewHolder.getAdapterPosition()).getNama());
i.putExtra("hero_nama2",mData.get(viewHolder.getAdapterPosition()).getNama2());
i.putExtra("hero_kategori",mData.get(viewHolder.getAdapterPosition()).getKategori());
i.putExtra("hero_asal",mData.get(viewHolder.getAdapterPosition()).getAsal());
i.putExtra("hero_lahir",mData.get(viewHolder.getAdapterPosition()).getLahir());
i.putExtra("hero_usia",mData.get(viewHolder.getAdapterPosition()).getUsia());
i.putExtra("hero_gugur",mData.get(viewHolder.getAdapterPosition()).getGugur());
i.putExtra("hero_lokasimakam",mData.get(viewHolder.getAdapterPosition()).getLokasimakam());
i.putExtra("hero_history",mData.get(viewHolder.getAdapterPosition()).getHistory());
i.putExtra("hero_img",mData.get(viewHolder.getAdapterPosition()).getImg_url());
mContext.startActivity(i);
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.tv_nama.setText(mData.get(position).getNama());
holder.tv_nama2.setText(mData.get(position).getNama2());
holder.tv_kategori.setText(mData.get(position).getKategori());
Glide.with(mContext).load(mData.get(position).getImg_url()).apply(opsi).into(holder.gambar_url);
}
@Override
public int getItemCount() {
return mData.size();
}
static class MyViewHolder extends RecyclerView.ViewHolder {
TextView tv_nama,tv_nama2,tv_kategori;
ImageView gambar_url;
LinearLayout vw_container;
MyViewHolder(View itemView) {
super(itemView);
vw_container = itemView.findViewById(R.id.container);
tv_nama = itemView.findViewById(R.id.nama_hero1);
tv_nama2 = itemView.findViewById(R.id.nama_hero2);
tv_kategori = itemView.findViewById(R.id.kategori1);
gambar_url = itemView.findViewById(R.id.img_item);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment