public
class
tools_main2
extends
AppCompatActivity {
private
GridView mGridView;
private
tools_adapter2 mGridAdapter;
private
ArrayList<tools_item2> mGridData;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.gridbase);
mGridView = (GridView) findViewById(R.id.gridView_base);
mGridData =
new
ArrayList<>();
mGridAdapter =
new
tools_adapter2(
this
, R.layout.tools_grid_view, mGridData);
mGridView.setAdapter(mGridAdapter);
new
AsyncHttpTask().execute(
""
);
}
public
class
AsyncHttpTask
extends
AsyncTask<String, Void, String> {
HttpURLConnection urlConnection;
StringBuilder result;
@Override
protected
String doInBackground(String... params) {
result =
new
StringBuilder();
urlConnection =
null
;
try
{
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
InputStream in =
new
BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader =
new
BufferedReader(
new
InputStreamReader(in));
String line;
String result =
""
;
while
((line = reader.readLine()) !=
null
) {
result += line;
}
parseResult(line);
if
(
null
!= in) {
in.close();
}
return
result;
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
assert
urlConnection !=
null
;
urlConnection.disconnect();
}
return
result.toString();
}
@Override
protected
void
onPostExecute(String result) {
mGridAdapter.setGridData(mGridData);
}
String streamToString(InputStream stream)
throws
IOException {
BufferedReader bufferedReader =
new
BufferedReader(
new
InputStreamReader(stream));
String line;
String result =
""
;
while
((line = bufferedReader.readLine()) !=
null
) {
result += line;
}
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(
"posts"
);
tools_item2 item;
for
(
int
i =
0
; i < posts.length(); i++)
{
String title = posts.optJSONObject(i).getString(
"title"
);
String image = posts.optJSONObject(i).getString(
"image"
);
item =
new
tools_item2();
item.setTitle(title);
item.setImage(image);
mGridData.add(item);
}
}
catch
(JSONException e) {
e.printStackTrace();
}
}
}
}