how to find the reason that my app does not open in android 8 but opens in android 12 (Kotlin Android Studio)

62 views Asked by At

Hey I work with Kotlin and Android Studio

Here is my activity_main.xml:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/background"
    tools:context=".MainActivity">

<!--    <TextView-->
<!--        android:text="Food Lovers"-->
<!--        android:gravity="center"-->
<!--        android:textSize="30sp"-->
<!--        android:layout_marginTop="45dp"-->
<!--        android:textStyle="bold|normal|italic"-->
<!--        android:textColor="@color/white"-->
<!--        android:layout_width="match_parent"-->
<!--        android:layout_height="wrap_content"/>-->
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="200dp"
        android:layout_height="161dp"
        android:layout_gravity="center"
        android:paddingTop="50dp"
        app:srcCompat="@drawable/logo" />

    <androidx.cardview.widget.CardView
        app:cardCornerRadius="25dp"
        app:cardElevation="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:layout_marginStart="38dp"
        android:layout_marginEnd="38dp"
        app:cardUseCompatPadding="true">
        
        <LinearLayout
            android:id="@+id/cardView"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <LinearLayout
                android:orientation="horizontal"
                android:gravity="center"
                android:layout_gravity="center"
                android:weightSum="2"
                android:layout_marginTop="30dp"
                android:layout_marginStart="20dp"
                android:layout_marginEnd="20dp"
                android:background="@drawable/switch_tumbs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/logIn"
                    android:fontFamily="@font/iransans_fanum"
                    android:text="@string/log_In"
                    android:gravity="center"
                    android:layout_gravity="center"
                    android:paddingBottom="5dp"
                    android:paddingTop="5dp"
                    android:textAlignment="center"
                    android:textColor="@color/textColor"
                    android:textSize="16sp"
                    android:textStyle="bold|normal"
                    android:paddingRight="15dp"
                    android:paddingLeft="15dp"
                    android:background="@drawable/switch_trcks"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView
                    android:id="@+id/singUp"
                    android:text="ثبت نام"
                    android:gravity="center"
                    android:fontFamily="@font/iransans_fanum"
                    android:layout_gravity="center"
                    android:paddingTop="5dp"
                    android:paddingRight="15dp"
                    android:paddingLeft="15dp"
                    android:paddingBottom="5dp"
                    android:textAlignment="center"
                    android:textColor="@color/pinkColor"
                    android:textSize="16sp"
                    android:textStyle="bold|normal"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
            </LinearLayout>

            <LinearLayout
                android:id="@+id/logInLayout"
                android:orientation="vertical"
                android:background="@color/white"
                android:padding="25dp"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <com.google.android.material.textfield.TextInputLayout
                    android:hint="شماره تلفن"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                    android:layout_marginStart="5dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginTop="5dp"
                    app:shapeAppearanceOverlay="@style/button4"
                    app:boxStrokeColor="#4E4A4A"
                    app:boxStrokeWidth="1dp"
                    app:prefixText="+۹۸"
                    app:endIconMode="clear_text"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <com.google.android.material.textfield.TextInputEditText
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:inputType="phone"
                        android:id="@+id/phoneNumber"
                        android:ems="10"
                        android:textSize="13sp"
                        android:textColor="@color/black"
                        android:textStyle="normal"
                        android:fontFamily="@font/iransans_fanum"
                        />
                </com.google.android.material.textfield.TextInputLayout>

                <com.google.android.material.textfield.TextInputLayout
                    android:hint="رمز عبور"
                    android:layoutDirection="rtl"
                    android:textDirection="ltr"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                    android:layout_marginStart="5dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginTop="5dp"
                    app:shapeAppearanceOverlay="@style/button4"
                    app:boxStrokeColor="#4E4A4A"
                    app:boxStrokeWidth="1dp"
                    app:boxCornerRadiusTopEnd="9dp"
                    app:boxCornerRadiusTopStart="9dp"
                    app:boxCornerRadiusBottomEnd="9dp"
                    app:boxCornerRadiusBottomStart="9dp"
                    app:endIconMode="password_toggle"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <com.google.android.material.textfield.TextInputEditText

                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:inputType="textPassword"
                        android:id="@+id/passwords"
                        android:ems="10"
                        android:textSize="13sp"
                        android:textColor="@color/black"
                        android:textStyle="normal"
                        android:fontFamily="@font/iransans_fanum"
                        />
                </com.google.android.material.textfield.TextInputLayout>

                <TextView
                    android:textSize="11sp"
                    android:text="رمز عبور خود را فراموش کرده‌اید؟   "
                    android:textAlignment="textEnd"
                    android:textColor="#616161"
                    android:textStyle="normal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
            </LinearLayout>

            <LinearLayout
                android:id="@+id/signUpLayout"
                android:visibility="gone"
                android:orientation="vertical"
                android:background="@color/white"
                android:padding="25dp"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <com.google.android.material.textfield.TextInputLayout
                    android:hint="شماره تلفن"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                    android:layout_marginStart="5dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginTop="5dp"
                    app:shapeAppearanceOverlay="@style/button4"
                    app:boxStrokeColor="#4E4A4A"
                    app:boxStrokeWidth="1dp"
                    app:prefixText="+۹۸"
                    app:endIconMode="clear_text"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <com.google.android.material.textfield.TextInputEditText
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:inputType="phone"
                        android:id="@+id/phoneNumbersi"
                        android:ems="10"
                        android:textSize="13sp"
                        android:textColor="@color/black"
                        android:textStyle="normal"
                        android:fontFamily="@font/iransans_fanum"
                        />
                </com.google.android.material.textfield.TextInputLayout>
                <com.google.android.material.textfield.TextInputLayout
                    android:hint="رمز عبور"
                    android:layoutDirection="rtl"
                    android:textDirection="ltr"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                    android:layout_marginStart="5dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginTop="5dp"
                    app:shapeAppearanceOverlay="@style/button4"
                    app:boxStrokeColor="#4E4A4A"
                    app:boxStrokeWidth="1dp"
                    app:endIconMode="password_toggle"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <com.google.android.material.textfield.TextInputEditText

                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:inputType="textPassword"
                        android:id="@+id/passwordssi"
                        android:ems="10"
                        android:textSize="13sp"
                        android:textColor="@color/black"
                        android:textStyle="normal"
                        android:fontFamily="@font/iransans_fanum"
                        />
                </com.google.android.material.textfield.TextInputLayout>
                <com.google.android.material.textfield.TextInputLayout
                    android:hint="تکرار رمز عبور"
                    android:layoutDirection="rtl"
                    android:textDirection="ltr"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
                    android:layout_marginStart="5dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginTop="5dp"
                    app:shapeAppearanceOverlay="@style/button4"
                    app:boxStrokeColor="#4E4A4A"
                    app:boxStrokeWidth="1dp"
                    app:endIconMode="password_toggle"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <com.google.android.material.textfield.TextInputEditText

                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:inputType="textPassword"
                        android:id="@+id/confirmpasswordssi"
                        android:ems="10"
                        android:textSize="13sp"
                        android:textColor="@color/black"
                        android:textStyle="normal"
                        android:fontFamily="@font/iransans_fanum"
                        />
                </com.google.android.material.textfield.TextInputLayout>


            </LinearLayout>

            <Button
                android:id="@+id/signIn"
                android:text="@string/log_In"
                android:textAllCaps="false"
                android:textSize="17sp"
                android:elevation="15dp"
                android:fontFamily="@font/iransans_fanum"
                android:gravity="center"
                android:layout_gravity="center"
                app:shapeAppearanceOverlay="@style/button5"
                app:backgroundTint="@color/pinkColor"
                android:layout_marginStart="24dp"
                android:layout_marginEnd="24dp"
                android:textColor="@color/textColor"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>
            <LinearLayout
                android:id="@+id/OTPLayout"
                android:visibility="visible"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="یا می‌توانید از طریق زیر وارد شوید"
                android:fontFamily="@font/iransans_fanum"
                android:textSize="12sp"
                android:layout_marginTop="16dp"
                android:layout_marginBottom="16dp"
                android:textStyle="normal"
                android:textAlignment="center"
                android:textColor="#474646"
                android:layout_gravity="center"
                android:gravity="center" />

            <Button
                android:id="@+id/signInOTP"
                android:text="ورود با شماره تلفن همراه"
                android:fontFamily="@font/iransans_fanum"
                android:textAllCaps="false"
                android:textSize="17sp"
                android:elevation="15dp"
                android:gravity="center"
                android:layout_gravity="center"
                app:shapeAppearanceOverlay="@style/button5"
                app:backgroundTint="#0932FF"
                android:layout_marginStart="24dp"
                android:layout_marginEnd="24dp"
                android:layout_marginBottom="24dp"
                android:textColor="@color/textColor"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/></LinearLayout>

        </LinearLayout>

    </androidx.cardview.widget.CardView>

</LinearLayout>

And here is my MainActivity.kt:

package com.example.sepehr1

import android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.DialogInterface

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

import android.view.View

import android.widget.Button
import android.widget.EditText
import android.widget.LinearLayout
import android.widget.TextView
import android.widget.Toast



class MainActivity : AppCompatActivity() {

@SuppressLint("UseCompatLoadingForDrawables", "CutPasteId")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val signIn = findViewById<Button>(R.id.signIn)
    val singUp = findViewById<TextView>(R.id.singUp)
    val logIn = findViewById<TextView>(R.id.logIn)
    val signUpLayout = findViewById<LinearLayout>(R.id.signUpLayout)
    val logInLayout = findViewById<LinearLayout>(R.id.logInLayout)
    val otpLayout = findViewById<LinearLayout>(R.id.OTPLayout)
    val cardView = findViewById<LinearLayout>(R.id.cardView)
    val phoneNumber = findViewById<EditText>(R.id.phoneNumber)
    var username = findViewById<EditText>(R.id.phoneNumber)
    var password = findViewById<EditText>(R.id.passwords)
    singUp.setOnClickListener{
        singUp.background = resources.getDrawable(R.drawable.switch_trcks,null)
        singUp.setTextColor(resources.getColor(R.color.textColor,null))
        logIn.background = null
        signIn.text="ثبت نام"
        cardView.setPadding(0,0,0,30)
        signUpLayout.visibility = View.VISIBLE
        logInLayout.visibility = View.GONE
        logIn.setTextColor(resources.getColor(R.color.pinkColor,null))
        otpLayout.visibility=View.GONE
    }

    logIn.setOnClickListener{
        singUp.background = null
        signIn.text="ورود"
        cardView.setPadding(0,0,0,0)
        singUp.setTextColor(resources.getColor(R.color.pinkColor,null))
        logIn.background = resources.getDrawable(R.drawable.switch_trcks,null)
        signUpLayout.visibility = View.GONE
        logInLayout.visibility = View.VISIBLE
        logIn.setTextColor(resources.getColor(R.color.textColor,null))
        otpLayout.visibility=View.VISIBLE
    }

}
}

My AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Sepehr1"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

And My build.gradle:

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-parcelize'
}

android {
    namespace 'com.example.sepehr1'
    compileSdk 34

    defaultConfig {
        applicationId "com.example.sepehr1"
        minSdk 23
        targetSdk 34
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.10.1'
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.9.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

My app does not open in android 8 or 7 but opens in android 12 and I can not find the reason of this problem and make my app compatible with lower android versions! (I have chosen android 7 as the lowest version of my app while creating the project)

compileSDK is 34 and minSdk is 23 (my app still does not work with lower version of minSDK! And also I made another app with these details and it worked in android 7)

0

There are 0 answers