Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-15/post/mobileproglib/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
πŸ“± How to: ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с API Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях @Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° мобильного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° | Android, iOS, Swift, Retrofit, Moshi, Chuck
TG Telegram Group & Channel
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° мобильного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° | Android, iOS, Swift, Retrofit, Moshi, Chuck | United States America (US)
Create: Update:

πŸ“± How to: ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с API Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Долгая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, лишниС запросы ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ прилоТСния ΠΏΡ€ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

1️⃣ ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Room (Android) ΠΈΠ»ΠΈ CoreData (iOS) для локального хранСния:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ ΠŸΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡ

Π”Π΅Π»ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° страницы:

πŸ”΅ Android: Paging 3 + RemoteMediator
πŸ”΅ iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ ΠŸΠΎΠ²Ρ‚ΠΎΡ€ запросов ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ JSON

πŸ”΅ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ kotlinx.serialization (Android) ΠΈ Codable (iOS)
πŸ”΅ Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ поля Ρ‡Π΅Ρ€Π΅Π· @Transient / @Ignore

5️⃣ HTTP-ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


πŸ’¬ Как Π²Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…? Π”Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ

🐸 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° мобильного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

#буст

πŸ“± How to: ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с API Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Долгая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, лишниС запросы ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ прилоТСния ΠΏΡ€ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

1️⃣ ΠšΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Room (Android) ΠΈΠ»ΠΈ CoreData (iOS) для локального хранСния:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ ΠŸΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡ

Π”Π΅Π»ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° страницы:

πŸ”΅ Android: Paging 3 + RemoteMediator
πŸ”΅ iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ ΠŸΠΎΠ²Ρ‚ΠΎΡ€ запросов ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ JSON

πŸ”΅ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ kotlinx.serialization (Android) ΠΈ Codable (iOS)
πŸ”΅ Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ поля Ρ‡Π΅Ρ€Π΅Π· @Transient / @Ignore

5️⃣ HTTP-ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


πŸ’¬ Как Π²Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…? Π”Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ

🐸 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° мобильного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘4❀1


>>Click here to continue<<

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° мобильного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° | Android, iOS, Swift, Retrofit, Moshi, Chuck






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Can't create/write to file '/tmp/#sql-temptable-a06e-3d701b-1dc.MAI' (Errcode: 28 "No space left on device") in /var/www/hottg/function.php:216 Stack trace: #0 /var/www/hottg/function.php(216): mysqli_query() #1 /var/www/hottg/function.php(115): select() #2 /var/www/hottg/post.php(351): daCache() #3 /var/www/hottg/route.php(63): include_once('...') #4 {main} thrown in /var/www/hottg/function.php on line 216