Advertisement
lala6666

sliderlayout

Jul 17th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.16 KB | None | 0 0
  1. package com.skripsi.axioo.percobaan5;
  2.  
  3. import android.app.SearchManager;
  4. import android.content.DialogInterface;
  5. import android.content.Intent;
  6. import android.net.Uri;
  7. import android.os.Build;
  8. import android.support.annotation.RequiresApi;
  9. import android.support.v7.app.AlertDialog;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.os.Bundle;
  12. import android.support.v7.widget.Toolbar;
  13. import android.util.Log;
  14. import android.view.MenuItem;
  15. import android.view.View;
  16. import android.widget.Button;
  17. import android.widget.ImageView;
  18. import android.widget.RatingBar;
  19. import android.widget.TextView;
  20. import android.widget.Toast;
  21.  
  22.  
  23. import com.android.volley.Request;
  24. import com.android.volley.Response;
  25. import com.android.volley.VolleyError;
  26. import com.android.volley.toolbox.JsonArrayRequest;
  27. import com.android.volley.toolbox.Volley;
  28. import com.daimajia.slider.library.Animations.DescriptionAnimation;
  29. import com.daimajia.slider.library.SliderLayout;
  30. import com.daimajia.slider.library.SliderTypes.BaseSliderView;
  31. import com.daimajia.slider.library.SliderTypes.TextSliderView;
  32.  
  33. import org.json.JSONArray;
  34. import org.json.JSONException;
  35. import org.json.JSONObject;
  36.  
  37. import java.util.HashMap;
  38. import java.util.Objects;
  39.  
  40. public class DetailSekolah extends AppCompatActivity {
  41.  
  42. TextView studioName, studioAddress, studioPrice, studioHour, studioAlatMusik, studioUpdate;
  43. RatingBar ratingBarAlat, ratingBarRec, ratingBarTmpt;
  44.  
  45. public static String id;
  46. public static String namaStudio;
  47. public static String alamat;
  48. public static String harga;
  49. public static String jam;
  50. public static String alatmusik;
  51. public static String lastUpdate;
  52. public static String gambar;
  53. public static String callSave;
  54. public static String ratingAlat;
  55. public static String ratingRec;
  56. public static Double latitude;
  57. public static Double longitude;
  58. public static String ratingTmpt;
  59. SliderLayout mDemoSlider;
  60. private static final String TAG = "ListDislay";
  61. private ImageView callPhone, callShare;
  62. private ImageView web;
  63. private Intent intent;
  64. //Set favorite dan Insert data dari API ke Sqlite database
  65. private DBDataSource db;
  66. private boolean favorite;
  67.  
  68.  
  69. @RequiresApi(api = Build.VERSION_CODES.KITKAT)
  70. @Override
  71. protected void onCreate(Bundle savedInstanceState) {
  72. super.onCreate(savedInstanceState);
  73. setContentView(R.layout.activity_detail_sekolah);
  74.  
  75.  
  76. final Toolbar toolbar = (Toolbar) findViewById(R.id.anim_toolbar);
  77. setSupportActionBar(toolbar);
  78. Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
  79. getSupportActionBar().setHomeButtonEnabled(true);
  80.  
  81. ratingBarAlat = (RatingBar) findViewById(R.id.rating_alatmusik);
  82. ratingBarRec = (RatingBar) findViewById(R.id.rating_recording);
  83. ratingBarTmpt = (RatingBar) findViewById(R.id.rating_tempat);
  84.  
  85. ratingBarAlat.setRating(Float.parseFloat(ratingAlat));
  86. ratingBarRec.setRating(Float.parseFloat(ratingRec));
  87. ratingBarTmpt.setRating(Float.parseFloat(ratingTmpt));
  88.  
  89. studioName = (TextView) findViewById(R.id.studioname);
  90. studioAddress = (TextView) findViewById(R.id.studio_address);
  91. studioPrice = (TextView) findViewById(R.id.studio_price);
  92. studioHour = (TextView) findViewById(R.id.studio_hour);
  93. studioAlatMusik = (TextView) findViewById(R.id.textalatmusik);
  94. studioUpdate = (TextView) findViewById(R.id.lastupdate);
  95.  
  96. studioName.setText(namaStudio);
  97. studioAddress.setText(alamat);
  98. studioPrice.setText(harga);
  99. studioHour.setText(jam);
  100. studioAlatMusik.setText(alatmusik);
  101. studioUpdate.setText(lastUpdate);
  102.  
  103. mDemoSlider = (SliderLayout) findViewById(R.id.slider);
  104.  
  105. //- telepon
  106. callPhone = (ImageView) findViewById(R.id.call_button);
  107. callPhone.setOnClickListener(new View.OnClickListener() {
  108. @Override
  109. public void onClick(View v) {
  110. AlertDialog.Builder builder = new AlertDialog.Builder(DetailSekolah.this);
  111. builder.setMessage("Call " + callSave + " ?");
  112. builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
  113. @Override
  114. public void onClick(DialogInterface dialog, int which) {
  115. Intent i = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + callSave));
  116. try {
  117. startActivity(i);
  118. } catch (SecurityException se) {
  119. Toast.makeText(DetailSekolah.this, "Permission Denied", Toast.LENGTH_SHORT).show();
  120. }
  121. }
  122. });
  123. builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
  124. @Override
  125. public void onClick(DialogInterface dialog, int which) {
  126.  
  127. }
  128. });
  129. AlertDialog alert = builder.create();
  130. alert.show();
  131. }
  132. });
  133.  
  134.  
  135. //Button SHARE
  136. callShare = (ImageView) findViewById(R.id.share_button);
  137. callShare.setOnClickListener(new View.OnClickListener() {
  138. @Override
  139. public void onClick(View v) {
  140. Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
  141. sharingIntent.setType("text/plain");
  142. String shareBody = namaStudio + "\n\n"
  143. + " "
  144. + "Alamat:" + "\n" + alamat + "\n\n"
  145. + " "
  146. + "Jam Operasional:" + "\n" + jam + "\n\n"
  147. + " "
  148. + "website:" + "\n" + harga + "\n\n"
  149. + " "
  150. + "fasilitas:" + "\n" + alatmusik + "\n\n"
  151. + " "
  152. + "No Telepon:" + "\n" + callSave + "\n\n"
  153. + " "
  154. + "Update Terakhir:" + "\n" + lastUpdate + "\n\n"
  155. + " "
  156. + "Lokasi Sekolah:" + "\n" +
  157. "http://maps.google.com/?q=" + latitude + "," + longitude + "\n\n"
  158. + " "
  159. + "'Semoga anda menemukan sekolah yang anda tuju'";
  160. sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");
  161. sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
  162. startActivity(Intent.createChooser(sharingIntent, "Pilih Aplikasi"));
  163. }
  164. });
  165.  
  166. //-- web
  167. web = (ImageView) findViewById(R.id.web_link);
  168. web.setOnClickListener(new View.OnClickListener() {
  169. @Override
  170. public void onClick(View v) {
  171. AlertDialog.Builder builder = new AlertDialog.Builder(DetailSekolah.this);
  172. builder.setMessage("ingin membuka web? " + harga + " ?");
  173. builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
  174. @Override
  175. public void onClick(DialogInterface dialog, int which) {
  176. Intent i = new Intent(Intent.ACTION_WEB_SEARCH);
  177. i.putExtra(SearchManager.QUERY, harga);
  178. try {
  179. startActivity(i);
  180. } catch (SecurityException se) {
  181. Toast.makeText(DetailSekolah.this, "Permission Denied", Toast.LENGTH_SHORT).show();
  182. }
  183. }
  184. });
  185. builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
  186. @Override
  187. public void onClick(DialogInterface dialog, int which) {
  188.  
  189. }
  190. });
  191. AlertDialog alert = builder.create();
  192. alert.show();
  193. }
  194. });
  195.  
  196. //--
  197.  
  198. //Set favorite dan Insert data dari API ke Sqlite database
  199. db = new DBDataSource(this);
  200. db.open();
  201.  
  202. //Cek fav
  203.  
  204. //android:onClick="onMapSearch" ( tempel ini di activity map bagian on searc/cari )
  205. favorite = db.isFavorite(Integer.valueOf(id));
  206. //buttonff
  207. final ImageView buttonf = (ImageView) findViewById(R.id.favbuttonwhite);
  208. if (favorite) {
  209. buttonf.setImageResource(R.drawable.favoritmark);
  210. }
  211. else {
  212. buttonf.setImageResource(R.drawable.favoritunmark);
  213. }
  214. buttonf.setOnClickListener(new Button.OnClickListener() {
  215. public void onClick(View v) {
  216. Log.i("CEK", String.valueOf(favorite));
  217. if (favorite) {
  218. buttonf.setImageResource(R.drawable.favoritunmark);
  219. db.deleteStudioMusik(Integer.valueOf(id));
  220. favorite = false;
  221. }
  222. else {
  223. buttonf.setImageResource(R.drawable.favoritmark);
  224. favorite = true;
  225.  
  226. if (db.insertStudioMusik(id,namaStudio,alamat,harga,gambar,
  227. jam,callSave,alatmusik,lastUpdate,ratingAlat,ratingRec,ratingTmpt,
  228. latitude,longitude)) {
  229. }
  230. else {
  231.  
  232. }
  233. }
  234. }
  235. });
  236.  
  237. getGambar();
  238. }
  239.  
  240. private void getGambar() {
  241. String url = "https://arizalway.000webhostapp.com/api/getgambar.php?StudioMusik="+id;
  242. Log.i(TAG, url);
  243. JsonArrayRequest request = new JsonArrayRequest
  244. (Request.Method.GET, url, new Response.Listener<JSONArray>() {
  245. @Override
  246. public void onResponse(JSONArray response) {
  247. int numData = response.length();
  248. if (numData == 0) mDemoSlider.setVisibility(View.GONE);
  249. else {
  250. JSONObject slider_studio;
  251. Log.i(TAG, "On Response Get Gambar");
  252. String[] gambar_studio = new String[numData], nama_studio = new String[numData];
  253. HashMap<String, String> url_maps = new HashMap<>();
  254. for (int i = 0; i < numData; i++) {
  255. try {
  256. slider_studio = response.getJSONObject(i);
  257. nama_studio[i] = slider_studio.getString("nama");
  258. gambar_studio[i] = slider_studio.getString("gambar");
  259. url_maps.put(nama_studio[i], "https://arizalway.000webhostapp.com/api/slider_studio/"+gambar_studio[i]);
  260. } catch (JSONException je) {
  261. Toast.makeText(DetailSekolah.this, "JSON ERROR", Toast.LENGTH_SHORT).show();
  262. }
  263. }
  264. for (String nama : url_maps.keySet()) {
  265. TextSliderView textSliderView = new TextSliderView(DetailSekolah.this);
  266. textSliderView.description(nama).image(url_maps.get(nama)).setScaleType(BaseSliderView.ScaleType.Fit);
  267. textSliderView.bundle(new Bundle());
  268. textSliderView.getBundle().putString("extra", nama);
  269. mDemoSlider.addSlider(textSliderView);
  270. mDemoSlider.setPresetTransformer(SliderLayout.Transformer.ZoomOut);
  271. mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
  272. mDemoSlider.setCustomAnimation(new DescriptionAnimation());
  273. mDemoSlider.setDuration(4000);
  274.  
  275. }
  276. }
  277. }
  278. },
  279. new Response.ErrorListener() {
  280. @Override
  281. public void onErrorResponse(VolleyError error) {
  282. }
  283. });
  284. Volley.newRequestQueue(this).add(request);
  285. }
  286.  
  287. @Override
  288. public void onBackPressed() {
  289. Intent intent = new Intent(this, MapsActivity.class);
  290. intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  291. startActivity(intent);
  292. finish();
  293. }
  294.  
  295. //untuk tombol back
  296. @Override
  297. public boolean onOptionsItemSelected(MenuItem item) {
  298. switch (item.getItemId()) {
  299. case android.R.id.home:
  300. // app icon in action bar clicked; go home
  301. Intent intent = new Intent(this, MapsActivity.class);
  302. intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  303. startActivity(intent);
  304. return true;
  305. default:
  306. return super.onOptionsItemSelected(item);
  307. }
  308. }
  309. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement