Thứ Năm, 28 tháng 2, 2019

Đào tạo Android - Android - Trình phân tích cú pháp JSON

JSON là viết tắt của JavaScript Object Notation. Đây là một định dạng trao đổi dữ liệu độc lập và là sự thay thế tốt nhất cho XML. Chương này giải thích cách phân tích tệp JSON và trích xuất thông tin cần thiết từ nó.

Đào tạo Android cung cấp bốn lớp khác nhau để thao tác dữ liệu JSON. Các lớp này là JSONArray, JSONObject, JSONStringer và JSONTokenizer.

Học lập trình Android chuyên nghiệp
Học lập trình Android chuyên nghiệp

Bước đầu tiên là xác định các trường trong dữ liệu JSON mà bạn quan tâm. Ví dụ. Trong JSON được đưa ra dưới đây, chúng tôi chỉ quan tâm đến việc nhận nhiệt độ.
{
   "sys":
   {
      "country":"GB",
      "sunrise":1381107633,
      "sunset":1381149604
   },
   "weather":[
      {
         "id":711,
         "main":"Smoke",
         "description":"smoke",
         "icon":"50n"
      }
   ],
 
  "main":
   {
      "temp":304.15,
      "pressure":1009,
   }
}

JSON - Các phần tử


Một tệp JSON bao gồm nhiều thành phần. Đây là bảng xác định các thành phần của tệp JSON và mô tả của chúng Đào tạo Android.

Không.Thành phần và mô tả
1Mảng([)

Trong tệp JSON, dấu ngoặc vuông ([) biểu thị một mảng JSON
2Các đối tượng({)
Trong tệp JSON, dấu ngoặc nhọn ({) đại diện cho một đối tượng JSON
3Chìa khóa

Một đối tượng JSON chứa một khóa chỉ là một chuỗi. Các cặp khóa / giá trị tạo thành một đối tượng JSON
4Giá trị
Mỗi khóa có một giá trị có thể là chuỗi, số nguyên hoặc gấp đôi, v.v.

JSON - Phân tích cú pháp

Để phân tích cú pháp một đối tượng JSON, chúng tôi sẽ tạo một đối tượng của lớp JSONObject và chỉ định một chuỗi chứa dữ liệu JSON cho nó. Cú pháp của nó là

String in;
JSONObject reader = new JSONObject(in);

Bước cuối cùng là phân tích JSON. Một tệp JSON bao gồm các đối tượng khác nhau với cặp khóa / giá trị khác nhau, v.v. Vì vậy, Đào tạo Android JSONObject có một chức năng riêng để phân tích từng thành phần của tệp JSON. Cú pháp của nó được đưa ra dưới đây
JSONObject sys  = reader.getJSONObject("sys");
country = sys.getString("country");
   
JSONObject main  = reader.getJSONObject("main");
temperature = main.getString("temp");
Phương thức getJSONObject trả về đối tượng JSON. Phương thức getStringtrả về giá trị chuỗi của khóa được chỉ định.

Ngoài các phương thức này, còn có các phương thức khác được cung cấp bởi lớp này để phân tích cú pháp các tệp JSON tốt hơn. Các phương pháp này được liệt kê dưới đây

Không.Phương pháp & mô tả
1lấy (Tên chuỗi)

Phương thức này chỉ trả về giá trị nhưng ở dạng Object
2getBoolean (Tên chuỗi)
Phương thức này trả về giá trị boolean được chỉ định bởi khóa
3getDouble (Tên chuỗi)

Phương thức này trả về giá trị kép được chỉ định bởi khóa
4getInt (Tên chuỗi)
Phương thức này trả về giá trị nguyên được chỉ định bởi khóa
5getLong (Tên chuỗi)

Phương thức này trả về giá trị dài được chỉ định bởi khóa
6chiều dài()
Phương thức này trả về số ánh xạ tên / giá trị trong đối tượng này ..
7tên ()
Phương thức này trả về một mảng chứa các tên chuỗi trong đối tượng này.
Thí dụ

Để thử nghiệm với ví dụ này, bạn có thể chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.

Các bướcSự miêu tả
1Bạn sẽ sử dụng studio Android để tạo một ứng dụng Android.
2Sửa đổi tệp src / MainActivity.java để thêm mã cần thiết.
3Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng
4Sửa đổi res / value / string.xml để thêm các thành phần chuỗi cần thiết
5Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / MainActivity.java .

Sau đây là nội dung được sửa đổi của xml HttpHandler.java .

Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.tutorialspoint7.myapplication.MainActivity">

   <ListView
      android:id="@+id/list"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />
</RelativeLayout>
Sau đây là nội dung được sửa đổi của xml res / layout / list_item.xml .

Sau đây là nội dung của tệp Đào tạo Android Manifest.xml .
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

   <uses-permission android:name="android.permission.INTERNET"/>
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
         <activity android:name=".MainActivity">
            <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Hãy thử chạy ứng dụng của chúng tôi, chúng tôi vừa sửa đổi. Tôi giả sử bạn đã tạo AVD của mình trong khi thực hiện thiết lập môi trường.

Để chạy ứng dụng từ studio Đào tạo Android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

Android studio cài đặt ứng dụng trên AVD của bạn và khởi động nó và nếu mọi thứ đều ổn với thiết lập và ứng dụng của bạn, nó sẽ hiển thị theo cửa sổ Trình mô phỏng

Trên Ví dụ hiển thị dữ liệu từ chuỗi json, Dữ liệu có chứa thông tin chi tiết về nhà tuyển dụng cũng như thông tin về lương.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...