۱۰ Alireza razaghi
مشکل در هماهنگی کتابخانه ها
جامعه جاوا (اندروید) ایجاد شده در ۱۹ آذر ۱۴۰۳

سلام وقت بخیر این وارنینگ به خاطر چیه و باید چیکار کنم؟؟. بحص اینه که وقتی ورژن رو میخوام بیارم بالاتر، اصلا ورژن 4.0.0 که بالاترین ورژن io.insert-koin:koin-android هست برای io.insert-koin:koin-androidx-scope وجود نداره و وقتی ورژن‌هاشون متفاوته میگه که اینا ورژناشون به هم نمیخوره

سلام،

وابستگی koin-androidx-scope رو حذف کن. 

همچنین اطلاعات لازم برای ارتقا به 4 در این لینک اومده.

محسن موحد ۲۰ آذر ۱۴۰۳، ۰۹:۰۵

ممنون حل شد ولی کلی ارور دیگه گرفتم

فایل آپدیت شده داده نمیشه؟!

Alireza razaghi ۲۰ آذر ۱۴۰۳، ۱۲:۲۶

جزئیات خطارو اینجا قرار بده.

محسن موحد ۲۲ آذر ۱۴۰۳، ۱۱:۴۹

app\src\main\java\com\sevenlearn\nikestore\view\NikeToolbar.kt:23:17: error: unresolved reference: toolbarTitleTv
               toolbarTitleTv.text = title
               ^
app\src\main\java\com\sevenlearn\nikestore\view\NikeToolbar.kt:23:32: error: variable expected
               toolbarTitleTv.text = title

 

 

incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors
 

Alireza razaghi ۲۴ آذر ۱۴۰۳، ۰۶:۵۱

سلام وقت بخیر من ارورهای دیگه رو حل کردم ولی این دو تا ارور رو نمیتونم رفع کنم:

class ShippingActivity : AppCompatActivity() {
    private lateinit var firstNameEt: EditText
    private lateinit var lastNameEt: EditText
    private lateinit var postalCodeEt: EditText
    private lateinit var phoneNumberEt: EditText
    private lateinit var addressEt: EditText
    private lateinit var onlinePaymentBtn: Button
    private lateinit var codBtn: Button
    val viewModel: ShippingViewModel by viewModel()
    val compositeDisposable = CompositeDisposable()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_shipping)

        // Initialize views
        firstNameEt = findViewById(R.id.firstNameEt)
        lastNameEt = findViewById(R.id.lastNameEt)
        postalCodeEt = findViewById(R.id.postalCodeEt)
        phoneNumberEt = findViewById(R.id.phoneNumberEt)
        addressEt = findViewById(R.id.addressEt)
        onlinePaymentBtn = findViewById(R.id.onlinePaymentBtn)
        codBtn = findViewById(R.id.codBtn)

        val purchaseDetail = intent.getParcelableExtra<PurchaseDetail>(EXTRA_KEY_DATA)
            ?: throw IllegalStateException("purchase detail cannot be null")

        val viewHolder = CartItemAdapter.PurchaseDetailViewHolder(purchaseDetail)
        viewHolder.bind(
            purchaseDetail.totalPrice,
            purchaseDetail.shipping_cost,
            purchaseDetail.payable_price
        )

        val onClickListener = View.OnClickListener {
            viewModel.submitOrder(
                firstNameEt.text.toString(),
                lastNameEt.text.toString(),
                postalCodeEt.text.toString(),
                phoneNumberEt.text.toString(),
                addressEt.text.toString(),
                if (it.id == R.id.onlinePaymentBtn) PAYMENT_METHOD_ONLINE else PAYMENT_METHOD_COD
            ).subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(object : NikeSingleObserver<SubmitOrderResult>(compositeDisposable) {
                    override fun onSuccess(t: SubmitOrderResult) {
                        if (t.bank_gateway_url.isNotEmpty()) {
                            openUrlInCustomTab(this@ShippingActivity, t.bank_gateway_url)
                        } else {
                            startActivity(
                                Intent(
                                    this@ShippingActivity,
                                    CheckOutActivity::class.java
                                ).apply {
                                    putExtra(EXTRA_KEY_ID, t.order_id)
                                }
                            )
                        }
                        finish()
                    }
                })
        }

        onlinePaymentBtn.setOnClickListener(onClickListener)
        codBtn.setOnClickListener(onClickListener)
    }
}

 

Alireza razaghi ۲۵ آذر ۱۴۰۳، ۱۳:۰۰

package com.sevenlearn.nikestore.feature.favorites

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.snackbar.Snackbar
import com.sevenlearn.nikestore.R
import com.sevenlearn.nikestore.common.EXTRA_KEY_DATA
import com.sevenlearn.nikestore.common.NikeActivity
import com.sevenlearn.nikestore.data.Product
import com.sevenlearn.nikestore.feature.product.ProductDetailActivity
import com.sevenlearn.nikestore.databinding.ActivityFavoriteProductsBinding
import org.koin.android.ext.android.get
import org.koin.android.ext.android.inject

class FavoriteProductsActivity : NikeActivity(),

    FavoriteProductsAdapter.FavoriteProductEventListener {

    private lateinit var binding: ActivityFavoriteProductsBinding
    val viewModel: FavoriteProductsViewModel by inject()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityFavoriteProductsBinding.inflate(layoutInflater)
        setContentView(binding.root)

        binding.helpBtn.setOnClickListener {
            Snackbar.make(it, R.string.favorites_help_message, Snackbar.LENGTH_LONG).show()
        }

        viewModel.productsLiveData.observe(this) {
            if (it.isNotEmpty()) {
                binding.favoriteProductsRv.layoutManager =
                    LinearLayoutManager(this, RecyclerView.VERTICAL, false)
                binding.favoriteProductsRv.adapter =
                    FavoriteProductsAdapter(it as MutableList<Product>, this, get())
            } else {
                showEmptyState(R.layout.view_default_empty_state)
                binding.emptyStateMessageTv.text = getString(R.string.favorites_empty_state_message)
            }
        }
    }

    override fun onClick(product: Product) {
        startActivity(Intent(this, ProductDetailActivity::class.java).apply {
            putExtra(EXTRA_KEY_DATA, product)
        })
    }

    override fun onLongClick(product: Product) {
        viewModel.removeFromFavorites(product)
    }
}
 

Alireza razaghi ۲۵ آذر ۱۴۰۳، ۱۳:۰۱

app\src\main\java\com\sevenlearn\nikestore\feature\favorites\FavoriteProductsActivity.kt:42:25: error: unresolved reference: emptyStateMessageTv
               binding.emptyStateMessageTv.text = getString(R.string.favorites_empty_state_message)
                       ^
app\src\main\java\com\sevenlearn\nikestore\feature\favorites\FavoriteProductsActivity.kt:42:45: error: variable expected
               binding.emptyStateMessageTv.text = getString(R.string.favorites_empty_state_message)
                                           ^
app\src\main\java\com\sevenlearn\nikestore\feature\shipping\ShippingActivity.kt:50:67: error: type mismatch: inferred type is PurchaseDetail but ItemPurchaseDetailsBinding was expected
       val viewHolder = CartItemAdapter.PurchaseDetailViewHolder(purchaseDetail)
                                                                 ^

Alireza razaghi ۲۵ آذر ۱۴۰۳، ۱۳:۰۱

از طرفی هم اگه میشه بگید این اخطار مربوط به کجاست و مهمه؟

Task :app:kaptDebugKotlin
warning: unknown enum constant Mode.LOCAL
 reason: class file for com.facebook.infer.annotation.Nullsafe$Mode not found
warning: unknown enum constant Mode.LOCAL
 reason: class file for com.facebook.infer.annotation.Nullsafe$Mode not found
warning: unknown enum constant Mode.LOCAL
 reason: class file for com.facebook.infer.annotation.Nullsafe$Mode not found
warning: unknown enum constant Mode.LOCAL
 reason: class file for com.facebook.infer.annotation.Nullsafe$Mode not found
 

Alireza razaghi ۲۵ آذر ۱۴۰۳، ۱۳:۰۲

2 تا از ارورها رو رفع کردم و فقط یک مشکل مونده اونم اینه:

app\src\main\java\com\sevenlearn\nikestore\feature\favorites\FavoriteProductsActivity.kt:42:25: error: unresolved reference: emptyStateMessageTv
               binding.emptyStateMessageTv.text = getString(R.string.favorites_empty_state_message)
                       ^
app\src\main\java\com\sevenlearn\nikestore\feature\favorites\FavoriteProductsActivity.kt:42:45: error: variable expected
               binding.emptyStateMessageTv.text = getString(R.string.favorites_empty_state_message)
                                           ^

اینجا هم مشکل از کلاس FavoriteProductsActivity.kt هست که فکر میکنم توی اینجا، کلاس ActivityFavoriteProductsBinding به activity_favorite_products.xml وصل هست و وقتی توی این خط کد (showEmptyState(R.layout.view_default_empty_state)
showEmptyState.emptyState.text = getString(R.string.favorites_empty_state_message)) باید بره توی view_default_empty_state.xml دنبال TextView با آی دی emptyStateMessageTv بگرده ولی توی این activity_favorite_products.xml میگکرده و پیدا نمیکنه

ممنون میشم کمک کنید این ارور رفع بشه

Alireza razaghi ۲۶ آذر ۱۴۰۳، ۰۶:۱۸

ُلام وقت بخیر، اون ارورها هم رفع شدن

چیزی که میمونه 3 تا مشکل هستن

اول اینکه صفحه اول هیچ محصولی رو نمایش نمیده

دوم اینکه وقتی روی گزینه سبد خرید کلیک میکنم به جای اینکه صفحه‌ای رو بیاره بالا که بگه وارد حساب کاربری خود بشید، اپ استاپ میشه

سوم اینکه توی صفحه ورود وقتی همینجوری چیزی وارد میکنم هیچ اتفاقی نمیوفته و در صفحه ثبت نام وقتی اطلاعات وارد میکنم برای ثبت نام و روی دکمه ثبت نام میزنم هیچ اتفاقی نمیوفته

ممنون میشم کمک بفرمایید

Alireza razaghi ۲۶ آذر ۱۴۰۳، ۰۹:۰۸