❶ android开发如何将自己储存在数据库的数据同程序一起传输
可以将XX.db文件复制到Eclipse Android工程中的res\raw目录中。所有在res\raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件数据存储这块分为两部分,一部分是服务端,一部分是客户端
客户端的存储很简单,现在一般用sqllite,也可以直接使用SharedPreferences。
服务端的存储就很复杂了。你要学习jdbc的知识和数据库的知识,如oracle,sqlserver,mysql之类的、 自己写一个方法,点击或者启动的时候,采用JDBC一条条的取数据来同步。如果有时间戳的列,那么你很好同步。 2. 我们采用的是,Local和服务器都采用SQLLite。需要同步的时候,直接把服务器的DB文件给拷贝下来,放到Local就可以了。至于提交到1、运行输入 adb shell (前提是模拟器正在运行)。
2、进入命令界面后 输入 ls 指令 会列出文件的目录。
3、cd 进入你想要的目录里。
4、一层一层进去后会发现 databases目录 你的数据文件就在这个目录下放着。
5、sqlite3 test (test就是你创建的数据库的名称 注意:不要加.db 后缀)。
6、现在你就进入你创建的test数据库了使用 .tables 就可以查看所有的表了。你有用什么执行或者编写数据库软件吗? 我一般用PL/SQL。如果你有软件你就把创表和添加数据的数据库文件导出(如何导出可以根据你用的软件网络下下哦)到一个txt或者其它类型的文件里面然后一起放到你将打包的项目文件中一起打包就可以了。命名的时候让别人一看就知道是数据库文件就可以了
❷ Android手机怎样导出数据库文件
1. 已root的手机导出数据库文件
在手机上安装Root Explorer(R.E.管理器)后,点击app的图标,打开程序的主界面。
找到data文件夹,点击进入。在这个文件夹下存放着系统运行的数据文件。没有root权限是打不开的,一般也不建议随便修改或删除该文件夹下的信息。
在data文件夹下,再次找到data文件夹,也就是说两个data,点击打开。在里面的这个data文件夹下存放的则是各个app的数据库文件,系统中所有app的数据库文件都保存在这个文件夹下。
在第二个data文件夹下找到你想要导出数据库文件的app的包名,这个包名就是开发程序时代码的根目录。也可以通过解压apk文件后在manifest文件中找到。
5
在报名下找到databases目录,这个目录下存放的就是程序的数据库文件。数据库文件都是以db结尾的,一个程序可能拥有多个数据库文件,找到你想要导出的数据库文件后再进行后续的操作。
❸ android 如何导入外部数据库到应用中
你自己不也都说了
拷贝到数据库目录下操作了吗。。而且你添加表
对数据库更新,什么的,当然是直接对数据库目录下的db文件操作方便了。更新完后再把data目录下的数据库放到assets文件覆盖原来的。而不是启动应用程序然后更新数据库,这样利用静态数据库打包绑定APP更效率。数据库直接跟随APP发布了
查看原帖>>
❹ android模拟器可以连接数据库,打包成APK装入手机,就没办法保存数据了
肯定不行的。
你要写个方法,把数据库拷贝到App的根目录下,手机上才能识别。
你的APP的第一个activity应该是闪屏页吧,这个方法通常写在闪屏页里。
❺ 安卓代码怎么创建数据库
创建数据库:>sqlite3.exe mySqlite.db
创建表:
sqlite>create table person ( _id integer primary key ,
name varchar(50),
age integer,
sex char(2) );
插入数据:
sqlite>insert into person values(1,'刘备',38,'男');
sqlite>insert into person values(2,'关羽',42,'男');
sqlite>insert into person values(3,'大乔',20,'女');
备份:
sqlite>.backup D:/mydb.db
恢复数据:
sqlite>.restore mydb.db
查看表:
sqlite>.tables
❻ android怎样把SQLite打包到APk中
你在eclipse中编译工程的时候,db数据库文件会自动打包到apk文件中,也就是说你安装这个apk的时候,数据库就已经存在了,无需在手工导入
❼ android怎么把数据存入数据库
把数据放入数据库
通过把ContentValues对象传入instert()方法把数据插入数据库:
// Gets the data repository in write mode
SQLiteDatabase db = mDbHelper.getWritableDatabase();
// Create a new map of values, where column names are the keys
ContentValues values = new ContentValues();
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID, id);
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title);
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_CONTENT, content);
// Insert the new row, returning the primary key value of the new row
long newRowId;
newRowId = db.insert(
FeedReaderContract.FeedEntry.TABLE_NAME,
FeedReaderContract.FeedEntry.COLUMN_NAME_NULLABLE,
values);
insert()方法的第一个参数是表名。第二个参数提供了框架中的一个列名,在ContentValues的值是空的时候,框架会向表中插入NULL值(如果这个参数是“null”,那么当没有值时,框架不会向表中插入一行。
从数据库中读取数据
要从数据库中读取数据,就要使用query()方法,你需要给这个方法传入选择条件和你想要获取数据的列。查询结果会在Cursor对象中被返回。
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// Define a projection that specifies which columns from the database
// you will actually use after this query.
String[] projection = {
FeedReaderContract.FeedEntry._ID,
FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE,
FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED,
...
};
// How you want the results sorted in the resulting Cursor
String sortOrder =
FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED + " DESC";
Cursor c = db.query(
FeedReaderContract.FeedEntry.TABLE_NAME, // The table to query
projection, // The columns to return
selection, // The columns for the WHERE clause
selectionArgs, // The values for the WHERE clause
null, // don't group the rows
null, // don't filter by row groups
sortOrder // The sort order
);
使用Cursor对象的移动方法来查看游标中的一行数据,在开始读取数据之前必须先调用这个方法。通常,应该从调用moveToFirst()方法开始,它会把读取数据的位置放到结果集中第一实体。对于每一行,你可以通过调用Cursor对象的相应的get方法来读取列的值,如果getString()或getLong()方法。对于每个get方法,你必须把你希望的列的索引位置传递给它,你可以通过调用getColumnIndex()或getColumnIndexOrThrow()方法来获取列的索引。例如:
cursor.moveToFirst();
long itemId = cursor.getLong(
cursor.getColumnIndexOrThrow(FeedReaderContract.FeedEntry._ID)
);
从数据库中删除数据
要从一个表中删除行数据,你需要提供标识行的选择条件。数据API为创建选择条件提供了一种机制,它会防止SQL注入。这中机制把选择条件分成了选择条件和选择参数。条件子句定义了要查看的列,并且还允许你使用组合列来进行筛选。参数是用于跟条件绑定的、用户筛选数据的值。因为这样不会导致像SQL语句一样的处理,所以它避免了SQL注入。
// Define 'where' part of query.
String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?";
// Specify arguments in placeholder order.
String[] selelectionArgs = { String.valueOf(rowId) };
// Issue SQL statement.
db.delete(table_name, selection, selectionArgs);
更新数据库
当你需要编辑数据库值的时候,请使用update()方法。
这个方法在更新数据时会把insert()方法中内容值的语法跟delete()方法中的where语法结合在一起。
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// New value for one column
ContentValues values = new ContentValues();
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title);
// Which row to update, based on the ID
String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?";
String[] selelectionArgs = { String.valueOf(rowId) };
int count = db.update(
FeedReaderDbHelper.FeedEntry.TABLE_NAME,
values,
selection,
selectionArgs);
❽ unity打包安卓,数据库从stream路径拷贝到沙盒,拷贝成功,为什么操作不了数据库
方法/步骤 首先,我们要下载RE文件管理器并且安装到手机上(这个是需要root也就是获取手机权限的,一定要有,不然后面的一切都是做不了的) 我们现在打开RE文件管理器,进入手机根目录。我们开始进入微信的根目录,下面这个就是微信的根目录。data/data/com.tencent.mm 一定看清楚是两个data(日期),不是我手抖敲多了。 现在我们就进入微信的根目录了,在这个根目录下我们能找到一个文件名为“MicroMsg”的文件夹。这就是我们需要的,现在把这个文件夹复制到存储卡里就好了。在根目录下有一个名为“sdcard”的文件夹,这就是存储卡。这样我们就能在电脑连接到手机后,在电脑上里看到这个文件夹了。 现在就该用电脑了。把“MicroMsg”文件夹复制到电脑上,打开之前要装到电脑上的软件(微信聊天记录备份恢复助手)。这时会弹出下面这个对话框,选择安卓版本微信。并把数据目录和资源目录都设置为“MicroMsg”文件夹。设置好之后点击获取数据,这时下面的表格中会出现用户名。选中后点击查看记录就能看到消息记录了。
❾ Android Studio如何将数据库文件打包到apk中,APP安装后能使用提前准备好的.db文件,大神们帮帮忙,谢谢!
提供一种最简单的思路吧,把db文件放到assets目录下,运行检测是否已经拷贝到指定目录,没有就把文件拷贝过去,在读去数据库就可以了