Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. protected void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.activity_main);
  4.  
  5. gridView = (GridView) findViewById(R.id.gridView);
  6. gridAdapter = new GridViewAdapter(this, R.layout.grid_item_layout, getData());
  7. gridView.setAdapter(gridAdapter);
  8. }
  9.  
  10. private ArrayList<ImageItem> getData() {
  11. final ArrayList<ImageItem> imageItems = new ArrayList<>();
  12. TypedArray imgs = getResources().obtainTypedArray(R.array.image_ids);
  13. for (int i = 0; i < imgs.length(); i++) {
  14. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), imgs.getResourceId(i, -1));
  15. imageItems.add(new ImageItem(bitmap, "Image#" + i));
  16. }
  17. return imageItems;
  18. }
  19.  
  20. mItems = new ArrayList<GridViewItem>();
  21. Resources resources = getResources();
  22.  
  23. mItems.add(new GridViewItem(resources.getDrawable(R.drawable.aim), getString(R.string.aim)));
  24. :
  25. mItems.add(new GridViewItem(resources.getDrawable(R.drawable.youtube), getString(R.string.youtube)));
  26.  
  27. public class GridViewAdapter extends ArrayAdapter {
  28. private Context context;
  29. private int layoutResourceId;
  30. private ArrayList data = new ArrayList();
  31.  
  32. public GridViewAdapter(Context context, int layoutResourceId, ArrayList data) {
  33. super(context, layoutResourceId, data);
  34. this.layoutResourceId = layoutResourceId;
  35. this.context = context;
  36. this.data = data;
  37. }
  38.  
  39. @Override
  40. public View getView(int position, View convertView, ViewGroup parent) {
  41. View row = convertView;
  42. ViewHolder holder = null;
  43.  
  44. if (row == null) {
  45. LayoutInflater inflater = ((Activity) context).getLayoutInflater();
  46. row = inflater.inflate(layoutResourceId, parent, false);
  47. holder = new ViewHolder();
  48. holder.imageTitle = (TextView) row.findViewById(R.id.text);
  49. holder.image = (ImageView) row.findViewById(R.id.image);
  50. row.setTag(holder);
  51. } else {
  52. holder = (ViewHolder) row.getTag();
  53. }
  54.  
  55. ImageItem item = data.get(position);
  56. holder.imageTitle.setText(item.getTitle());
  57. holder.image.setImageBitmap(item.getImage());
  58.  
  59.  
  60. Picasso.
  61. with(mContext).
  62. load(ImageItem .Getimage())
  63. .placeholder(R.drawable.ic_launcher)
  64. .fit()
  65. .into(holder.imageView);
  66.  
  67. return row;
  68. }
  69.  
  70. static class ViewHolder {
  71. TextView imageTitle;
  72. ImageView image;
  73. }
  74. }
  75.  
  76. //Downloading data asynchronously
  77. public class AsyncHttpTask extends AsyncTask<String, Void, Integer> {
  78.  
  79. @Override
  80. protected Integer doInBackground(String... params) {
  81. Integer result = 0;
  82. try {
  83. // Create Apache HttpClient
  84. HttpClient httpclient = new DefaultHttpClient();
  85. HttpResponse httpResponse = httpclient.execute(new HttpGet(params[0]));
  86. int statusCode = httpResponse.getStatusLine().getStatusCode();
  87.  
  88. // 200 represents HTTP OK
  89. if (statusCode == 200) {
  90. String response = streamToString(httpResponse.getEntity().getContent());
  91. parseResult(response);
  92. result = 1; // Successful
  93. } else {
  94. result = 0; //"Failed
  95. }
  96. } catch (Exception e) {
  97. Log.d(TAG, e.getLocalizedMessage());
  98. }
  99. return result;
  100. }
  101.  
  102. @Override
  103. protected void onPostExecute(Integer result) {
  104. // Download complete. Let us update UI
  105. if (result == 1) {
  106. mGridAdapter.setGridData(mGridImages);
  107. mGridAdapter.notifyDataSetChanged();
  108. } else {
  109. Toast.makeText(MainActivity.this, "No Connection found,Check your Connection!", Toast.LENGTH_SHORT).show();
  110. }
  111. mProgressBar.setVisibility(View.GONE);
  112. }
  113. }
  114.  
  115. String streamToString(InputStream stream) throws IOException {
  116. BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
  117. String line;
  118. String result = "";
  119. while ((line = bufferedReader.readLine()) != null) {
  120. result += line;
  121. }
  122.  
  123. // Close stream
  124. if (null != stream) {
  125. stream.close();
  126. }
  127. return result;
  128. }
  129.  
  130. /**
  131. * Parsing the feed results and get the list
  132. * @param result
  133. */
  134. private void parseResult(String result) {
  135. try {
  136.  
  137. JSONObject response = new JSONObject(result);
  138. JSONArray posts = response.optJSONArray("result");
  139. GridImages item;
  140. for (int i = 0; i < posts.length(); i++) {
  141. JSONObject post = posts.optJSONObject(i);
  142. String title = post.optString("name");
  143. String image=post.optString("path");
  144. item = new GridImages();
  145. item.Settitle(title);
  146. item.Setimage(image);
  147. // JSONArray attachments = post.getJSONArray("attachments");
  148. // if (null != attachments && attachments.length() > 0) {
  149. // JSONObject attachment = attachments.getJSONObject(0);
  150. // if (attachment != null)
  151. // item.Setimage(attachment.getString("url"));
  152. //}
  153. mGridImages.add(item);
  154. }
  155. } catch (JSONException e) {
  156. e.printStackTrace();
  157. }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement