Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RuntimeException-由以下原因引起:android.database.sqlite.SQLiteException:没有这样的表:tbl(代码1)_Java_Android_Sqlite_Runtimeexception - Fatal编程技术网

Java RuntimeException-由以下原因引起:android.database.sqlite.SQLiteException:没有这样的表:tbl(代码1)

Java RuntimeException-由以下原因引起:android.database.sqlite.SQLiteException:没有这样的表:tbl(代码1),java,android,sqlite,runtimeexception,Java,Android,Sqlite,Runtimeexception,我的数据库有一个名为“tbl”的表,但错误显示:未找到表“tbl” DataBase.java=>如下所示 public class DataBase extends SQLiteOpenHelper { private Context context; public DataBase(@Nullable Context context) { super(context, info_db.Data_Name, null, info_db.DataBase_Ver

我的数据库有一个名为“tbl”的表,但错误显示:未找到表“tbl”

DataBase.java=>如下所示

public class DataBase extends SQLiteOpenHelper {
    private Context context;

    public DataBase(@Nullable Context context) {
        super(context, info_db.Data_Name, null, info_db.DataBase_Version);
        this.context = context;
        IsDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    private void IsDatabase() {
        File check = new File(info_db.Package);
        if (!check.exists()) {
            check.mkdir();
        }
        check = context.getDatabasePath(info_db.Data_Name);
        if (!check.exists()) {
            try {
                copyDataBase();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private void copyDataBase() throws IOException {
        InputStream myInput = context.getAssets().open(info_db.DataBase_Source);
        String outFileName = info_db.Package + info_db.DataBase_Name;

        OutputStream myOutput = new FileOutputStream(outFileName);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = myInput.read(buffer)) > 0) {
            myOutput.write(buffer, 0, length);
        }
        myOutput.flush();
        myOutput.close();
        myInput.close();
    }

    public List<info_Data> fetchmaindata() {
        SQLiteDatabase db = this.getReadableDatabase();
        List<info_Data> data = new ArrayList<>();

        String query ="SELECT "+info_db.Data_Name+","+info_db.Data_Body+","+info_db.Data_Fav+","+info_db.Data_Image+" FROM "+info_db.Table_Name;

        Cursor cursor = db.rawQuery(query,null);
        if (cursor.moveToFirst()){
            do {
                info_Data info = new info_Data();
                info.setName(cursor.getString(cursor.getColumnIndex(info_db.Data_Name)));
                info.setBody(cursor.getString(cursor.getColumnIndex(info_db.Data_Body)));
                info.setFav(cursor.getInt(cursor.getColumnIndex(info_db.Data_Fav)));
                info.setImage(cursor.getString(cursor.getColumnIndex(info_db.Data_Image)));
                data.add(info);

            }while (cursor.moveToNext());
        }
        cursor.close();
        db.close();

        return data;
    }
}
public class FragMain extends Fragment {


    public FragMain() {
        // Required empty public constructor
    }

    private RecyclerView recyclerView;
    private AdapterMain adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        DataBase db = new DataBase(getActivity());
        List<info_Data> data = db.fetchmaindata();
        db.close();

        View view = inflater.inflate(R.layout.fragment_frag_main, container, false);
        recyclerView = (RecyclerView) view.findViewById(R.id.main_re);


        adapter = new AdapterMain(getActivity(), postdata(data));
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

        return view;
    }

    private List<info> postdata(List<info_Data> db) {

        List<info> data = new ArrayList<>();
        //String name[] = {"بخش هشتم", "بخش هفتم", "بخش ششم", "بخش پنجم", "بخش چهارم", "بخش سوم", "بخش دوم"};
        //int pic[] = {R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img};
        for (int i = 0; i < db.size(); i++) {
            info cur = new info();
            cur.title = db.get(i).getName();
            String uri ="@drawable/"+db.get(i).getImage();
            int iconid = getResources().getIdentifier(uri, null, getActivity().getPackageName());
            cur.iconid = iconid;
            cur.body = db.get(i).getBody();
            data.add(cur);
        }

        return data;
    }

}
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.af.sawalebast/com.af.sawalebast.MainActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class fragment
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)
    at android.app.ActivityThread.access$800(ActivityThread.java:153)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5293)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
 Caused by: android.view.InflateException: Binary XML file line #26: Error inflating class fragment
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
    at com.af.sawalebast.MainActivity.onCreate(MainActivity.java:19)
    at android.app.Activity.performCreate(Activity.java:5990)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$800(ActivityThread.java:153) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5293) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
 Caused by: android.database.sqlite.SQLiteException: no such table: tbl (code 1): , while compiling: SELECT name,body,fav,image FROM tbl
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
    at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
    at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
    at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
    at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
    **at com.af.sawalebast.DataBase.fetchmaindata(DataBase.java:74)
    at com.af.sawalebast.FragMain.onCreateView(FragMain.java:33)**
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
    at androidx.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManagerImpl.java:1138)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:851)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1133)
    at androidx.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.java:1393)
    at androidx.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.java:3205)
    at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:134)
    at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357)
    at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:336)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161) 
    at com.af.sawalebast.MainActivity.onCreate(MainActivity.java:19) 
    at android.app.Activity.performCreate(Activity.java:5990) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$800(ActivityThread.java:153) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5293) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
公共类数据库扩展SQLiteOpenHelper{
私人语境;
公共数据库(@Nullable Context){
super(上下文,info\u db.Data\u名称,null,info\u db.DataBase\u版本);
this.context=上下文;
IsDatabase();
}
@凌驾
public void onCreate(SQLiteDatabase db){
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
}
专用数据库(){
文件检查=新文件(info_db.Package);
如果(!check.exists()){
check.mkdir();
}
check=context.getDatabasePath(info\u db.Data\u Name);
如果(!check.exists()){
试一试{
copyDataBase();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
私有void copyDataBase()引发IOException{
InputStream myInput=context.getAssets().open(info\u db.DataBase\u Source);
字符串outFileName=info_db.Package+info_db.DataBase_Name;
OutputStream myOutput=新文件OutputStream(outFileName);
字节[]缓冲区=新字节[1024];
整数长度;
而((长度=myInput.read(缓冲区))>0){
写入(缓冲区,0,长度);
}
myOutput.flush();
myOutput.close();
myInput.close();
}
公共列表fetchmaindata(){
SQLiteDatabase db=this.getReadableDatabase();
列表数据=新的ArrayList();
String query=“从”+info\u db.Table\u Name中选择“+info\u db.Data\u Body+”、“+info\u db.Data\u Fav+”、“+info\u db.Data\u Image+”;
Cursor Cursor=db.rawQuery(查询,空);
if(cursor.moveToFirst()){
做{
信息数据信息=新信息数据();
info.setName(cursor.getString(cursor.getColumnIndex(info\u db.Data\u Name));
info.setBody(cursor.getString(cursor.getColumnIndex(info_db.Data_Body));
info.setFav(cursor.getInt(cursor.getColumnIndex(info\u db.Data\u Fav));
info.setImage(cursor.getString(cursor.getColumnIndex(info\u db.Data\u Image));
数据。添加(信息);
}while(cursor.moveToNext());
}
cursor.close();
db.close();
返回数据;
}
}
FragMain.java=>如下所示

public class DataBase extends SQLiteOpenHelper {
    private Context context;

    public DataBase(@Nullable Context context) {
        super(context, info_db.Data_Name, null, info_db.DataBase_Version);
        this.context = context;
        IsDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    private void IsDatabase() {
        File check = new File(info_db.Package);
        if (!check.exists()) {
            check.mkdir();
        }
        check = context.getDatabasePath(info_db.Data_Name);
        if (!check.exists()) {
            try {
                copyDataBase();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private void copyDataBase() throws IOException {
        InputStream myInput = context.getAssets().open(info_db.DataBase_Source);
        String outFileName = info_db.Package + info_db.DataBase_Name;

        OutputStream myOutput = new FileOutputStream(outFileName);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = myInput.read(buffer)) > 0) {
            myOutput.write(buffer, 0, length);
        }
        myOutput.flush();
        myOutput.close();
        myInput.close();
    }

    public List<info_Data> fetchmaindata() {
        SQLiteDatabase db = this.getReadableDatabase();
        List<info_Data> data = new ArrayList<>();

        String query ="SELECT "+info_db.Data_Name+","+info_db.Data_Body+","+info_db.Data_Fav+","+info_db.Data_Image+" FROM "+info_db.Table_Name;

        Cursor cursor = db.rawQuery(query,null);
        if (cursor.moveToFirst()){
            do {
                info_Data info = new info_Data();
                info.setName(cursor.getString(cursor.getColumnIndex(info_db.Data_Name)));
                info.setBody(cursor.getString(cursor.getColumnIndex(info_db.Data_Body)));
                info.setFav(cursor.getInt(cursor.getColumnIndex(info_db.Data_Fav)));
                info.setImage(cursor.getString(cursor.getColumnIndex(info_db.Data_Image)));
                data.add(info);

            }while (cursor.moveToNext());
        }
        cursor.close();
        db.close();

        return data;
    }
}
public class FragMain extends Fragment {


    public FragMain() {
        // Required empty public constructor
    }

    private RecyclerView recyclerView;
    private AdapterMain adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        DataBase db = new DataBase(getActivity());
        List<info_Data> data = db.fetchmaindata();
        db.close();

        View view = inflater.inflate(R.layout.fragment_frag_main, container, false);
        recyclerView = (RecyclerView) view.findViewById(R.id.main_re);


        adapter = new AdapterMain(getActivity(), postdata(data));
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

        return view;
    }

    private List<info> postdata(List<info_Data> db) {

        List<info> data = new ArrayList<>();
        //String name[] = {"بخش هشتم", "بخش هفتم", "بخش ششم", "بخش پنجم", "بخش چهارم", "بخش سوم", "بخش دوم"};
        //int pic[] = {R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img};
        for (int i = 0; i < db.size(); i++) {
            info cur = new info();
            cur.title = db.get(i).getName();
            String uri ="@drawable/"+db.get(i).getImage();
            int iconid = getResources().getIdentifier(uri, null, getActivity().getPackageName());
            cur.iconid = iconid;
            cur.body = db.get(i).getBody();
            data.add(cur);
        }

        return data;
    }

}
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.af.sawalebast/com.af.sawalebast.MainActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class fragment
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)
    at android.app.ActivityThread.access$800(ActivityThread.java:153)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5293)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
 Caused by: android.view.InflateException: Binary XML file line #26: Error inflating class fragment
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
    at com.af.sawalebast.MainActivity.onCreate(MainActivity.java:19)
    at android.app.Activity.performCreate(Activity.java:5990)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$800(ActivityThread.java:153) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5293) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
 Caused by: android.database.sqlite.SQLiteException: no such table: tbl (code 1): , while compiling: SELECT name,body,fav,image FROM tbl
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
    at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
    at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
    at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
    at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
    **at com.af.sawalebast.DataBase.fetchmaindata(DataBase.java:74)
    at com.af.sawalebast.FragMain.onCreateView(FragMain.java:33)**
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
    at androidx.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManagerImpl.java:1138)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:851)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1133)
    at androidx.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.java:1393)
    at androidx.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.java:3205)
    at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:134)
    at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357)
    at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:336)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161) 
    at com.af.sawalebast.MainActivity.onCreate(MainActivity.java:19) 
    at android.app.Activity.performCreate(Activity.java:5990) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$800(ActivityThread.java:153) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5293) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
公共类FragMain扩展片段{
公共FragMain(){
//必需的空公共构造函数
}
私人回收站;
专用适配器主适配器;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
DataBase db=新数据库(getActivity());
List data=db.fetchmaindata();
db.close();
视图=充气机。充气(右布局。碎片/碎片/主容器,假);
recyclerView=(recyclerView)view.findViewById(R.id.main\u re);
adapter=newadapterMain(getActivity(),postdata(data));
recyclerView.setAdapter(适配器);
setLayoutManager(新的LinearLayoutManager(getActivity());
返回视图;
}
私有列表postdata(列表数据库){
列表数据=新的ArrayList();
//本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日日,本月15日,本月15日,本月15日,本月15日,本月18日,本月15日,本月15日,本月15日,本月15日,本月15日,本本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,若若若若若若若若在本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本月15日,本本月15日,本月15日,本月15日,各各各各各各各各各وم“};
//int pic[]={R.drawable.img,R.drawable.img,R.drawable.img,R.drawable.img,R.drawable.img,R.drawable.img,R.drawable.img};
对于(int i=0;i
logcat=>中的错误如下所示

public class DataBase extends SQLiteOpenHelper {
    private Context context;

    public DataBase(@Nullable Context context) {
        super(context, info_db.Data_Name, null, info_db.DataBase_Version);
        this.context = context;
        IsDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    private void IsDatabase() {
        File check = new File(info_db.Package);
        if (!check.exists()) {
            check.mkdir();
        }
        check = context.getDatabasePath(info_db.Data_Name);
        if (!check.exists()) {
            try {
                copyDataBase();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private void copyDataBase() throws IOException {
        InputStream myInput = context.getAssets().open(info_db.DataBase_Source);
        String outFileName = info_db.Package + info_db.DataBase_Name;

        OutputStream myOutput = new FileOutputStream(outFileName);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = myInput.read(buffer)) > 0) {
            myOutput.write(buffer, 0, length);
        }
        myOutput.flush();
        myOutput.close();
        myInput.close();
    }

    public List<info_Data> fetchmaindata() {
        SQLiteDatabase db = this.getReadableDatabase();
        List<info_Data> data = new ArrayList<>();

        String query ="SELECT "+info_db.Data_Name+","+info_db.Data_Body+","+info_db.Data_Fav+","+info_db.Data_Image+" FROM "+info_db.Table_Name;

        Cursor cursor = db.rawQuery(query,null);
        if (cursor.moveToFirst()){
            do {
                info_Data info = new info_Data();
                info.setName(cursor.getString(cursor.getColumnIndex(info_db.Data_Name)));
                info.setBody(cursor.getString(cursor.getColumnIndex(info_db.Data_Body)));
                info.setFav(cursor.getInt(cursor.getColumnIndex(info_db.Data_Fav)));
                info.setImage(cursor.getString(cursor.getColumnIndex(info_db.Data_Image)));
                data.add(info);

            }while (cursor.moveToNext());
        }
        cursor.close();
        db.close();

        return data;
    }
}
public class FragMain extends Fragment {


    public FragMain() {
        // Required empty public constructor
    }

    private RecyclerView recyclerView;
    private AdapterMain adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        DataBase db = new DataBase(getActivity());
        List<info_Data> data = db.fetchmaindata();
        db.close();

        View view = inflater.inflate(R.layout.fragment_frag_main, container, false);
        recyclerView = (RecyclerView) view.findViewById(R.id.main_re);


        adapter = new AdapterMain(getActivity(), postdata(data));
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

        return view;
    }

    private List<info> postdata(List<info_Data> db) {

        List<info> data = new ArrayList<>();
        //String name[] = {"بخش هشتم", "بخش هفتم", "بخش ششم", "بخش پنجم", "بخش چهارم", "بخش سوم", "بخش دوم"};
        //int pic[] = {R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img, R.drawable.img};
        for (int i = 0; i < db.size(); i++) {
            info cur = new info();
            cur.title = db.get(i).getName();
            String uri ="@drawable/"+db.get(i).getImage();
            int iconid = getResources().getIdentifier(uri, null, getActivity().getPackageName());
            cur.iconid = iconid;
            cur.body = db.get(i).getBody();
            data.add(cur);
        }

        return data;
    }

}
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.af.sawalebast/com.af.sawalebast.MainActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class fragment
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)
    at android.app.ActivityThread.access$800(ActivityThread.java:153)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5293)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
 Caused by: android.view.InflateException: Binary XML file line #26: Error inflating class fragment
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
    at com.af.sawalebast.MainActivity.onCreate(MainActivity.java:19)
    at android.app.Activity.performCreate(Activity.java:5990)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$800(ActivityThread.java:153) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5293) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
 Caused by: android.database.sqlite.SQLiteException: no such table: tbl (code 1): , while compiling: SELECT name,body,fav,image FROM tbl
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
    at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
    at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
    at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
    at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
    **at com.af.sawalebast.DataBase.fetchmaindata(DataBase.java:74)
    at com.af.sawalebast.FragMain.onCreateView(FragMain.java:33)**
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
    at androidx.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManagerImpl.java:1138)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:851)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1133)
    at androidx.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.java:1393)
    at androidx.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.java:3205)
    at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:134)
    at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357)
    at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:336)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161) 
    at com.af.sawalebast.MainActivity.onCreate(MainActivity.java:19) 
    at android.app.Activity.performCreate(Activity.java:5990) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2280) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$800(ActivityThread.java:153) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5293) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
java.lang.RuntimeException:无法启动活动组件信息{com.af.sawalebast/com.af.sawalebast.MainActivity}:android.view.InflateException:二进制XML文件行#26:膨胀类片段时出错
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)
在android.app.ActivityThread.access$800(ActivityThread.java:153)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:135)
位于android.app.ActivityThread.main(ActivityThread.java:5293)
位于java.lang.reflect.Method.invoke(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
原因:android.view.InflateException:二进制XML文件行#26:膨胀类片段时出错
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
在android.view.LayoutInflater.充气(LayoutInflater.java:504)
在android.view.LayoutInflater.inflate(LayoutInflater.java:414)
在android.view.LayoutInflater.充气(LayoutInflater.java:365)
位于androidx.appcompat.app.appcompatedelegateimpl.setContentView(appcompatedelegateimpl.java:555)
在androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)中