繁体   English   中英

我的数据库文件在哪里创建

[英]Where is my database file created

这是我的数据dataSqliteHelper文件,当我第一次运行时,会创建数据文件,但是我不知道在哪里可以得到它并使用工具打开它并查看文件。

public class DataSQLiteHelper extends OrmLiteSqliteOpenHelper {
public static final String DATABASE_NAME = "ventasdb.db";

private static final int DATABASE_VERSION = 1;
private Context mContext;


private Dao<Customer, Integer> customerDao;


public DataSQLiteHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db, ConnectionSource conections) {
    try {

        TableUtils.createTable(connectionSource, Customer.class);


    } catch (Exception e) {
        Log.e(DataSQLiteHelper.class.getName(), "Can't create database", e);
        throw new RuntimeException(e);
    }

}

@Override
public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource,
        int oldVersion, int newVersion) {
    try {
        TableUtils.dropTable(connectionSource, Customer.class, true);

    } catch (SQLException e) {
        throw new RuntimeException(e);
    } catch (java.sql.SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

/**
 * Returns the Database Access Object (DAO) for our UserData class. It will
 * create it or just give the cached value.
 */
public Dao<Customer, Integer> getCustomerDao() {
    if (customerDao == null) {
        try {
            customerDao = getDao(Customer.class);
        } catch (java.sql.SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    return customerDao;
}



public boolean updateCustomer(Customer p) {
    boolean ret = false;
    if (customerDao != null) {
        try {

            customerDao = getDao(Customer.class);

            UpdateBuilder<Customer, Integer> updateBuilder = customerDao
                    .updateBuilder();
            updateBuilder.updateColumnValue("name", "PIRIPIPI"); // p.getName());
            updateBuilder.updateColumnValue("cel", p.getCel());
            updateBuilder.updateColumnValue("email", p.getEmail());
            updateBuilder.updateColumnValue("address", p.getAddress());
            updateBuilder.updateColumnValue("City", p.getCity());

            // but only update the rows where the description is some value
            updateBuilder.where().eq("customerID", 0);
            // actually perform the update

            customerDao.update(p);
            customerDao.refresh(p);

        } catch (Exception e) {
            ret = false;
            e.printStackTrace();
        }
    }
    return ret;
}

/**
 * Close the database connections and clear any cached DAOs.
 */
@Override
public void close() {
    super.close();

}

   }

通过这一行,我知道我给了文件名

super(context, DATABASE_NAME, null, DATABASE_VERSION);

但是它在设备存储中的什么位置?

顺便说一句,我可以更改将文件存储在SD卡中的路径吗?

它将存储在

/data/data/[package name]/databases

但是,除非您的手机已植根,否则无法使用文件资源管理器或adb shell浏览到该手机

它保存在这里(如nandeesh所说) /data/data/[package name]/databases

如果已植根,则只能在电话上访问它。 或者,您可以将应用程序安装在模拟器上,启动DDMS工具并在此处查看数据库文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM