Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.36 KB | None | 0 0
  1. import android.support.v7.app.AppCompatActivity;
  2. import android.os.Bundle;
  3.  
  4. import android.content.Intent;
  5.  
  6. import android.widget.TextView;
  7.  
  8. public class Friend extends AppCompatActivity {
  9.  
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_friend);
  14.  
  15. Intent i = getIntent();
  16. TextView name = (TextView) findViewById(R.id.textView_name);
  17. TextView hobby = (TextView) findViewById(R.id.textView_hobby);
  18. TextView age = (TextView) findViewById(R.id.textView_age);
  19. TextView phone = (TextView) findViewById(R.id.textView_phone);
  20. TextView address = (TextView) findViewById(R.id.textView_address);
  21.  
  22. name.setText("Name: "+i.getStringExtra("name"));
  23. hobby.setText("Hobby: "+i.getStringExtra("hobby"));
  24. age.setText("Age: "+i.getStringExtra("age"));
  25. phone.setText("Phone: "+i.getStringExtra("phone"));
  26. address.setText("Address: "+i.getStringExtra("address"));
  27.  
  28. }
  29. }
  30.  
  31.  
  32.  
  33.  
  34. import android.app.Activity;
  35. import android.view.View;
  36. import android.view.ViewGroup;
  37. import android.widget.BaseAdapter;
  38. import android.widget.TextView;
  39.  
  40. import org.json.JSONArray;
  41. import org.json.JSONException;
  42. import org.json.JSONObject;
  43.  
  44.  
  45.  
  46. public class JSONAdapter extends BaseAdapter {
  47. private JSONArray data;
  48. private Activity activity;
  49.  
  50. public JSONAdapter(JSONArray data, Activity activity){
  51. this.data = data;
  52. this.activity = activity;
  53. }
  54.  
  55. @Override
  56. public int getCount() {
  57. return data.length();
  58. }
  59.  
  60. @Override
  61. public Object getItem(int position) {
  62. try{
  63. return data.getJSONObject(position);
  64. }catch(JSONException joe){
  65. joe.printStackTrace();
  66. }
  67. return null;
  68. }
  69.  
  70. @Override
  71. public long getItemId(int position) {
  72. return position;
  73. }
  74.  
  75. @Override
  76. public View getView(int position, View convertView, ViewGroup parent) {
  77. if(convertView == null){
  78. convertView = activity.getLayoutInflater().inflate(R.layout.row,null);
  79. }
  80. TextView name = (TextView) convertView.findViewById(R.id.name);
  81. TextView hobby = (TextView) convertView.findViewById(R.id.hobby);
  82.  
  83. try{
  84. JSONObject friend = data.getJSONObject(position);
  85. name.setText(friend.getString("name"));
  86. hobby.setText(friend.getString("hobby"));
  87. }catch(JSONException joe){
  88. joe.printStackTrace();
  89. }
  90. return convertView;
  91. }
  92. }
  93.  
  94.  
  95.  
  96. import android.os.AsyncTask;
  97. import android.util.Log;
  98.  
  99. import org.json.JSONArray;
  100.  
  101. import java.io.BufferedReader;
  102. import java.io.InputStream;
  103. import java.io.InputStreamReader;
  104. import java.net.HttpURLConnection;
  105. import java.net.MalformedURLException;
  106. import java.net.URL;
  107.  
  108.  
  109.  
  110. public class jsson_task extends AsyncTask<String , Void , JSONArray>{
  111.  
  112. private JSONrequestCall listener;
  113. @Override
  114. protected JSONArray doInBackground(String... params) {
  115. JSONArray result=null;
  116. try{
  117. URL url = new URL(params[0]);
  118. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  119. int code = connection.getResponseCode();
  120. if(code == HttpURLConnection.HTTP_OK){
  121. InputStream is = connection.getInputStream();
  122. BufferedReader br = new BufferedReader(new InputStreamReader(is));
  123.  
  124. StringBuilder sb = new StringBuilder();
  125. String currentLine = "";
  126.  
  127. while((currentLine = br.readLine()) != null){
  128. Log.d("JSON RECEIVED",currentLine);
  129. sb.append(currentLine);
  130. }
  131.  
  132. result = new JSONArray(sb.toString());
  133.  
  134. }
  135. } catch (Exception e) {
  136. e.printStackTrace();
  137. }
  138. return result;
  139. }
  140.  
  141. public jsson_task(JSONrequestCall listener){this.listener = listener;}
  142. @Override
  143. protected void onPostExecute(JSONArray jsonArray) {
  144. super.onPostExecute(jsonArray);
  145. listener.done(jsonArray);
  146.  
  147. }
  148.  
  149. public interface JSONrequestCall{
  150. void done(JSONArray jsonArray);
  151. }
  152.  
  153.  
  154. }
  155.  
  156.  
  157.  
  158.  
  159. import android.content.Intent;
  160. import android.support.v7.app.AppCompatActivity;
  161. import android.os.Bundle;
  162. import android.util.Log;
  163. import android.view.View;
  164. import android.widget.AdapterView;
  165. import android.widget.ListView;
  166. import android.widget.Toast;
  167.  
  168. import org.json.JSONArray;
  169. import org.json.JSONException;
  170. import org.json.JSONObject;
  171.  
  172. public class MainActivity extends AppCompatActivity implements jsson_task.JSONrequestCall, AdapterView.OnItemClickListener {
  173.  
  174. ListView list;
  175. JSONAdapter jsonAdapter;
  176. @Override
  177. protected void onCreate(Bundle savedInstanceState) {
  178. super.onCreate(savedInstanceState);
  179. setContentView(R.layout.activity_main);
  180.  
  181. list = (ListView) findViewById(R.id.list_view);
  182. }
  183.  
  184.  
  185.  
  186. public void request(View v){
  187. jsson_task r = new jsson_task(this);
  188. r.execute("https://api.myjson.com/bins/lgupj");
  189. }
  190.  
  191. @Override
  192. public void done(JSONArray jsonArray) {
  193. Toast.makeText(this, "DONE JSON-ing", Toast.LENGTH_SHORT).show();
  194. try{
  195. for(int i = 0; i < jsonArray.length(); i++){
  196. Log.d("JSON",i+" "+jsonArray.getJSONObject(i).get("hobby"));
  197. }
  198. jsonAdapter = new JSONAdapter(jsonArray, this);
  199. list.setAdapter(jsonAdapter);
  200. list.setOnItemClickListener(this);
  201. }catch(JSONException json){
  202. json.printStackTrace();
  203. }
  204. }
  205.  
  206. @Override
  207. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  208. Toast.makeText(this, "Clicked!", Toast.LENGTH_SHORT).show();
  209. try{
  210. Intent i = new Intent(this, Friend.class);
  211. JSONObject json = (JSONObject)parent.getItemAtPosition(position);
  212. i.putExtra("name",json.getString("name"));
  213. i.putExtra("hobby",json.getString("hobby"));
  214. i.putExtra("age",json.getString("age"));
  215. i.putExtra("phone",json.getString("phone"));
  216. i.putExtra("address",json.getString("address"));
  217. Toast.makeText(this, json.getString("name"), Toast.LENGTH_SHORT).show();
  218. startActivity(i);
  219. }catch(JSONException joe){
  220. joe.printStackTrace();
  221. }
  222. }
  223. }
  224.  
  225.  
  226.  
  227. <?xml version="1.0" encoding="utf-8"?>
  228. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  229. xmlns:tools="http://schemas.android.com/tools"
  230. android:id="@+id/activity_friend"
  231. android:layout_width="match_parent"
  232. android:layout_height="match_parent"
  233. android:paddingBottom="@dimen/activity_vertical_margin"
  234. android:paddingLeft="@dimen/activity_horizontal_margin"
  235. android:paddingRight="@dimen/activity_horizontal_margin"
  236. android:paddingTop="@dimen/activity_vertical_margin"
  237.  
  238.  
  239. <TextView
  240. android:text="TextView"
  241. android:layout_width="wrap_content"
  242. android:layout_height="wrap_content"
  243. android:id="@+id/textView_address"
  244. android:layout_below="@+id/textView_phone"
  245. android:layout_alignStart="@+id/textView_phone"
  246. android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
  247.  
  248. <TextView
  249. android:text="TextView"
  250. android:layout_width="wrap_content"
  251. android:layout_height="wrap_content"
  252. android:id="@+id/textView_phone"
  253. android:layout_below="@+id/textView_age"
  254. android:layout_alignStart="@+id/textView_age"
  255. android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
  256.  
  257. <TextView
  258. android:text="TextView"
  259. android:layout_width="wrap_content"
  260. android:layout_height="wrap_content"
  261. android:id="@+id/textView_age"
  262. android:layout_below="@+id/textView_hobby"
  263. android:layout_alignStart="@+id/textView_hobby"
  264. android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
  265.  
  266. <TextView
  267. android:text="TextView"
  268. android:layout_width="wrap_content"
  269. android:layout_height="wrap_content"
  270. android:id="@+id/textView_hobby"
  271. android:layout_below="@+id/textView_name"
  272. android:layout_alignStart="@+id/textView_name"
  273. android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
  274.  
  275. <TextView
  276. android:text="TextView"
  277. android:layout_width="wrap_content"
  278. android:layout_height="wrap_content"
  279. android:id="@+id/textView_name"
  280. android:layout_alignParentTop="true"
  281. android:layout_alignParentStart="true"
  282. android:textAppearance="@style/TextAppearance.AppCompat.Large"/>
  283. </RelativeLayout>
  284.  
  285.  
  286.  
  287.  
  288.  
  289. <?xml version="1.0" encoding="utf-8"?>
  290. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  291. xmlns:tools="http://schemas.android.com/tools"
  292. android:id="@+id/activity_main"
  293. android:layout_width="match_parent"
  294. android:layout_height="match_parent"
  295. android:paddingBottom="@dimen/activity_vertical_margin"
  296. android:paddingLeft="@dimen/activity_horizontal_margin"
  297. android:paddingRight="@dimen/activity_horizontal_margin"
  298. android:paddingTop="@dimen/activity_vertical_margin"
  299. tools:context="com.example.jose.job_2.MainActivity">
  300. <Button
  301. android:text="LOAD"
  302. android:layout_width="wrap_content"
  303. android:layout_height="wrap_content"
  304. android:layout_alignParentTop="true"
  305. android:layout_centerHorizontal="true"
  306. android:id="@+id/button_load"
  307. android:onClick="request"/>
  308. <ListView
  309. android:id="@+id/list_view"
  310. android:layout_width="match_parent"
  311. android:layout_height="wrap_content"
  312. android:layout_below="@+id/button_load"></ListView>
  313. </RelativeLayout>
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320. <?xml version="1.0" encoding="utf-8"?>
  321. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  322. android:orientation="vertical" android:layout_width="match_parent"
  323. android:layout_height="match_parent">
  324.  
  325. <TextView
  326. android:id="@+id/name"
  327. android:layout_height="wrap_content"
  328. android:layout_width="match_parent"
  329. android:text="TextView"
  330. android:textAppearance="@style/TextAppearance.AppCompat.Large"
  331. android:layout_alignParentTop="true" />
  332. <TextView
  333. android:id="@+id/hobby"
  334. android:layout_height="wrap_content"
  335. android:layout_width="match_parent"
  336. android:text="TextView"
  337. android:layout_below="@+id/name"/>
  338.  
  339. </RelativeLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement