Kotlin, Android და ჯავა
Kotlin SDK არის ჩვეულებრივი კლიენტის სტეიკი JVM და Android პროგრამებისთვის. იგი ცხოვრობს kotlin/ ქვეშ Iroha საცავში და განკუთვნილია პლატფორმაზე, ასე რომ პორტაბილური კოდი არ იღებს დამოკიდებულებებს Android.
მოდულები
| არტეფაქტი | ტიპი | გამოყენება |
|---|---|---|
org.hyperledger.iroha.sdk:core-jvm | JAR | წმინდა Kotlin/JVM Norito, მონაცემთა მოდელი, კრიპტო, ტრანზაქცია, Torii და პროტოკოლის კოდი |
org.hyperledger.iroha.sdk:client-android | AAR | Android საკვანძო შენახვის, მოწყობილობის ტელემეტრიისა და JNI მხარდაჭერილი კლიენტთა ინტეგრაციის |
org.hyperledger.iroha.sdk:offline-wallet-android | AAR | Android ოფლაინ საფულის ტრანსპორტირება და ინტეგრაცია, რომელიც აგებულია client-android |
არტეფაქტები ჯერ არ არის გამოქვეყნებული Maven Central. ააშენეთ და გამოაქვეყნეთ ისინი ადგილობრივად ჩაკეტილი Iroha წყარო რევიზიონიდან:
cd kotlin
./gradlew publishToMavenLocalშემდეგ აირჩიეთ მხოლოდ ის არტეფაქტი, რომელიც თქვენს განაცხადშია საჭირო:
repositories {
mavenLocal()
}
dependencies {
implementation("org.hyperledger.iroha.sdk:core-jvm:0.1.0")
// Android client features:
// implementation("org.hyperledger.iroha.sdk:client-android:0.1.0")
// Android offline-wallet features:
// implementation("org.hyperledger.iroha.sdk:offline-wallet-android:0.1.0")
}core-jvm არ შეიცავს Android დამოკიდებულებებს. შეინახეთ Android კლიენტის კოდი და საკვანძო შენახვის კოდი client-android და გამოიყენეთ offline-wallet-android მხოლოდ Android-ის ოფლაინ ქაღალდისთვის და JNI ნაკადებისთვის.
Kotlin და Java-ს თავსებადობა
საზოგადოება API არის Kotlin-პირველად და უზრუნველყოფს Java interop სადაც JVM დამრეკველებს ეს სჭირდებათ. თანაბარი ცვლილებები ასახულია შესაბამის java/ განხორციელება. ახალი Android ინტეგრაციები უნდა დაიწყოს: Kotlin ზემოდან არსებული არტეფაქტები.
ყველა Kotlin მოდულები აღსრულება JDK 8 API კომპილიტაციის დროს თავსებადობა -Xjdk-release=8, მიუხედავად იმისა, რომ მშენებლობის ინსტრუმენტების ჯაჭვი თავად იყენებს JDK 21. არ გამოიყენოთ JDK 9+ APIs დაწვრილებით SDK კოდი.
ააშენეთ და შეამოწმეთ
ჩატარდეს პორტატული JVM ტესტები:
cd kotlin
./gradlew :core-jvm:test --console=plainშექმნა Android არტეფაქტები:
./gradlew :client-android:assembleRelease \
:offline-wallet-android:assembleRelease --quietამჟამინდელი მოცულობა
Kotlin SDK მოიცავს:
- Norito კოდირება და დეკოდირება
- კანონიკური ანგარიშის და აქტივების მისამართების მართვა
- ტრანზაქციების შექმნა, ხელმოწერა და ოფლაინ კონვერტები
- Torii HTTP, WebSocket და SSE კლიენტები
- მულტიხელმოწერით, აბონენტობით, SoraFS, Nexus და Connect-ის მოდელებით
- Android საკვანძო შენახვისა და მოწყობილობის ტელემეტრიის ინტეგრაციები
- Android ოფლაინ QR, ახლომდებარე და NFC ტრანსპორტები
იხილეთ Kotlin SDK README მოდულის სპეციფიკური APIs და ზუსტი მშენებლობის ბრძანებებისათვის.