2015-06-08 92 views
0

我正在製作Android應用來學習sqllite。因爲我使用了7個表格,所以我決定在文件夾「DBHelper」中創建7個類文件,並且想要在文件夾「DBadapter」中創建7個文件。這裏的結構是什麼樣子:無法從外部包訪問android sqllite

  • DBHelper:7個的輔助文件(例如:PersonH​​elper.java)
  • 將對DBAdapter:7個適配器文件(例如:PersonDAO.java)

但我得到一個PersonDAO.java錯誤信息:「無法從外部包訪問」,當我宣佈對象:「PersonH​​elper personH​​elper = new PersonH​​elper(context);」在構造函數中。

任何人都有一個想法如何解決這個問題,而不把所有的文件放在一個文件夾?創建多個大型表格時,業界標準是什麼?

PS:一旦將所有文件放在一個目錄中,錯誤就消失了。

public class PersonDAO { 
private Context context; 

//Database info 
private static final String DATABASE_NAME = "MyDB"; 
private static final int DATABASE_VERSION = 1; 

//Table helper info 
public PersonHelper databaseHelper; 
private SQLiteDatabase db = null; 


//Constructors 
PersonDAO(Context context) { 
    this.context = context; 
    databaseHelper = new PersonHelper(context); //Error: "cannot be accessed from outside package" 
} 
+0

您可以發佈您的personH​​elper代碼或至少是構造函數嗎? – mrtn

回答

1

你對你PersonHelper的構造可能是默認就像它在你的PersonDAO類。所以它只能從相同的包中訪問。您必須將其更改爲公開以從PersonDAO訪問它:

public PersonHelper(Context context){ 
    ... 
}