我正在创建一个应用程序,我想在其中显示我的应用程序的包名称文件夹,其中我的数据库存储在真实设备的Android / data文件夹中。我使用了读写权限但它不是在真正的设备上工作,但当我在模拟器中运行此应用程序时,我将能够使用DDMS查看我的数据库。任何人都可以帮我如何在
中显示我的数据库名称的Android /数据/ com.app.testing /数据库
在menifest文件中,我使用了这个
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在我的databasehelper classe
中 private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "contactsManager";
// Contacts table name
private static final String TABLE_CONTACTS = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// Log.e("TAG", "DatabaseHandler: "+context.getDatabasePath(DATABASE_NAME).getPath());
File dbFile = context.getDatabasePath(DATABASE_NAME);
Log.e("TAG", "DatabaseHandler: "+dbFile.getAbsolutePath() );
}
如果您对此有所了解,请提前感谢您帮助我..........
答案 0 :(得分:1)
创建一个应用程序包名称目录,如下所示:
String extStorageDirectory = Environment.getExternalStorageDirectory().toString()+ "/Android/data/com.app.testing/database";
File dir = new File(extStorageDirectory);
if(!dir.exists())
dir.mkdirs();
File sqliteFile = new File(dir, fileName); // your sqlite file name like "myDb.sqlite"
try{
sqliteFile.createNewFile();
}catch (IOException e){
e.printStackTrace();
}
答案 1 :(得分:0)
尝试使用此函数getPackageName();
答案 2 :(得分:0)
试试这个
File dir = new File("Android/data/your location"); // define your folder location
try{
if(dir.mkdir()) {
System.out.println("Directory created");
} else {
System.out.println("Directory is not created");
}
}catch(Exception e){
e.printStackTrace();
}