有关于郭大神《第一行代码》酷欧天气遇到的问题

在ChooseAreaFragment中,代码全部敲完以后,运行app时遇到了,闪退现象,查看logcat,遇到如下错误

报错上写的是:can not find a class named com.example.lrx.coolweather.android.db.Province
而根据你的截图上来看,你的Province是com.example.lrx.coolweather.db.Province,中间少了一个android

修改litepal.xml文件为:
<?xml version="1.0" encoding="utf-8"?>








地址指的是class文件的地址。

错误如下:09-01 11:01:55.619 3833-3833/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.lrx.coolweather, PID: 3833
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lrx.coolweather/com.example.lrx.coolweather.MainActivity}: org.litepal.exceptions.DatabaseGenerateException: can not find a class named com.example.lrx.coolweather.android.db.Province
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: org.litepal.exceptions.DatabaseGenerateException: can not find a class named com.example.lrx.coolweather.android.db.Province
at org.litepal.LitePalBase.getSupportedFields(LitePalBase.java:197)
at org.litepal.LitePalBase.getTableModel(LitePalBase.java:124)
at org.litepal.tablemanager.Generator.getAllTableModels(Generator.java:74)
at org.litepal.tablemanager.Creator.createOrUpgradeTable(Creator.java:48)
at org.litepal.tablemanager.Generator.create(Generator.java:171)
at org.litepal.tablemanager.Generator.create(Generator.java:209)
at org.litepal.tablemanager.LitePalOpenHelper.onCreate(LitePalOpenHelper.java:83)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at org.litepal.tablemanager.Connector.getWritableDatabase(Connector.java:64)
at org.litepal.tablemanager.Connector.getDatabase(Connector.java:87)
at org.litepal.crud.DataSupport.findAll(DataSupport.java:529)
at org.litepal.crud.DataSupport.findAll(DataSupport.java:512)
at com.example.lrx.coolweather.ChooseAreaFragment.queryProvinces(ChooseAreaFragment.java:127)
at com.example.lrx.coolweather.ChooseAreaFragment.onActivityCreated(ChooseAreaFragment.java:118)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:2355)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1451)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3244)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3200)
at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:195)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:597)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
at android.app.Activity.performStart(Activity.java:6679)
其中,显著错误为: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lrx.coolweather/com.example.lrx.coolweather.MainActivity}: org.litepal.exceptions.DatabaseGenerateException: can not find a class named com.example.lrx.coolweather.android.db.Province。
结合在网上寻找的解答方法,大致为litepal中的包名路径不一致等,检查无误后还是这样,请解答

![图片说明](https://img-ask.csdn.net/upload/201809/01/1535805157_883218.png)图片说明

图片说明

代码没有抄对,建议按照这个复制粘贴:https://blog.csdn.net/aiyuan1996/article/details/52497035

com.example.lrx.coolweather.android.db.Province 这个引用province的时候 把前面的.android去掉 应该就行了