MAANA YA PACKAGE

Package ni njia ya kupanga na kupanga upya (organize) code yako kwa mpangilio mzuri na wa kihierarkia. Kwa lugha rahisi, package ni "folda ya kiakili" inayoonyesha kuwa faili au code fulani ni sehemu ya kundi au moduli fulani.

? Mfano wa kawaida:

package com.bongolite.utils

Hii inaonyesha kwamba code iliyopo katika faili hilo iko kwenye kundi (package) linaloitwa com.bongolite.utils.


 

AINA ZA PACKAGE KATIKA KOTLIN

Katika Kotlin, packages huweza kugawanywa katika makundi yafuatayo:


✅ A. Standard Library Packages (Zilizojengwa na Kotlin)

Hizi ni packages ambazo tayari zimo ndani ya Kotlin. Hautakiwi kuziunda; zinapatikana moja kwa moja.

? Orodha ya Packages maarufu:

Package Maelezo
kotlin.math Kazi za hisabati kama sqrt(), PI, abs()
kotlin.collections Orodha, ramani na seti – List, Map, Set
kotlin.io Kazi za I/O kama readLine() na println()
kotlin.text Kazi za maandishi kama substring()
kotlin.random Kutengeneza namba za bahati

? Mfano:

import kotlin.math.sqrt

fun main() {
    println(sqrt(16.0)) // Output: 4.0
}

?️ B. Custom / User-Defined Packages

Hizi ni packages unazoziunda mwenyewe ndani ya project yako ili kupanga code yako vizuri.

? Orodha ya Mfano:

Package Kazi
com.bongolite.utils Kazi ndogo ndogo kama formatting
com.bongolite.database Kuhusu hifadhidata
com.bongolite.auth Login & usalama
tz.bongo.math Hisabati za ki-Tanzania ?
org.school.results Matokeo ya wanafunzi

? Mfano:

package com.bongolite.utils

fun greet(name: String) {
    println("Hello, $name!")
}

? C. Third-Party Packages (Libraries za Nje)

Hizi ni kutoka kwa developers wengine, hupatikana kupitia Gradle au Maven.

? Orodha ya Packages maarufu:

Package Library / Kazi
com.google.gson.Gson JSON parsing (Gson)
org.jetbrains.exposed ORM kwa database
com.squareup.retrofit2 HTTP API client
io.ktor.client.* HTTP client ya Kotlin
org.koin.core.* Dependency injection

? Mfano:

import com.google.gson.Gson

data class User(val name: String, val age: Int)

fun main() {
    val gson = Gson()
    val json = gson.toJson(User("Asha", 23))
    println(json) // {"name":"Asha","age":23}
}

? D. Android SDK Packages (kwa Kotlin Android)

Zinapatikana unapofanya Android development kwa Kotlin.

? Orodha ya Packages maarufu:

Package Maelezo
android.os.Bundle Kuweka/kupokea data katika activities
android.view.View Kudhibiti UI components
android.widget.Button Button ya Android
androidx.appcompat.app Compatibility support
androidx.lifecycle.* MVVM architecture

? Mfano:

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        println("App started")
    }
}

 

JINSI YA KUANDIKA PACKAGE (na Mifano Mitano)

Katika Kotlin, package huandikwa mstari wa kwanza kabisa wa faili ya .kt. Muundo ni:

package your.package.name

⚠️ Kanuni Muhimu:

? Mifano Mitano:

  1. package com.bongolite.utils
    
  2. package tz.maktaba.reader
    
  3. package org.school.math.geometry
    
  4. package io.bongo.quizgame.ui
    
  5. package com.myapp.helpers
    

 

KAZI NA FAIDA ZA PACKAGE

✅ A. Kupanga Code Vizuri (Organization)

Package huwezesha kutenganisha vipengele vya mfumo. Mfano, code ya login na code ya kuchora charts hazipaswi kuwa sehemu moja.

✅ B. Kuepuka Migongano ya Majina (Name Conflicts)

Unaweza kuwa na function start() kwenye packages mbili tofauti bila tatizo.

✅ C. Kurahisisha Usimamizi (Maintainability)

Unapojua kuwa kazi zote za database ziko kwenye package database, unayajua wapi pa kuangalia wakati wa kufanya mabadiliko.

✅ D. Kuongeza Usalama (Encapsulation)

Unaweza kuweka visibility modifiers kama internal au private ili kudhibiti ni sehemu gani za code zinazoonekana nje ya package.

✅ E. Reusability ya Code

Code iliyopangwa vizuri kwenye packages inaweza kutumiwa tena (reused) kwenye miradi mingine bila kuchanganya kila kitu.


 

 

✅ HITIMISHO

Kigezo Maelezo
Maana ya package Njia ya kupanga code kama folders
Aina kuu Standard, Custom, Third-party, Android SDK
Uandishi package com.example.utils (line ya kwanza)
Faida Organization, usability, security, maintainability
Mifano Imetolewa zaidi ya mitano