Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.skripsi.axioo.percobaan5;
- import android.app.SearchManager;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Build;
- import android.support.annotation.RequiresApi;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.Toolbar;
- import android.util.Log;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.RatingBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.android.volley.Request;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.JsonArrayRequest;
- import com.android.volley.toolbox.Volley;
- import com.daimajia.slider.library.Animations.DescriptionAnimation;
- import com.daimajia.slider.library.SliderLayout;
- import com.daimajia.slider.library.SliderTypes.BaseSliderView;
- import com.daimajia.slider.library.SliderTypes.TextSliderView;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.HashMap;
- import java.util.Objects;
- public class DetailSekolah extends AppCompatActivity {
- TextView studioName, studioAddress, studioPrice, studioHour, studioAlatMusik, studioUpdate;
- RatingBar ratingBarAlat, ratingBarRec, ratingBarTmpt;
- public static String id;
- public static String namaStudio;
- public static String alamat;
- public static String harga;
- public static String jam;
- public static String alatmusik;
- public static String lastUpdate;
- public static String gambar;
- public static String callSave;
- public static String ratingAlat;
- public static String ratingRec;
- public static Double latitude;
- public static Double longitude;
- public static String ratingTmpt;
- SliderLayout mDemoSlider;
- private static final String TAG = "ListDislay";
- private ImageView callPhone, callShare;
- private ImageView web;
- private Intent intent;
- //Set favorite dan Insert data dari API ke Sqlite database
- private DBDataSource db;
- private boolean favorite;
- @RequiresApi(api = Build.VERSION_CODES.KITKAT)
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_detail_sekolah);
- final Toolbar toolbar = (Toolbar) findViewById(R.id.anim_toolbar);
- setSupportActionBar(toolbar);
- Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
- getSupportActionBar().setHomeButtonEnabled(true);
- ratingBarAlat = (RatingBar) findViewById(R.id.rating_alatmusik);
- ratingBarRec = (RatingBar) findViewById(R.id.rating_recording);
- ratingBarTmpt = (RatingBar) findViewById(R.id.rating_tempat);
- ratingBarAlat.setRating(Float.parseFloat(ratingAlat));
- ratingBarRec.setRating(Float.parseFloat(ratingRec));
- ratingBarTmpt.setRating(Float.parseFloat(ratingTmpt));
- studioName = (TextView) findViewById(R.id.studioname);
- studioAddress = (TextView) findViewById(R.id.studio_address);
- studioPrice = (TextView) findViewById(R.id.studio_price);
- studioHour = (TextView) findViewById(R.id.studio_hour);
- studioAlatMusik = (TextView) findViewById(R.id.textalatmusik);
- studioUpdate = (TextView) findViewById(R.id.lastupdate);
- studioName.setText(namaStudio);
- studioAddress.setText(alamat);
- studioPrice.setText(harga);
- studioHour.setText(jam);
- studioAlatMusik.setText(alatmusik);
- studioUpdate.setText(lastUpdate);
- mDemoSlider = (SliderLayout) findViewById(R.id.slider);
- //- telepon
- callPhone = (ImageView) findViewById(R.id.call_button);
- callPhone.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AlertDialog.Builder builder = new AlertDialog.Builder(DetailSekolah.this);
- builder.setMessage("Call " + callSave + " ?");
- builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Intent i = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + callSave));
- try {
- startActivity(i);
- } catch (SecurityException se) {
- Toast.makeText(DetailSekolah.this, "Permission Denied", Toast.LENGTH_SHORT).show();
- }
- }
- });
- builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- AlertDialog alert = builder.create();
- alert.show();
- }
- });
- //Button SHARE
- callShare = (ImageView) findViewById(R.id.share_button);
- callShare.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
- sharingIntent.setType("text/plain");
- String shareBody = namaStudio + "\n\n"
- + " "
- + "Alamat:" + "\n" + alamat + "\n\n"
- + " "
- + "Jam Operasional:" + "\n" + jam + "\n\n"
- + " "
- + "website:" + "\n" + harga + "\n\n"
- + " "
- + "fasilitas:" + "\n" + alatmusik + "\n\n"
- + " "
- + "No Telepon:" + "\n" + callSave + "\n\n"
- + " "
- + "Update Terakhir:" + "\n" + lastUpdate + "\n\n"
- + " "
- + "Lokasi Sekolah:" + "\n" +
- "http://maps.google.com/?q=" + latitude + "," + longitude + "\n\n"
- + " "
- + "'Semoga anda menemukan sekolah yang anda tuju'";
- sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");
- sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
- startActivity(Intent.createChooser(sharingIntent, "Pilih Aplikasi"));
- }
- });
- //-- web
- web = (ImageView) findViewById(R.id.web_link);
- web.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AlertDialog.Builder builder = new AlertDialog.Builder(DetailSekolah.this);
- builder.setMessage("ingin membuka web? " + harga + " ?");
- builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Intent i = new Intent(Intent.ACTION_WEB_SEARCH);
- i.putExtra(SearchManager.QUERY, harga);
- try {
- startActivity(i);
- } catch (SecurityException se) {
- Toast.makeText(DetailSekolah.this, "Permission Denied", Toast.LENGTH_SHORT).show();
- }
- }
- });
- builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- AlertDialog alert = builder.create();
- alert.show();
- }
- });
- //--
- //Set favorite dan Insert data dari API ke Sqlite database
- db = new DBDataSource(this);
- db.open();
- //Cek fav
- //android:onClick="onMapSearch" ( tempel ini di activity map bagian on searc/cari )
- favorite = db.isFavorite(Integer.valueOf(id));
- //buttonff
- final ImageView buttonf = (ImageView) findViewById(R.id.favbuttonwhite);
- if (favorite) {
- buttonf.setImageResource(R.drawable.favoritmark);
- }
- else {
- buttonf.setImageResource(R.drawable.favoritunmark);
- }
- buttonf.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- Log.i("CEK", String.valueOf(favorite));
- if (favorite) {
- buttonf.setImageResource(R.drawable.favoritunmark);
- db.deleteStudioMusik(Integer.valueOf(id));
- favorite = false;
- }
- else {
- buttonf.setImageResource(R.drawable.favoritmark);
- favorite = true;
- if (db.insertStudioMusik(id,namaStudio,alamat,harga,gambar,
- jam,callSave,alatmusik,lastUpdate,ratingAlat,ratingRec,ratingTmpt,
- latitude,longitude)) {
- }
- else {
- }
- }
- }
- });
- getGambar();
- }
- private void getGambar() {
- String url = "https://arizalway.000webhostapp.com/api/getgambar.php?StudioMusik="+id;
- Log.i(TAG, url);
- JsonArrayRequest request = new JsonArrayRequest
- (Request.Method.GET, url, new Response.Listener<JSONArray>() {
- @Override
- public void onResponse(JSONArray response) {
- int numData = response.length();
- if (numData == 0) mDemoSlider.setVisibility(View.GONE);
- else {
- JSONObject slider_studio;
- Log.i(TAG, "On Response Get Gambar");
- String[] gambar_studio = new String[numData], nama_studio = new String[numData];
- HashMap<String, String> url_maps = new HashMap<>();
- for (int i = 0; i < numData; i++) {
- try {
- slider_studio = response.getJSONObject(i);
- nama_studio[i] = slider_studio.getString("nama");
- gambar_studio[i] = slider_studio.getString("gambar");
- url_maps.put(nama_studio[i], "https://arizalway.000webhostapp.com/api/slider_studio/"+gambar_studio[i]);
- } catch (JSONException je) {
- Toast.makeText(DetailSekolah.this, "JSON ERROR", Toast.LENGTH_SHORT).show();
- }
- }
- for (String nama : url_maps.keySet()) {
- TextSliderView textSliderView = new TextSliderView(DetailSekolah.this);
- textSliderView.description(nama).image(url_maps.get(nama)).setScaleType(BaseSliderView.ScaleType.Fit);
- textSliderView.bundle(new Bundle());
- textSliderView.getBundle().putString("extra", nama);
- mDemoSlider.addSlider(textSliderView);
- mDemoSlider.setPresetTransformer(SliderLayout.Transformer.ZoomOut);
- mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
- mDemoSlider.setCustomAnimation(new DescriptionAnimation());
- mDemoSlider.setDuration(4000);
- }
- }
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- }
- });
- Volley.newRequestQueue(this).add(request);
- }
- @Override
- public void onBackPressed() {
- Intent intent = new Intent(this, MapsActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- finish();
- }
- //untuk tombol back
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- // app icon in action bar clicked; go home
- Intent intent = new Intent(this, MapsActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement