Xử Lý Json Trong Android

     

Chào những bạn chúng ta lại gặp nhau trong series app android truyền kì. Ở kì trước tôi đã giới thiệu với chúng ta về cách tàng trữ dữ liệu vào Android bây giờ tôi xin giới thiệu với chúng ta cách xử lý Json vào Android.

Bạn đang xem: Xử lý json trong android

Trong thực tế bây giờ thì nhu cầu tiếp xúc giữa những dịch vụ web cùng mobile ngày càng trở bắt buộc quan trong với và hiện giờ các ứng dụng di hễ đã trở 1 phần không thể thiếu của web như chúng ta thấy những trang báo mạng hiện nay đều trình làng ứng dụng lướt web đọc báo trên điện thoại cảm ứng thông minh đúng không nào nó giúp update những tin tức mới nhất và nhanh nhất có thể đến tín đồ đọc tốt như các ứng dụng trợ giúp chi tiêu chứng khoán như chúng ta thấy đấy chỉ cần chậm một giây thôi thì đang lỡ mất cơ hội trên thị trường chứng khoán. Vậy các website tiếp xúc với ứng dụng di động ra làm sao cho phải chăng và tiết kiệm nhất. Rất đơn giản và dễ dàng các website này sẽ triển khai thương mại dịch vụ webservice để tiếp xúc với mobile.

Webservice là gì?

Webservice là thành phần ứng dụng dùng để chuyển đổi một ứng dụng thông thường sang một ứng dụng web. Đồng thời nó cũng xuất bản các công dụng của mình để mọi người dùng internet trên nhân loại đều rất có thể sử dụng trải qua nền tảng web thông qua các API được công bố ra cộng đồng.

Webservice rất có thể tạo ra bằng tương đối nhiều ngôn ngữ như PHP, ASP.Net, Java…. Và nó thường xuyên trả về hai định dạng thông dụng là Json cùng XML nhưng thường thì thì vẫn là Json do nó nhẹ cùng ít phức hợp hơn đối với XML.

Json là gì?

JSON (JavaScript Object Notation) là một định dạng trao đổi tài liệu dữ liệu (data exchange format). Nó lưu giữ trữ những dữ liệu theo cặp khóa cùng giá trị. So với XML thì JSON dễ dàng và đơn giản về đọc dễ hơn. Nó được định nghĩa dữ theo ngôn ngữ JavaScript, tiêu chuẩn chỉnh ECMA-262 năm 1999, cấu trúc là một định dạng văn bạn dạng đơn giản với những trường tài liệu được lồng vào với nhau nhưng nhiều quá cũng rối mắt lắm cùng lắm cấu trúc trả về xem dứt chỉ thốt lên một câu WTF.

Ví dụ về Json:

< color: "red", value: "#f00" , color: "green", value: "#0f0" , color: "blue", value: "#00f" , color: "cyan", value: "#0ff" , color: "magenta", value: "#f0f" , color: "yellow", value: "#ff0" , color: "black", value: "#000" >Như chúng ta thấy làm việc trên nó là 1 trong đoạn Json được trả về từ bỏ webservice nó gồm:

<>: Mảng.: giá trịKey:Value

Với mọi Json phước tạp bạn có thể vào trang này: http://jsonviewer.stack.hu/ để dễ dãi xem kết cấu của nó.

Xử lý json trong Android.

Xem thêm: “ Tôi Nói Đồng Bào Nghe Có Rõ Không? Tôi Nói Đồng Bào Nghe Có Rõ Không

Để cách xử trí Json trong android ta sẽ thực hiện Gson hoặc Jackson mang lại nhanh thực ra Android nó đã cung ứng thư viện khoác định cho sự việc này rồi tuy thế cách thực hiện quá tinh vi nên tôi cần sử dụng Gson luôn luôn cho nhanh.

Đầu tiên ta sẽ xây dựng màn hình hiển thị ứng dụng.


*

Giao diện ứng dụng


Màn hình chẳng tất cả gì phức hợp cả nhể trống trơn tuột chỉ bao gồm cái Layout =))

Code:

Xong tiếp theo ta vẫn tạo đối tượng người dùng Java lưu ý tên các thuộc tính của đối tượng người dùng phải giống như với các key vào Json.

Code:Code:return */ public String getJSONStringFromURL(String sUrl) String response = null; try URL url = new URL(sUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection();// Khởi tạo đối tượng HttpURLConnection conn.setRequestMethod("GET");// thủ tục lấy dữ liệu InputStream in = new BufferedInputStream(conn.getInputStream());// tạo ra luồng đọc dữ liệu response = convertStreamToString(in);// đổi khác dữ liệu thu được catch (MalformedURLException e) Log.e(TAG, "MalformedURLException: " + e.getMessage()); catch (ProtocolException e) Log.e(TAG, "ProtocolException: " + e.getMessage()); catch (IOException e) Log.e(TAG, "IOException: " + e.getMessage()); catch (Exception e) Log.e(TAG, "Exception: " + e.getMessage()); return response; /*** * thay đổi dữ liệu thành chuỗi khi đã lấy về *
return */ private String convertStreamToString(InputStream is) BufferedReader reader = new BufferedReader(new InputStreamReader(is));// Tạo cỗ đệm để đọc dòng dữ liệu StringBuilder sb = new StringBuilder();// Đối tượng kiến thiết chuỗi từ những tài liệu đã được hiểu String line; try while ((line = reader.readLine()) != null) sb.append(line).append(" ");// đọc và thêm các dữ liệu vẫn đọc được trường đoản cú luồng vào chuỗi. catch (IOException e) e.printStackTrace(); finally try is.close(); catch (IOException e) e.printStackTrace(); return sb.toString(); }Đó xong phần lấy dữ liệu và biến hóa dữ liệu giờ đồng hồ phần bao gồm nào code file MainActivity thôi

Code:

package com.chamcong.akinosora.json;import android.app.Activity;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.AsyncTask;import android.os.Bundle;import android.os.SystemClock;import android.support.v7.app.AppCompatActivity;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.util.ArrayList;public class MainActivity extends AppCompatActivity { private LinearLayout conrtainer;
Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); conrtainer = findViewById(R.id.container); new ColorAsync(this).execute("http://cdn.crunchify.com/wp-content/uploads/code/jsonArray.txt"); class ColorAsync extends AsyncTask { private Activity mActivity; final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); public ColorAsync(Activity mActivity) this.mActivity = mActivity;
Override protected ColorObject doInBackground(String... Strings) { String UrlWebservice = strings<0>;// lấy địa chỉ cửa hàng Webservice được truyền vào String JsonString = new Commons().getJSONStringFromURL(UrlWebservice); ArrayList colorObjectArrayList = new Gson().fromJson(JsonString, new TypeToken>() .getType()); // biến đổi chuỗi Json thành tài liệu trong Java bằng thư viện Gson Java ráng nào game android thế vậy =)) for (int i = 0 ; iRồi hoàn thành MainActivity tiếng xin phép mẹ đi dạo Net nào(Mà thôi xin làm những gì ăn dềnh dang nó nới khoái).

Code:

// Xin phép bà bầu Và đấy là kết quả:


*

Kết quả chạy ứng dụng Json


Pew xong tôi vẫn hướng dẫn chúng ta cách sử lý Json trong android giờ chúng ta cũng có thể áp dụng nó vô viết một chiếc app phân chia sẻ hình ảnh của thánh phái nữ Maria…. Ozawa rồi đó =)).

Xem thêm: Soạn Anh 12 Unit 12 Speaking Trang 131, 132, Tiếng Anh 12: Bài Giảng Unit 12 Speaking

Vậy à bài từ bây giờ đã dứt cảm ơn các bạn đã theo dõi với xin hẹn gặp gỡ lại chúng ta ở chương cuối trong túng kíp apk truyền kì xin xin chào và hẹn gặp mặt lại.