Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.content.Intent;
- import android.net.Uri;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.View;
- import android.widget.Button;
- import com.android.volley.Request;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity {
- public Button button;
- //this is the JSON Data URL
- //make sure you are using the correct ip else it will not work
- public static final String URL_COURSE = "http://192.168.43.73/enroll4free/json.php";
- //a list to store all the courses
- List<Course> courseList;
- //the recyclerview
- RecyclerView recyclerView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //getting the recyclerview from xml
- recyclerView = findViewById(R.id.recycler_View);
- recyclerView.setHasFixedSize(true);
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
- //initializing the courselist
- courseList = new ArrayList<>();
- //this method will fetch and parse json
- //to display it in recyclerview
- loadCourses();
- }
- private void loadCourses() {
- /*
- * Creating a String Request
- * The request type is GET defined by first parameter
- * The URL is defined in the second parameter
- * Then we have a Response Listener and a Error Listener
- * In response listener we will get the JSON response as a String
- * */
- StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_COURSE,
- new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- try {
- //converting the string to json array object
- JSONArray array = new JSONArray(response);
- //traversing through all the object
- for (int i = 0; i < array.length(); i++) {
- //getting course object from json array
- JSONObject course = array.getJSONObject(i);
- //adding the course to course list
- courseList.add(new Course(
- course.getInt("id"),
- course.getString("coursename"),
- course.getString("coursedescshort"),
- course.getString("courseurl"),
- course.getString("courserating"),
- course.getString("courseimg")
- ));
- }
- //creating adapter object and setting it to recyclerview
- CourseAdapter adapter = new CourseAdapter(MainActivity.this, courseList);
- recyclerView.setAdapter(adapter);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- }
- });
- //adding our stringrequest to queue
- Volley.newRequestQueue(this).add(stringRequest);
- }
- }
- import android.content.Context;
- import android.content.Intent;
- import android.net.Uri;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.TextView;
- import com.bumptech.glide.Glide;
- import org.w3c.dom.Text;
- import java.util.List;
- /**
- * Created by ninja on 13/1/18.
- */
- public class CourseAdapter extends RecyclerView.Adapter<CourseAdapter.CourseViewHolder> {
- public static final String KEY_COURSE_ID = "courseid";
- public static Button button;
- private Context mCtx;
- private List<Course> courseList;
- private static final String KEY_courseurl = "courseurl";
- public CourseAdapter(Context mCtx, List<Course> courseList) {
- this.mCtx = mCtx;
- this.courseList = courseList;
- }
- @Override
- public CourseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- LayoutInflater inflater = LayoutInflater.from(mCtx);
- View view = inflater.inflate(R.layout.list_layout, null);
- return new CourseViewHolder(view);
- }
- @Override
- public void onBindViewHolder(CourseViewHolder holder, int position) {
- final Course course = courseList.get(position);
- holder.textViewCoursename.setText(course.getCoursename());
- holder.textViewcoursedescshort.setText(course.getCoursedescshort());
- //holder.textViewcourseurl.setText(course.getCourseurl());
- holder.textViewcourserating.setText(course.getCourserating());
- Glide.with(mCtx)
- .load(course.getCourseimg())
- .into(holder.imageView);
- // Defining Button Action
- holder.button.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- Intent intent = new Intent(mCtx, CourseDetailActivity.class);
- intent.putExtra(KEY_COURSE_ID, course.getId());
- mCtx.startActivity(intent);
- //Intent i = new Intent(Intent.ACTION_VIEW);
- //i.setData(Uri.parse(course.getCourseurl()));
- //mCtx.startActivity(i);
- }
- });
- }
- @Override
- public int getItemCount() {
- return courseList.size();
- }
- class CourseViewHolder extends RecyclerView.ViewHolder{
- ImageView imageView;
- TextView textViewCoursename, textViewcoursedescshort, textViewcourseurl, textViewcourserating;
- Button button;
- public CourseViewHolder(View itemView) {
- super(itemView);
- imageView = itemView.findViewById(R.id.imageView);
- textViewCoursename = itemView.findViewById(R.id.textViewcoursename);
- textViewcoursedescshort = itemView.findViewById(R.id.textViewcoursedescshort);
- textViewcourseurl = itemView.findViewById(R.id.textViewcourseurl);
- textViewcourserating = itemView.findViewById(R.id.textViewcourserating);
- button = (Button) itemView.findViewById(R.id.btnreadmore);
- }
- }
- }
- /**
- * Created by ninja on 13/1/18.
- */
- public class Course {
- private int id;
- private String coursename, coursedescshort, courseurl;
- private String courserating;
- private String courseimg;
- public Course(int id, String coursename, String coursedescshort, String courseurl, String courserating, String courseimg) {
- this.id = id;
- this.coursename = coursename;
- this.coursedescshort = coursedescshort;
- this.courseurl = courseurl;
- this.courserating = courserating;
- this.courseimg = courseimg;
- }
- public int getId() {
- return id;
- }
- public String getCoursename() {
- return coursename;
- }
- public String getCoursedescshort() {
- return coursedescshort;
- }
- public String getCourseurl() {
- return courseurl;
- }
- public String getCourserating() {
- return courserating;
- }
- public String getCourseimg() {
- return courseimg;
- }
- }
- import android.annotation.SuppressLint;
- import android.content.Intent;
- import android.net.Uri;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.android.volley.Request;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import com.bumptech.glide.Glide;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- public class CourseDetailActivity extends AppCompatActivity {
- ImageView imageView;
- TextView textViewcoursename, textViewcoursedescshort, textViewcourseurl, textViewcourserating;
- Button button;
- Uri uri;
- String stringUri;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_course_detail);
- imageView = (ImageView) findViewById(R.id.imageView);
- textViewcoursename = (TextView) findViewById(R.id.textViewcoursename);
- textViewcoursedescshort = (TextView) findViewById(R.id.textViewcoursedescshort);
- textViewcourserating = (TextView) findViewById(R.id.textViewcourserating);
- Intent intent = getIntent();
- if(intent == null)
- return;
- int id = intent.getIntExtra(CourseAdapter.KEY_COURSE_ID, -1);
- loadCourses(id);
- }
- private void loadCourses(int id) {
- StringRequest stringRequest = new StringRequest(Request.Method.GET, MainActivity.URL_COURSE + "/"+id,
- new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- try {
- JSONObject obj = new JSONObject(response);
- Glide.with(getApplicationContext()).load(obj.getString("courseimg")).into(imageView);
- textViewcoursename.setText(obj.getString("coursename"));
- textViewcoursedescshort.setText(obj.getString("coursedescshort"));
- textViewcourserating.setText(obj.getString("courserating"));
- button.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- Intent i = new Intent(Intent.ACTION_VIEW);
- stringUri = uri.toString();
- i.setData(Uri.parse("courseurl"));
- startActivity(i);
- //Intent i = new Intent(Intent.ACTION_VIEW);
- //i.setData(Uri.parse(course.getCourseurl()));
- //mCtx.startActivity(i);
- }
- });
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- }
- });
- //adding our stringrequest to queue
- Volley.newRequestQueue(this).add(stringRequest);
- }
- }
Add Comment
Please, Sign In to add comment