Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Android 无法打开堆栈跟踪文件/data/anr/traces.txt权限被拒绝_Android_Sqlite - Fatal编程技术网

Android 无法打开堆栈跟踪文件/data/anr/traces.txt权限被拒绝

Android 无法打开堆栈跟踪文件/data/anr/traces.txt权限被拒绝,android,sqlite,Android,Sqlite,我认为这是一个非常常见的问题,但不知何故,在看了所有的回复后,我无法解决它。我正在创建一个android应用程序,我们可以在其中保存主题壁纸、铃声和通知声音。当我尝试在单击按钮时保存数据库中的三个内容时,它会强制关闭,并且出现许多错误,包括无法打开堆栈跟踪 Code: public class HelloGallery extends Activity { private ThemeAdapter ta; public void onCreate(Bundle savedIns

我认为这是一个非常常见的问题,但不知何故,在看了所有的回复后,我无法解决它。我正在创建一个android应用程序,我们可以在其中保存主题壁纸、铃声和通知声音。当我尝试在单击按钮时保存数据库中的三个内容时,它会强制关闭,并且出现许多错误,包括无法打开堆栈跟踪

Code:
public class HelloGallery extends Activity 
{
    private ThemeAdapter ta;
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ta=new ThemeAdapter(this);
    final Button save=(Button)findViewById(R.id.save);
    save.setText(R.string.save);

    // some amount of code

    save.setOnClickListener(new OnClickListener(){
       public void onClick(View v)
       {

           themename=tv.toString(); //tv is EditText 
           ta.createTheme(themename, resID, uri,uri2); 
           Toast.makeText(HelloGallery.this,"Theme Saved", Toast.LENGTH_SHORT).show();
       }
       });

    }
}

public class ThemeAdapter {

private SQLiteDatabase db;
private myThemeHelper mth;
String[] columns={myThemeHelper.KEY_ID,myThemeHelper.NAME,myThemeHelper.RING,myThemeHelper.SYS};
public ThemeAdapter(Context _con)
{
    mth=new myThemeHelper(_con);
}
public ThemeAdapter open()
{
    try
    {
    db=mth.getWritableDatabase();
    }
    catch(SQLiteException e)
    {
        db=mth.getReadableDatabase();
    }
    return this;
}
public void close()
{
    db.close();
}

public void createTheme(String name,int wallId,Uri ring,Uri sys)
{
    ContentValues val=new ContentValues();
    val.put(myThemeHelper.NAME,name);
    val.put(myThemeHelper.WALL,wallId);
    val.put(myThemeHelper.RING,ring.toString());
    val.put(myThemeHelper.SYS,sys.toString());
    long id=db.insert(myThemeHelper.DB_TABLE, null, val);
    Cursor cursor=db.query(myThemeHelper.DB_TABLE,columns,myThemeHelper.KEY_ID+ "= " 

                 + id, null,null, null, null);
    cursor.moveToFirst();




}
}
public class myThemeHelper extends SQLiteOpenHelper
{
      //initializing all db names, colum names
        public myThemeHelper(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
  }
@Override
  public void onCreate(SQLiteDatabase database) {
    database.execSQL(DB_CREATE);
  }
@Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    Log.w(myThemeHelper.class.getName(),
        "Upgrading database from version " + oldVersion + " to "
            + newVersion + ", which will destroy all old data");
    db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);
    onCreate(db);
}
 }

堆栈跟踪提供了NullPointerException,无法打开堆栈跟踪等。我还提供了WRITE_EXTERNAL_存储权限

我在笔记本的任何地方都没有看到open呼叫。因此,您的db在createTheme中为空,因此NPE

您可以发布堆栈跟踪吗?。