Guest User

Untitled

a guest
Jan 16th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.25 KB | None | 0 0
  1. import android.content.Intent;
  2. import android.net.Uri;
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.support.v7.widget.LinearLayoutManager;
  6. import android.support.v7.widget.RecyclerView;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import com.android.volley.Request;
  10. import com.android.volley.Response;
  11. import com.android.volley.VolleyError;
  12. import com.android.volley.toolbox.StringRequest;
  13. import com.android.volley.toolbox.Volley;
  14. import org.json.JSONArray;
  15. import org.json.JSONException;
  16. import org.json.JSONObject;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. public class MainActivity extends AppCompatActivity {
  20. public Button button;
  21. //this is the JSON Data URL
  22. //make sure you are using the correct ip else it will not work
  23. public static final String URL_COURSE = "http://192.168.43.73/enroll4free/json.php";
  24. //a list to store all the courses
  25. List<Course> courseList;
  26. //the recyclerview
  27. RecyclerView recyclerView;
  28. @Override
  29. protected void onCreate(Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. setContentView(R.layout.activity_main);
  32. //getting the recyclerview from xml
  33. recyclerView = findViewById(R.id.recycler_View);
  34. recyclerView.setHasFixedSize(true);
  35. recyclerView.setLayoutManager(new LinearLayoutManager(this));
  36. //initializing the courselist
  37. courseList = new ArrayList<>();
  38. //this method will fetch and parse json
  39. //to display it in recyclerview
  40. loadCourses();
  41. }
  42. private void loadCourses() {
  43. /*
  44. * Creating a String Request
  45. * The request type is GET defined by first parameter
  46. * The URL is defined in the second parameter
  47. * Then we have a Response Listener and a Error Listener
  48. * In response listener we will get the JSON response as a String
  49. * */
  50. StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_COURSE,
  51. new Response.Listener<String>() {
  52. @Override
  53. public void onResponse(String response) {
  54. try {
  55. //converting the string to json array object
  56. JSONArray array = new JSONArray(response);
  57. //traversing through all the object
  58. for (int i = 0; i < array.length(); i++) {
  59. //getting course object from json array
  60. JSONObject course = array.getJSONObject(i);
  61. //adding the course to course list
  62. courseList.add(new Course(
  63. course.getInt("id"),
  64. course.getString("coursename"),
  65. course.getString("coursedescshort"),
  66. course.getString("courseurl"),
  67. course.getString("courserating"),
  68. course.getString("courseimg")
  69. ));
  70. }
  71. //creating adapter object and setting it to recyclerview
  72. CourseAdapter adapter = new CourseAdapter(MainActivity.this, courseList);
  73. recyclerView.setAdapter(adapter);
  74. } catch (JSONException e) {
  75. e.printStackTrace();
  76. }
  77. }
  78. },
  79. new Response.ErrorListener() {
  80. @Override
  81. public void onErrorResponse(VolleyError error) {
  82. }
  83. });
  84. //adding our stringrequest to queue
  85. Volley.newRequestQueue(this).add(stringRequest);
  86. }
  87. }
  88.  
  89. import android.content.Context;
  90. import android.content.Intent;
  91. import android.net.Uri;
  92. import android.support.v7.widget.RecyclerView;
  93. import android.view.LayoutInflater;
  94. import android.view.View;
  95. import android.view.ViewGroup;
  96. import android.widget.Button;
  97. import android.widget.ImageView;
  98. import android.widget.TextView;
  99. import com.bumptech.glide.Glide;
  100. import org.w3c.dom.Text;
  101. import java.util.List;
  102. /**
  103. * Created by ninja on 13/1/18.
  104. */
  105. public class CourseAdapter extends RecyclerView.Adapter<CourseAdapter.CourseViewHolder> {
  106. public static final String KEY_COURSE_ID = "courseid";
  107. public static Button button;
  108. private Context mCtx;
  109. private List<Course> courseList;
  110. private static final String KEY_courseurl = "courseurl";
  111. public CourseAdapter(Context mCtx, List<Course> courseList) {
  112. this.mCtx = mCtx;
  113. this.courseList = courseList;
  114. }
  115.  
  116. @Override
  117. public CourseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  118. LayoutInflater inflater = LayoutInflater.from(mCtx);
  119. View view = inflater.inflate(R.layout.list_layout, null);
  120. return new CourseViewHolder(view);
  121. }
  122.  
  123. @Override
  124. public void onBindViewHolder(CourseViewHolder holder, int position) {
  125. final Course course = courseList.get(position);
  126. holder.textViewCoursename.setText(course.getCoursename());
  127. holder.textViewcoursedescshort.setText(course.getCoursedescshort());
  128. //holder.textViewcourseurl.setText(course.getCourseurl());
  129. holder.textViewcourserating.setText(course.getCourserating());
  130. Glide.with(mCtx)
  131. .load(course.getCourseimg())
  132. .into(holder.imageView);
  133.  
  134. // Defining Button Action
  135. holder.button.setOnClickListener(new Button.OnClickListener() {
  136. public void onClick(View v) {
  137.  
  138. Intent intent = new Intent(mCtx, CourseDetailActivity.class);
  139. intent.putExtra(KEY_COURSE_ID, course.getId());
  140.  
  141. mCtx.startActivity(intent);
  142.  
  143. //Intent i = new Intent(Intent.ACTION_VIEW);
  144. //i.setData(Uri.parse(course.getCourseurl()));
  145. //mCtx.startActivity(i);
  146. }
  147. });
  148. }
  149. @Override
  150. public int getItemCount() {
  151. return courseList.size();
  152. }
  153. class CourseViewHolder extends RecyclerView.ViewHolder{
  154. ImageView imageView;
  155. TextView textViewCoursename, textViewcoursedescshort, textViewcourseurl, textViewcourserating;
  156. Button button;
  157. public CourseViewHolder(View itemView) {
  158. super(itemView);
  159. imageView = itemView.findViewById(R.id.imageView);
  160. textViewCoursename = itemView.findViewById(R.id.textViewcoursename);
  161. textViewcoursedescshort = itemView.findViewById(R.id.textViewcoursedescshort);
  162. textViewcourseurl = itemView.findViewById(R.id.textViewcourseurl);
  163. textViewcourserating = itemView.findViewById(R.id.textViewcourserating);
  164. button = (Button) itemView.findViewById(R.id.btnreadmore);
  165. }
  166. }
  167. }
  168.  
  169. /**
  170. * Created by ninja on 13/1/18.
  171. */
  172. public class Course {
  173. private int id;
  174. private String coursename, coursedescshort, courseurl;
  175. private String courserating;
  176. private String courseimg;
  177. public Course(int id, String coursename, String coursedescshort, String courseurl, String courserating, String courseimg) {
  178. this.id = id;
  179. this.coursename = coursename;
  180. this.coursedescshort = coursedescshort;
  181. this.courseurl = courseurl;
  182. this.courserating = courserating;
  183. this.courseimg = courseimg;
  184. }
  185. public int getId() {
  186. return id;
  187. }
  188. public String getCoursename() {
  189. return coursename;
  190. }
  191. public String getCoursedescshort() {
  192. return coursedescshort;
  193. }
  194. public String getCourseurl() {
  195. return courseurl;
  196. }
  197. public String getCourserating() {
  198. return courserating;
  199. }
  200. public String getCourseimg() {
  201. return courseimg;
  202. }
  203. }
  204.  
  205. import android.annotation.SuppressLint;
  206. import android.content.Intent;
  207. import android.net.Uri;
  208. import android.support.v7.app.AppCompatActivity;
  209. import android.os.Bundle;
  210. import android.view.View;
  211. import android.widget.Button;
  212. import android.widget.ImageView;
  213. import android.widget.TextView;
  214. import android.widget.Toast;
  215.  
  216. import com.android.volley.Request;
  217. import com.android.volley.Response;
  218. import com.android.volley.VolleyError;
  219. import com.android.volley.toolbox.StringRequest;
  220. import com.android.volley.toolbox.Volley;
  221. import com.bumptech.glide.Glide;
  222.  
  223. import org.json.JSONArray;
  224. import org.json.JSONException;
  225. import org.json.JSONObject;
  226.  
  227. public class CourseDetailActivity extends AppCompatActivity {
  228.  
  229. ImageView imageView;
  230. TextView textViewcoursename, textViewcoursedescshort, textViewcourseurl, textViewcourserating;
  231. Button button;
  232. Uri uri;
  233. String stringUri;
  234.  
  235.  
  236. @Override
  237. protected void onCreate(Bundle savedInstanceState) {
  238. super.onCreate(savedInstanceState);
  239. setContentView(R.layout.activity_course_detail);
  240.  
  241. imageView = (ImageView) findViewById(R.id.imageView);
  242. textViewcoursename = (TextView) findViewById(R.id.textViewcoursename);
  243. textViewcoursedescshort = (TextView) findViewById(R.id.textViewcoursedescshort);
  244. textViewcourserating = (TextView) findViewById(R.id.textViewcourserating);
  245.  
  246.  
  247. Intent intent = getIntent();
  248.  
  249. if(intent == null)
  250. return;
  251.  
  252. int id = intent.getIntExtra(CourseAdapter.KEY_COURSE_ID, -1);
  253.  
  254. loadCourses(id);
  255. }
  256.  
  257. private void loadCourses(int id) {
  258. StringRequest stringRequest = new StringRequest(Request.Method.GET, MainActivity.URL_COURSE + "/"+id,
  259. new Response.Listener<String>() {
  260. @Override
  261. public void onResponse(String response) {
  262.  
  263. try {
  264. JSONObject obj = new JSONObject(response);
  265.  
  266. Glide.with(getApplicationContext()).load(obj.getString("courseimg")).into(imageView);
  267.  
  268. textViewcoursename.setText(obj.getString("coursename"));
  269. textViewcoursedescshort.setText(obj.getString("coursedescshort"));
  270. textViewcourserating.setText(obj.getString("courserating"));
  271.  
  272. button.setOnClickListener(new Button.OnClickListener() {
  273. public void onClick(View v) {
  274. Intent i = new Intent(Intent.ACTION_VIEW);
  275.  
  276. stringUri = uri.toString();
  277. i.setData(Uri.parse("courseurl"));
  278. startActivity(i);
  279.  
  280. //Intent i = new Intent(Intent.ACTION_VIEW);
  281. //i.setData(Uri.parse(course.getCourseurl()));
  282. //mCtx.startActivity(i);
  283. }
  284. });
  285.  
  286. } catch (JSONException e) {
  287. e.printStackTrace();
  288. }
  289. }
  290. },
  291. new Response.ErrorListener() {
  292. @Override
  293. public void onErrorResponse(VolleyError error) {
  294. }
  295. });
  296. //adding our stringrequest to queue
  297. Volley.newRequestQueue(this).add(stringRequest);
  298. }
  299. }
Add Comment
Please, Sign In to add comment