Last active
December 7, 2018 15:13
-
-
Save yuristianto/cfb6347704f3b834b085019b39ddd4e0 to your computer and use it in GitHub Desktop.
asd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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