当我尝试打开它时,Android App崩溃了

时间:2017-03-24 00:40:27

标签: java android

我正在构建一个日历应用程序,它将通过sqlite数据库存储事件,当我完成它时,由于某种原因总是崩溃,我不知道错误在哪里。

这是我的logcat

              --------- beginning of crash
     E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.mobile.aaron.aaroncalendar, PID: 25587
              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mobile.aaron.aaroncalendar/com.mobile.aaron.aaroncalendar.CustomCalendarActivity}: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.mobile.aaron.aaroncalendar.CalendarCustomView
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2600)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2682)
                  at android.app.ActivityThread.-wrap11(ActivityThread.java)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
                  at android.os.Handler.dispatchMessage(Handler.java:111)
                  at android.os.Looper.loop(Looper.java:207)
                  at android.app.ActivityThread.main(ActivityThread.java:5777)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
               Caused by: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.mobile.aaron.aaroncalendar.CalendarCustomView
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                  at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:412)
                  at android.app.Activity.setContentView(Activity.java:2229)
                  at com.mobile.aaron.aaroncalendar.CustomCalendarActivity.onCreate(CustomCalendarActivity.java:11)
                  at android.app.Activity.performCreate(Activity.java:6347)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2547)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2682) 
                  at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496) 
                  at android.os.Handler.dispatchMessage(Handler.java:111) 
                  at android.os.Looper.loop(Looper.java:207) 
                  at android.app.ActivityThread.main(ActivityThread.java:5777) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 
               Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.mobile.aaron.aaroncalendar.CalendarCustomView
                  at android.view.LayoutInflater.createView(LayoutInflater.java:645)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                  at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:412) 
                  at android.app.Activity.setContentView(Activity.java:2229) 
                  at com.mobile.aaron.aaroncalendar.CustomCalendarActivity.onCreate(CustomCalendarActivity.java:11) 
                  at android.app.Activity.performCreate(Activity.java:6347) 
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2547) 
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2682) 
                  at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496) 
                  at android.os.Handler.dispatchMessage(Handler.java:111) 
                  at android.os.Looper.loop(Looper.java:207) 
                  at android.app.ActivityThread.main(ActivityThread.java:5777) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 
               Caused by: java.lang.reflect.InvocationTargetException
                  at java.lang.reflect.Constructor.newInstance(Native Method)
                  at android.view.LayoutInflater.createView(LayoutInflater.java:619)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                  at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:412) 
                  at android.app.Activity.setContentView(Activity.java:2229) 
                  at com.mobile.aaron.aaroncalendar.CustomCalendarActivity.onCreate(CustomCalendarActivity.java:11) 
                  at android.app.Activity.performCreate(Activity.java:6347) 
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2547) 
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2682) 
                  at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496) 
                  at android.os.Handler.dispatchMessage(Handler.java:111) 
                  at android.os.Looper.loop(Looper.java:207) 
                  at android.app.ActivityThread.main(ActivityThread.java:5777) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 
               Caused by: com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: Missing databases/events file (or .zip, .gz archive) in assets, or target folder not writable
                  at android.content.res.AssetManager.openAsset(Native Method)
                  at android.content.res.AssetManager.open(AssetManager.java:325)
                  at android.content.res.AssetManager.open(AssetManager.java:299)
                  at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.copyDatabaseFromAssets(SQLiteAssetHelper.java:436)
                  at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.createOrOpenDatabase(SQLiteAssetHelper.java:400)
                  at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:176)
                  at com.mobile.aaron.aaroncalendar.database.DatabaseObject.<init>(DatabaseObject.java:10)
                  at com.mobile.aaron.aaroncalendar.database.DatabaseQuery.<init>(DatabaseQuery.java:0)
                  at com.mobile.aaron.aaroncalendar.CalendarCustomView.setUpCalendarAdapter(CalendarCustomView.java:89)
                  at com.mobile.aaron.aaroncalendar.CalendarCustomView.<init>(CalendarCustomView.java:43)
                  at java.lang.reflect.Constructor.newInstance(Native Method) 
                  at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                  at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:412) 
                  at android.app.Activity.setContentView(Activity.java:2229) 
                  at com.mobile.aaron.aaroncalendar.CustomCalendarActivity.onCreate(CustomCalendarActivity.java:11) 
                  at android.app.Activity.performCreate(Activity.java:6347) 
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2547) 
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2682) 
                  at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496) 
                  at android.os.Handler.dispatchMessage(Handler.java:111) 
                  at android.os.Looper.loop(Looper.java:207) 
                  at android.app.ActivityThread.main(ActivityThread.java:5777) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 

这是我的布局

activity_custom_calendar.xml

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_custom_calendar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.mobile.aaron.aaroncalendar.CustomCalendarActivity">
<com.mobile.aaron.aaroncalendar.CalendarCustomView
    android:id="@+id/custom_calendar"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</com.mobile.aaron.aaroncalendar.CalendarCustomView>
</LinearLayout>

你能帮我解决错误吗?我是新来的android谢谢

1 个答案:

答案 0 :(得分:0)

写的根本原因是

  

资产中缺少数据库/事件文件(或.zip,.gz存档)或目标文件夹不可写

确保在引用时包含sqlite数据库

相关问题