Когда я запускаю приложение android на мобильном устройстве, оно выдает мне эту ошибку, пожалуйста, сообщите мне об этой ошибке - PullRequest
0 голосов
/ 28 апреля 2020

Когда я запускаю это приложение на эмуляторе, оно не выдает ошибку, но когда я пробую его на мобильном устройстве через USB-соединение, оно выдает ошибку. Я думаю, что эта ошибка принадлежит круговой ImageView.

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: android.view.InflateException: 
Binary XML file line #32: Error inflating class de.hdodenhof.circleimageview.CircleImageView
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2114)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
    at android.app.ActivityThread.access$700(ActivityThread.java:143)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4960)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    at dalvik.system.NativeStart.main(Native Method)

build.gradle

android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
    applicationId "com.example.myapplication"
    minSdkVersion 16
    targetSdkVersion 29
    multiDexEnabled true
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Проблема с файлом для рисования, убедитесь, что он правильно помещен в папку для рисования.

android:src="@drawable/user_profile_image"         //here
0 голосов
/ 28 апреля 2020

Манифест

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.myapplication">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name=".ViewFullVideoActivity"></activity>
    <activity android:name=".ViewFullImageActivity" />
    <activity
        android:name=".RegisterActivity"
        android:theme="@style/LoginPage" />
    <activity android:name=".MessageChatLogActivity" />
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".LoginActivity" />
    <activity android:name=".New_Message_Activity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    </activity>
    <activity android:name=".ChatLogActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".LatestActivity" />
    </activity> <!-- #FCM -->
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="@string/default_notification_channel_id" />
    <meta-data
        android:name="firebase_messaging_auto_init_enabled"
        android:value="false" />
    <meta-data
        android:name="firebase_analytics_collection_enabled"
        android:value="false" />

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_stat_ic_notification" />

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />

    <service
        android:name=".MyFirebaseMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
</application>

Activity_main. xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:titleTextColor="@android:color/white"
        app:popupTheme="@style/AppTheme">


        <TextView
            android:id="@+id/username_toolbar_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/username"
            android:textSize="18sp"
            android:textStyle="bold"
            android:textColor="@android:color/white"
            android:layout_marginLeft="280dp"
            android:layout_marginStart="280dp" />

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/profileImage_toolbar_layout"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:src="@drawable/user_profile_image"
            android:tint="@android:color/white"
            android:layout_margin="10dp"/>


    </androidx.appcompat.widget.Toolbar>

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        app:tabIndicatorColor="@android:color/white"/>

</com.google.android.material.appbar.AppBarLayout>

<androidx.viewpager.widget.ViewPager
    android:id="@+id/view_Pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

MainActivity.kt

class MainActivity : AppCompatActivity() {

var firebaseUser : FirebaseUser? = null
var refUsers : DatabaseReference? = null

internal class ViewPagerAdapter(fragmentManager : FragmentManager) : FragmentPagerAdapter(fragmentManager){

    private val fragments : ArrayList<Fragment>
    private val titles    : ArrayList<String>

    init {
        fragments = ArrayList<Fragment>()
        titles = ArrayList<String>()
    }


    override fun getItem(position: Int): Fragment {
        return fragments[position]
    }

    override fun getCount(): Int {
        return fragments.size
    }

    fun addFragment(fragment: Fragment , title:String){
        fragments.add(fragment)
        titles.add(title)
    }

    override fun getPageTitle(position: Int): CharSequence? {
        return titles[position]
    }

}



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

    val toolbar : androidx.appcompat.widget.Toolbar = findViewById(R.id.toolbar_layout)
    setSupportActionBar(toolbar)
    supportActionBar!!.title = ""

    firebaseUser = FirebaseAuth.getInstance().currentUser
    refUsers = FirebaseDatabase.getInstance().reference.child("Users-Information").child(
        firebaseUser?.uid.toString())

    refUsers!!.addValueEventListener(object : ValueEventListener {
        override fun onDataChange(p0: DataSnapshot) {
            if (p0.exists()){
                val user : Users? = p0.getValue(Users::class.java)
                username_toolbar_layout.text = user!!.getUserName()
                Picasso.get().load(user.getProfileImage()).placeholder(R.drawable.user_profile_image).into(profileImage_toolbar_layout)
            }
        }

        override fun onCancelled(p0: DatabaseError) {
        }
    })

    val tabLayout : TabLayout = tab_layout
    val viewPager : ViewPager = view_Pager

    val viewPagerAdapter = ViewPagerAdapter(supportFragmentManager)

    viewPagerAdapter.addFragment(ChatFragment() ,"Chat")
    viewPagerAdapter.addFragment(SearchFragment() , "Search")
    viewPagerAdapter.addFragment(SettingFragment() , "Setting")

    viewPager.adapter = viewPagerAdapter
    tabLayout.setupWithViewPager(viewPager)



    verifyTheUserLoggedIn()

}



private fun verifyTheUserLoggedIn() {

    val currentUser = FirebaseAuth.getInstance().uid
    if (currentUser == null) {

        val intent = Intent(this, RegisterActivity::class.java)
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
        startActivity(intent)
        finish()

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...