2012-06-20 72 views
0

我创建了一个数据库的应用程序,其中包含一个学生表和3个领域,但我不知道如何将该应用程序中的文件添加到sqlite database从哪里把我们的应用程序从sqlitedatabase的文件

数据库助手:

public class DatabaseHelper extends SQLiteOpenHelper { 

    public static final String DATA_BASE="Mydatabase.db"; 
public static final String TABLE_NAME="Student"; 
public static final int DATABASE_VERSION =1; 

public DatabaseHelper(Context context) { 
super(context, DATA_BASE, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 

db.execSQL("CREATE TABLE " + TABLE_NAME + 
"(Name TEXT, AGE NUMERIC, ADDRESS TEXT)"); } 

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

} 
} 

主要活动:

public class DatabaseHelper extends SQLiteOpenHelper { 

public static final String DATA_BASE="Mydatabase.db"; 
public static final String TABLE_NAME="Student"; 
public static final int DATABASE_VERSION =1; 

public DatabaseHelper(Context context) { 
super(context, DATA_BASE, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 

db.execSQL("CREATE TABLE " + TABLE_NAME + 
"(Name TEXT, AGE NUMERIC, ADDRESS TEXT)"); } 

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

} 
} 

显示活动:

public class DisplayActivity extends Activity { 

private ArrayList<String> arrayList = 
        new ArrayList<String>(); 

private SQLiteDatabase Mydatabase; 
ListView listView; 
EditText enter; 
@Override 
public void onCreate(Bundle b) { 
    super.onCreate(b); 
    setContentView(R.layout.display); 
    listView=(ListView)findViewById(R.id.listView); 

    //OpenAndQueryDatabase 

    try { 
    DatabaseHelper db = new DatabaseHelper(this); 
     //Open the database 
     Mydatabase = db.getWritableDatabase(); 
     Cursor c = Mydatabase.rawQuery(
       "SELECT * FROM Student", null); 

     if (c != null) { 
      if (c.moveToFirst()) { 
       do { 
        String Name = c.getString(
          c.getColumnIndex("Name")); 
        int age = c.getInt(
          c.getColumnIndex("AGE")); 
        String address = c.getString(
          c.getColumnIndex("ADDRESS")); 
       arrayList.add("Name : " + Name +"\n"+ 
           "Age  : " +age +"\n"+ 
           "Address : " + address+"\n"); 
       }while (c.moveToNext()); 
      } 
     }   
     } catch (SQLiteException se) { } 
     finally { 
     if (Mydatabase != null) 
      Mydatabase.close(); 
    } 


    //displayResultList 

    listView.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, 
            arrayList)); 
} 
} 
+0

我不清楚你想要什么......你的代码显示你正在创建一个空的数据库......然而你说你想复制一个文件......你是否在你的应用程序之外创建了数据库,现在想要加载它并在你的应用中使用它? – Barak

+0

不...我创建了我的应用程序..我想在sqlitedatabase.i中查看它在应用程序运行时在emmulator中插入数据..并且我获得了在列表视图中输入到另一个页面中的所有数据.... 。现在我想看到在SQLite数据库中输入的数据 –

回答

0

您可以在这里找到答案here。只需在SD卡中的某个位置创建一个文件即可。

数据/文件夹受操作系统保护,只有根植设备才能看到它。

你需要的是链接的答案:用新文件(“/ sdcard/myFolder/myFile.sqlite”)打开SDCARD里面的文件。

File databaseLocation = new File("/sdcard/myFolder/myFile.sqlite"); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databaseLocation , null); 
+0

:但我使用eclipse开发应用程序....我找到了数据/数据/ /数据库/ <数据库名称>路径...所以我被卡在这里如何查看日期在sqlite数据库中插入emmulator –

0

通过执行以下操作,可以将数据库从模拟器拉出来查看。

1)转到Eclipse中的DDMS屏幕。
2)打开所谓的“资源管理器”
3选项卡)浏览到包含数据库(通常data\data\your.package.name\databases
4)选中目录/选择您的数据库文件
5)在上的图标右上角点击将箭头指向右侧“从设备中拉出文件”
6)按照提示将文件保存到您的计算机。
7)打开你选择的SQLite数据库浏览器的文件。

编辑

注意这仅在模拟器上的数据工程...它不会从实际设备拉数据库作为一个真正的设备上的data目录被保护您的应用程序/交通不便外outdside 。

+0

你可以告诉我如何添加搜索选项到我的目前的代码... –

0

在Eclipse中去窗口 - > Showview - > Android的 - >文件浏览器 有ü可以在这里看到你的数据库/数据/数据/ yourpackage /数据库 从右上角有使用按钮拉你的数据库。 https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/ 使用此Firefox添加来查看您的数据。

+0

:非常感谢你...你也可以告诉我的应用程序的代码,这样我可以添加基于关键字搜索选项 –

+0

最welcome.check此链接.http://stackoverflow.com/questions/9861156/sqlite-advanced-search – machu

+0

你也可以告诉我如何在编辑文本中输入编辑文本值为字符串 –

相关问题