mhnds

Untitled

Oct 23rd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.85 KB | None | 0 0
  1. package com.example.innovare.scrollhorizontal;
  2.  
  3. import android.annotation.TargetApi;
  4. import android.app.ProgressDialog;
  5. import android.content.Intent;
  6. import android.graphics.Bitmap;
  7. import android.graphics.BitmapFactory;
  8. import android.graphics.Canvas;
  9. import android.graphics.Color;
  10. import android.graphics.Paint;
  11. import android.graphics.PorterDuff;
  12. import android.graphics.PorterDuffXfermode;
  13. import android.graphics.Rect;
  14. import android.graphics.RectF;
  15. import android.os.AsyncTask;
  16. import android.os.Build;
  17. import android.os.Bundle;
  18. import android.provider.Contacts;
  19. import android.support.design.widget.FloatingActionButton;
  20. import android.support.design.widget.Snackbar;
  21. import android.support.v7.app.AppCompatActivity;
  22. import android.support.v7.widget.Toolbar;
  23. import android.util.Log;
  24. import android.view.LayoutInflater;
  25. import android.view.View;
  26. import android.view.Menu;
  27. import android.view.MenuItem;
  28. import android.view.ViewGroup;
  29. import android.view.animation.Animation;
  30. import android.view.animation.AnimationUtils;
  31. import android.view.animation.TranslateAnimation;
  32. import android.widget.Button;
  33. import android.widget.Gallery;
  34. import android.widget.HorizontalScrollView;
  35. import android.widget.ImageView;
  36. import android.widget.LinearLayout;
  37. import android.widget.ListAdapter;
  38. import android.widget.RelativeLayout;
  39. import android.widget.SimpleAdapter;
  40. import android.widget.TextView;
  41. import android.widget.Toast;
  42.  
  43. import org.json.JSONArray;
  44. import org.json.JSONException;
  45. import org.json.JSONObject;
  46. import org.w3c.dom.Text;
  47.  
  48. import java.io.IOException;
  49. import java.io.InputStream;
  50. import java.util.ArrayList;
  51. import java.util.HashMap;
  52. import java.util.logging.Handler;
  53.  
  54. public class MainActivity extends AppCompatActivity {
  55.  
  56.  
  57. ObservableScrollView soriscroll;
  58. JSONObject jsonobject;
  59. JSONArray jsonarray;
  60. TextView text;
  61. LinearLayout linear_view;
  62. TextView scroll_point;
  63. LinearLayout linear3;
  64.  
  65.  
  66. //private static String url = "http://www.androidbegin.com/tutorial/jsonparsetutorial.txt";
  67. //private static String url = "http://www.mocky.io/v2/59a94ceb100000200c3e0a78";
  68. //private static String url = "https://pastebin.com/raw/bPzqq2Kd";
  69. //private static String url = "https://pastebin.com/raw/e4ZZmwuC";
  70. private static String url = "https://pastebin.com/raw/MWTj6rzZ";
  71.  
  72. boolean count = true;
  73.  
  74. RelativeLayout relative = null;
  75.  
  76. @Override
  77. protected void onCreate(Bundle savedInstanceState) {
  78. super.onCreate(savedInstanceState);
  79. setContentView(R.layout.activity_main);
  80. new downloadData().execute();
  81. relative = (RelativeLayout) findViewById(R.id.relative);
  82. linear_view = (LinearLayout) findViewById(R.id.linear_view);
  83. }
  84.  
  85.  
  86. private class downloadData extends AsyncTask<Void, Void, Void> {
  87. ProgressDialog pDialog = null;
  88. String text1 = "";
  89. ArrayList<HashMap<String, String>> arrayList = new ArrayList<>();
  90.  
  91. @Override
  92. protected void onPreExecute() {
  93. super.onPreExecute();
  94. if (count) {
  95. pDialog = new ProgressDialog(MainActivity.this);
  96.  
  97. }
  98.  
  99. }
  100.  
  101. @Override
  102. protected Void doInBackground(Void... params) {
  103. ServiceHandler sh = new ServiceHandler();
  104.  
  105. String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);
  106.  
  107. Log.d("Response: ", "> " + jsonStr);
  108.  
  109. if (jsonStr != null) {
  110. try {
  111. JSONObject jsonObj = new JSONObject(jsonStr);
  112.  
  113. jsonarray = jsonObj.getJSONArray("worldpopulation");
  114. for (int i = 0; i < jsonarray.length(); i++) {
  115. HashMap<String, String> map = new HashMap<String, String>();
  116. jsonobject = jsonarray.getJSONObject(i);
  117. String author = jsonobject.getString("author");
  118. String photo = jsonobject.getString("photo");
  119. addToLinearLayout("", author, "", photo);
  120. }
  121.  
  122. } catch (JSONException e) {
  123. e.printStackTrace();
  124. }
  125. }
  126.  
  127. return null;
  128. }
  129.  
  130. @Override
  131. protected void onPostExecute(Void result) {
  132. super.onPostExecute(result);
  133. // Dismiss the progress dialog
  134. if (count) {
  135. if (pDialog.isShowing())
  136. pDialog.dismiss();
  137. count = false;
  138. }
  139. }
  140. }
  141.  
  142. private void addToLinearLayout(String text1, final String text2, String text3, String text4) {
  143.  
  144.  
  145. LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
  146. final View v = inflater.inflate(R.layout.scroll_element, linear_view, false);
  147.  
  148. TextView tv = (TextView) v.findViewById(R.id.rank);
  149. final TextView tv2 = (TextView) v.findViewById(R.id.name);
  150. TextView tv3 = (TextView) v.findViewById(R.id.population);
  151. ImageView iv = (ImageView) v.findViewById(R.id.imagelink);
  152. InputStream input = null;
  153. Bitmap bitmap = null;
  154. try {
  155. input = new java.net.URL(text4).openStream();
  156. bitmap = BitmapFactory.decodeStream(input);
  157. } catch (IOException e) {
  158. e.printStackTrace();
  159. }
  160.  
  161. tv.setText(text1);
  162. tv2.setText(text2);
  163. tv3.setText(text3);
  164. iv.setImageBitmap(bitmap);
  165.  
  166. v.setOnClickListener(new View.OnClickListener() {
  167. @Override
  168. public void onClick(View v) {
  169. scroll_point.setText(text2);
  170. }
  171. });
  172. runOnUiThread(new Runnable() {
  173. @Override
  174. public void run() {
  175. linear_view.addView(v);
  176. }
  177. });
  178. }
  179. }
Advertisement
Add Comment
Please, Sign In to add comment