Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- gridView = (GridView) findViewById(R.id.gridView);
- gridAdapter = new GridViewAdapter(this, R.layout.grid_item_layout, getData());
- gridView.setAdapter(gridAdapter);
- }
- private ArrayList<ImageItem> getData() {
- final ArrayList<ImageItem> imageItems = new ArrayList<>();
- TypedArray imgs = getResources().obtainTypedArray(R.array.image_ids);
- for (int i = 0; i < imgs.length(); i++) {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), imgs.getResourceId(i, -1));
- imageItems.add(new ImageItem(bitmap, "Image#" + i));
- }
- return imageItems;
- }
- mItems = new ArrayList<GridViewItem>();
- Resources resources = getResources();
- mItems.add(new GridViewItem(resources.getDrawable(R.drawable.aim), getString(R.string.aim)));
- :
- mItems.add(new GridViewItem(resources.getDrawable(R.drawable.youtube), getString(R.string.youtube)));
- public class GridViewAdapter extends ArrayAdapter {
- private Context context;
- private int layoutResourceId;
- private ArrayList data = new ArrayList();
- public GridViewAdapter(Context context, int layoutResourceId, ArrayList data) {
- super(context, layoutResourceId, data);
- this.layoutResourceId = layoutResourceId;
- this.context = context;
- this.data = data;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- View row = convertView;
- ViewHolder holder = null;
- if (row == null) {
- LayoutInflater inflater = ((Activity) context).getLayoutInflater();
- row = inflater.inflate(layoutResourceId, parent, false);
- holder = new ViewHolder();
- holder.imageTitle = (TextView) row.findViewById(R.id.text);
- holder.image = (ImageView) row.findViewById(R.id.image);
- row.setTag(holder);
- } else {
- holder = (ViewHolder) row.getTag();
- }
- ImageItem item = data.get(position);
- holder.imageTitle.setText(item.getTitle());
- holder.image.setImageBitmap(item.getImage());
- Picasso.
- with(mContext).
- load(ImageItem .Getimage())
- .placeholder(R.drawable.ic_launcher)
- .fit()
- .into(holder.imageView);
- return row;
- }
- static class ViewHolder {
- TextView imageTitle;
- ImageView image;
- }
- }
- //Downloading data asynchronously
- public class AsyncHttpTask extends AsyncTask<String, Void, Integer> {
- @Override
- protected Integer doInBackground(String... params) {
- Integer result = 0;
- try {
- // Create Apache HttpClient
- HttpClient httpclient = new DefaultHttpClient();
- HttpResponse httpResponse = httpclient.execute(new HttpGet(params[0]));
- int statusCode = httpResponse.getStatusLine().getStatusCode();
- // 200 represents HTTP OK
- if (statusCode == 200) {
- String response = streamToString(httpResponse.getEntity().getContent());
- parseResult(response);
- result = 1; // Successful
- } else {
- result = 0; //"Failed
- }
- } catch (Exception e) {
- Log.d(TAG, e.getLocalizedMessage());
- }
- return result;
- }
- @Override
- protected void onPostExecute(Integer result) {
- // Download complete. Let us update UI
- if (result == 1) {
- mGridAdapter.setGridData(mGridImages);
- mGridAdapter.notifyDataSetChanged();
- } else {
- Toast.makeText(MainActivity.this, "No Connection found,Check your Connection!", Toast.LENGTH_SHORT).show();
- }
- mProgressBar.setVisibility(View.GONE);
- }
- }
- String streamToString(InputStream stream) throws IOException {
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
- String line;
- String result = "";
- while ((line = bufferedReader.readLine()) != null) {
- result += line;
- }
- // Close stream
- if (null != stream) {
- stream.close();
- }
- return result;
- }
- /**
- * Parsing the feed results and get the list
- * @param result
- */
- private void parseResult(String result) {
- try {
- JSONObject response = new JSONObject(result);
- JSONArray posts = response.optJSONArray("result");
- GridImages item;
- for (int i = 0; i < posts.length(); i++) {
- JSONObject post = posts.optJSONObject(i);
- String title = post.optString("name");
- String image=post.optString("path");
- item = new GridImages();
- item.Settitle(title);
- item.Setimage(image);
- // JSONArray attachments = post.getJSONArray("attachments");
- // if (null != attachments && attachments.length() > 0) {
- // JSONObject attachment = attachments.getJSONObject(0);
- // if (attachment != null)
- // item.Setimage(attachment.getString("url"));
- //}
- mGridImages.add(item);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement