TG Telegram Group Link
Channel: 🔴 ANDROID PROGRAMMING CHANNEL
Back to Bottom
جدول استان ها و شهر های کشورمون

برای اضافه کردن کافی ست توی دیتابیس مورد نظر خودتون import کنید.

چطور query بزنیم :

در ابتدا که لازم هست نام تمامی استان ها رو نمایش بدیم طبق تصویر و سپس کاربر زمانی که استانی رو انتخاب می کنه کافی ایدی استان رو بفرستم و بر اساس همون ایدی select بزنیم.
SELECT * FROM province

برای select

SELECT * FROM city WHERE province_id=12


در تصویر بالا همچیز واضح هست.

@AndroidStudyChannel
fun validateMelliCode(melliCode: String): Boolean {
val identicalDigits = arrayOf("0000000000", "1111111111", "2222222222", "3333333333", "4444444444", "5555555555", "6666666666", "7777777777", "8888888888", "9999999999")
return when {
melliCode.trim { it <= ' ' }.isEmpty() -> { false }
melliCode.length != 10 -> { false }
Arrays.asList(identicalDigits).contains(melliCode) -> { false }
else -> {
var sum = 0
for (i in 0..8) {
sum += Character.getNumericValue(melliCode[i]) * (10 - i)
}
val lastDigit: Int
val divideRemaining = sum % 11
lastDigit = if (divideRemaining < 2) {
divideRemaining
} else {
11 - divideRemaining
}
Character.getNumericValue(melliCode[9]) == lastDigit
}
}
}


سورس کد تشخیص صحت کد ملی برای زبان کاتلین

برای استفاده کافی به این شکل تابع را فراخوانی کنید :
if(validateMelliCode(binding?.EtMeli?.text.toString())){
معتبر
}else{
نامعتبر
}

@AndroidStudyChannel
📑📝
دنبال مقاله ISI آماده چاپ هستید؟

مقاله ISI معتبر جهت مصاحبه دکتری، اپلای و ارتقا رزومه علمی شما

تقویت رزومه علمی ویژه مصاحبه دکتری 1400 در کوتاه ترین زمان

پذیرش مقالات JCR و علمی پژوهشی مورد تایید وزارت علوم

افزایش سایتیشن و ارجاع دهی به مقالات شما در کمترین زمان


📌به کانال مقالات ویکی پیپر بپیوندید 👇👇

https://hottg.com/wiki_paper
آموزش پیاده سازی وب سرویس دیوار Api web service divar
شرکت در دوره آموزشی :
https://homeandroid.ir/api-web-service-divar
Media is too big
VIEW IN TELEGRAM
دوره آموزش پیاده سازی api برای اپ دیوار

https://homeandroid.ir/api-web-service-divar


@AndroidStudyChannel
Media is too big
VIEW IN TELEGRAM
دوره آموزش پیاده سازی api برای اپ دیوار

https://homeandroid.ir/api-web-service-divar


@AndroidStudyChannel
Api Dpi data End Scroll

این آموزش توسط هیچ منبع و وبسایتی منتشر نشده و سایت خانه اندروید به عنوان اولین وبسایت منتشر کننده این اموزش ست.

لینک شرکت در دوره آموزشی :
https://homeandroid.ir/%d8%af%d9%88%d8%b1%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-end-scroll-data-dpi-kotlin


@AndroidStudyChannel
Media is too big
VIEW IN TELEGRAM
Scope functions let kotlin قسمت اول


@AndroidStudyChannel
Media is too big
VIEW IN TELEGRAM
Scope functions apply kotlin قسمت چهارم


@AndroidStudyChannel
Media is too big
VIEW IN TELEGRAM
Scope functions also kotlin قسمت پنجم


@AndroidStudyChannel
Media is too big
VIEW IN TELEGRAM
coil library image loading fast , modern , coroutines

کتابخانه عالی برای load تصاویر با سرعت بالا و گری کردن و بلور کردن و گرد کردن و...


@AndroidStudyChannel
This media is not supported in your browser
VIEW IN TELEGRAM
Koin - a smart Kotlin injection library

koin چیست


@AndroidStudyChannel
Media is too big
VIEW IN TELEGRAM
Livedata overview and Broadcastreceiver ConnectivityManager

@AndroidStudyChannel
سلام و احترام خدمت دوستان
در گروه های اندروید سوال مطرح شد توسط یکی از کاربران که کسی هم جواب نداد که در کانال تلگرامی خانه اندروید خدمتون منتشر میشه تا دوستانی نیاز دارن از این سورس کد استفاده کنند.

سوال : بدست آوردن زمان پست منتشر شده مشابه دیوار و...
مثلا : سه ساعت پیش
دیروز
دو هفته پیش
یک ماه پیش
یک سال پیش و ..

دقت بفرمایین این سورس کد که براتون پیاده سازی کرده ام به زبان کاتلین هست و هم چنین مشابه دیوار می باشد.
fun covertTimeToText(dataDate: String): String? {
var convertTime: String? = null
try {
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault())
val pasTime: Date = dateFormat.parse(dataDate)
val nowTime = Date()
val dateDiff = floor((nowTime.time.toDouble() - pasTime.time.toDouble()) / 1000).toInt()
when {
dateDiff < 60 -> {
convertTime = "لحظاتی پیش"
}
dateDiff < 150 -> {
convertTime = "دقایقی پیش"
}
dateDiff < 300 -> {
convertTime = "۵ دقیقه پیش"
}
dateDiff < 600 -> {
convertTime = "۱۰ دقیقه پیش"
}
dateDiff < 900 -> {
convertTime = "یک ربع پیش"
}
dateDiff < 1800 -> {
convertTime = "نیم ساعت پیش"
}
dateDiff in 1800..3599 -> {
convertTime = "۴۵ دقیقه پیش"
}
dateDiff in 3600..86400 -> {
val interval = (dateDiff / 3600)
convertTime = Farsi_Number_Change.Changefarsi(interval.toString()) + " ساعت پیش "
}
dateDiff in 86400..2591999 -> {
val interval = (dateDiff / 86400)
when (interval) {
1 -> {
convertTime = "دیروز"
}
in 2..6 -> {
convertTime = Farsi_Number_Change.Changefarsi(interval.toString()) + " روز پیش "
}
7 -> {
convertTime = "یک هفته پیش"
}14 -> {
convertTime = "دو هفته پیش"
}21 -> {
convertTime = "سه هفته پیش"
}28 -> {
convertTime = "چهار هفته پیش"
}
else -> {
convertTime =
Farsi_Number_Change.Changefarsi(interval.toString()) + " روز پیش "
}
}

}
dateDiff in 2592000..31535999 -> {
val interval = (dateDiff / 2592000)
convertTime = Farsi_Number_Change.Changefarsi(interval.toString()) + " ماه پیش "
}

dateDiff in 31536000..915360000 -> {
val interval = (dateDiff / 31536000)
convertTime = Farsi_Number_Change.Changefarsi(interval.toString()) + " سال پیش "
}

}

} catch (e: Exception) {

}
return convertTime
}
چطور از سورس کد فوق یا بالا استفاده کنیم؟
برای این منظورم لازم هست fun مورد نظر فراخوانی شود و تاریخ برای متد ارسال بشه.

به عنوان نمونه :
holder.binding?.TvTime.text = covertTimeToText("2021-12-02 12:21:24")

در پاسخ به این متد و تاریخ : کلمه دیروز ارسال میشه.
HTML Embed Code:
2025/07/03 07:17:15
Back to Top