Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะแยกวิเคราะห์ JSON Objects บน Android โดยใช้ Kotlin ได้อย่างไร


ตัวอย่างนี้สาธิตวิธีแยกวิเคราะห์ JSON Objects บน Android โดยใช้ Kotlin

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

 

ขั้นตอนที่ 3 − สร้างโฟลเดอร์เนื้อหาใหม่และสร้างไฟล์ user_list.json และรหัสที่กล่าวถึงด้านล่าง

{ "ผู้ใช้":[ { "name":"Niyaz", "email":"testemail1@gmail.com", "contact":{ "mobile":"+91 0000000000" } } { "name ":"Azhar", "email":"testemail2@gmail.com", "contact":{ "mobile":"+91 0000000000" } }, { "name":"Mahi", "email":"testemail3 @gmail.com", "ติดต่อ":{ "mobile":"+91 0000000000" } } ]}

ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.kt

<ก่อนหน้า>นำเข้า android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport androidx.recyclerview.widget.LinearLayoutManagerimport androidx.recyclerview.widget.RecyclerViewimport org.json.JSONExceptionimport org.json.JSONObjectimport java.io.io. .Charsetclass MainActivity :AppCompatActivity() { var personName:ArrayList =ArrayList() var emailId:ArrayList =ArrayList() var mobileNumbers:ArrayList =ArrayList() แทนที่ fun onCreate (savedInstanceState:Bundle?) { super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) title ="KotlinApp" val recyclerView =findViewById (R.id.recyclerView) val linearLayoutManager =LinearLayoutManager (applicationContext) recyclerView.layoutr ผู้จัดการ =JSONObject(loadJSONFromAsset()) val userArray =obj.getJSONArray("users") สำหรับ (i ใน 0 จนถึง userArray.length()) { val userDetail =userArray.getJSONObject (i) personName.add (userDetail.getString ("name")) emailId.add (userDetail.getString ("email")) val contact =userDetail.getJSONObject ("ติดต่อ") mobileNumbers.add (contact.getString("mobile")) } } catch (e:JSONException) { e.printStackTrace() } val customAdapter =CustomAdapter (this@MainActivity, personName, emailId, mobileNumbers) recyclerView.adapter =customAdapter } ความสนุกส่วนตัว loadJSONFromAsset ( ):สตริง { val json:สตริง? ลอง { val inputStream =asset.open ("users_list.json") val size =inputStream.available () val buffer =ByteArray (ขนาด) ชุดอักขระ Val:Charset =Charsets.UTF_8 inputStream.read (บัฟเฟอร์) inputStream.close () json =สตริง (บัฟเฟอร์ ชุดอักขระ) } จับ (เช่น:IOException) { ex.printStackTrace () ส่งคืน "" } ส่งคืน json }}

ขั้นตอนที่ 5 − สร้างคลาสใหม่ CustomAdapter.kt และเพิ่มรหัสต่อไปนี้ -

<ก่อนหน้า>นำเข้า android.content.Contextimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.TextViewimport android.widget.Toastimport androidx.recyclerview.widget.RecyclerViewimport androidx.recyclerview.widget.Recyclerview.View java.util.*class CustomAdapter (บริบทส่วนตัว var:บริบท ชื่อบุคคล var ส่วนตัว:ArrayList, var emailIds ส่วนตัว:ArrayList, var mobileNumbers ส่วนตัว:ArrayList) :RecyclerView.Adapter () { แทนที่ความสนุกบนCreateViewHolder (พาเรนต์:ViewGroup, viewType:Int):MyViewHolder { val v =LayoutInflater.from (parent.context).inflate (R.layout.rowlayout, parent, false) ส่งคืน MyViewHolder (v) } แทนที่ความสนุก onBindViewHolder (ผู้ถือ:MyViewHolder ตำแหน่ง:Int) { // ตั้งค่าข้อมูลในรายการ holder.name.text =personNames[position] holder.email.text =emailIds [ตำแหน่ง] holder.mobileNo.text =mobileNumbers[ตำแหน่ง] // ใช้เหตุการณ์ setOnClickListener ในมุมมองรายการ holder.itemView.setOnClickListener { // แสดงขนมปังพร้อมชื่อบุคคลในรายการ คลิก Toast.makeText (บริบท ชื่อบุคคล [ตำแหน่ง] Toast.LENGTH_SHORT).show () } } แทนที่ fun getItemCount ():Int { ส่งคืน personNames.size } ชั้นใน MyViewHolder (itemView:View) :ViewHolder (itemView) { ชื่อ:TextView =itemView.findViewById(R.id.tvName) เป็น TextView var อีเมล:TextView =itemView.findViewById(R.id .tvEmail) เป็น TextView var mobileNo:TextView =itemView.findViewById(R.id.tvMobile) เป็น TextView }}

ขั้นตอนที่ 6 − สร้างไฟล์ทรัพยากรเลย์เอาต์ row.xml และเพิ่มรหัสต่อไปนี้

       

ขั้นตอนที่ 7 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml

     <หมวดหมู่ android:name=" android.intent.category.LAUNCHER" />   

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิกไอคอน Run จะแยกวิเคราะห์ JSON Objects บน Android โดยใช้ Kotlin ได้อย่างไร จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ

จะแยกวิเคราะห์ JSON Objects บน Android โดยใช้ Kotlin ได้อย่างไร