✅ 1. Package ni nini?

Package ni njia ya kupangilia (organize) files/classes/functions katika kundi moja la mantiki ndani ya project.

? Mfano wa package:

package com.bongolite.utils

fun greet() = println("Hi!")

 

? 2. Library ni nini?

Library ni mkusanyiko wa code (mara nyingi tayari imeandikwa), ambao unaweza kutumiwa na projects tofauti. Inaweza kuwa na classes/functions nyingi, mara nyingi zimepakiwa kama .jar, .aar, au .klib.

? Mfano wa library:

implementation("com.squareup.retrofit2:retrofit:2.9.0")

Kisha unaweza kutumia:

import retrofit2.Retrofit

 

? TOFAUTI KUU KATI YA PACKAGE NA LIBRARY

Kipengele Package Library
Maana Kikundi cha code ndani ya project Mkusanyiko wa code reusable (nje ya project)
Wigo Kawaida ndani ya project moja tu Inasambazwa, hutumiwa na project nyingi
Muundo Kama folder ya code Kama .jar, .klib, .aar, nk.
Matumizi Kuimport sehemu nyingine ya project Kuinstall na kuimport kama dependency
Mifano package com.example.utils com.google.code.gson:gson

 

? KWA NINI VINAONEKANA KAMA SAWA?

Kwa sababu library huundwa kwa kutumia packages ndani yake. Kwa mfano:

Library: Gson
 => Package: com.google.gson

Kwa hiyo:

Kila library huwa ina packages, lakini si kila package ni library.


 

? MFANO HALISI KATIKA KOTLIN

Mfano wa kutumia package:

// File: src/utils/MathUtils.kt
package utils

fun square(x: Int): Int = x * x

Mfano wa kutumia library:

// build.gradle.kts
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")

// Kisha kwenye code
import kotlinx.coroutines.*

 

? MUHTASARI

Kauli Ukweli
"Package ni sawa na library" ❌ Hapana
"Library hujengwa kwa kutumia packages" ✅ Ndiyo
"Unaweza kutumia package bila library" ✅ Ndiyo
"Unaweza kutumia library bila kuandika package mwenyewe" ✅ Ndiyo