当前位置:首页 » 安卓系统 » android短信数据库

android短信数据库

发布时间: 2022-07-04 03:03:42

⑴ android开发 接收短信时在哪个文件写入数据库

data文件加下,具体:/data/data/com.android.providers.telephony/dababases/mmssms.db

安卓手机短信的db格式的数据库怎么恢复

安卓手机的短信删除后,会依然保存于db数据库文件中,该文件一般位于手机本向,文件名为mmssms.db,如果删除单条短信,可以基于该DB数据库文件进行恢复,但是如果删除过去时间过久,新的数据可能会覆盖删除过的短信,造成无法恢复,所以,在删除记录后,要及时复制出该文件,及时恢复

⑶ android怎样实现用代码从数据库获取短信内容等等

数据库获取代码如下:
String databaseFilename = DATABASE_PATH + "/" + DATABASE_NAME;

File dir = new File(DATABASE_PATH);
if (!dir.exists())
dir.mkdir();
if (!(new File(databaseFilename)).exists()) {
InputStream is = context.getResources().openRawResource(R.raw.jobexam);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
is.close();
}
db = sqliteDatabase.openOrCreateDatabase(databaseFilename, null);

⑷ 安卓手机短信存储位置

安卓手机短信存储位置在系统文件夹system/sms

要看到这个文件夹 你需要对手机的ROOT 也就是超级权限打开才行

⑸ android怎样读取sms数据库指定字段的数据

Android APK操作短信数据时,不能使用SQLHelper直接操作,需要使用协议,协议使用Uri转义
content://sms/inbox 收件箱
content://sms/sent 已发送
content://sms/draft 草稿
content://sms/outbox 发件中
content://sms/failed 失败
content://sms/queued 待发送
数据库中sms相关的字段如下:
_id primary key integer 与words表内的source_id关联
thread_id 会话id,一个联系人的会话一个id,与threads表内的_id关联 integer
address 对方号码 text
person 联系人id integer
date 发件日期 integer
protocol 通信协议,判断是短信还是彩信 integer 0:SMS_RPOTO, 1:MMS_PROTO
read 是否阅读 integer default 0 0:未读, 1:已读
status 状态 integer default-1 -1:接收,
0:complete,
64: pending,
128: failed
type 短信类型 integer 1:inbox
2:sent
3:draft56
4:outbox
5:failed
6:queued
body 内容
service_center 服务中心号码
subject 主题
reply_path_present
locked
error_code
seen

具体使用方法:

Cursor cursor = mContentResolver.query(Uri.parse("content://sms"), String[] projection, String selection, String[] selectionArgs,String sortOrder);

if(cursor!=null)
if(cursor.moveToFirst())
{String address = cursor .getString(draftCursor.getColumnIndexOrThrow("address"));}

query转义sql语句时将query函数中的参数转义为
select projection[] from sms where selection[] = selectionArgs[] order by sortOrder

由于Android2.2 Messaging中存储草稿短信时不会将address存入sms表中,而以thread_id为索引,将草稿短信的address存入canonical_addresses表中而导致仅根据协议无法查询到draft msgs address(这种设计缺陷是因为Android为了使UI更加效率而使draft msgs不同于其他类型的msgs存储方式所导致的),那么根据这样的转义方式我们可以扩展一下这种select语句使他可以查询到sms表以外的东西:

Cursor draftCursor = mResolver.query(Uri.parse("content://sms"),
new String[] {"canonical_addresses.address " +
"from sms,threads,canonical_addresses " +
"where sms.thread_id=threads._id and threads.recipient_ids=canonical_addresses._id and sms._id ='" +
String.valueOf(target_message_id) + "' --"},
null, null, null);

有点耍滑头,是吧,用到了sql语句中注释符号“--”
这样我们就将这个语句转化为了:
select canonical_addresses.address from sms,threads,canonical_addresses where sms.thread_id=threads._id and threads.recipient_ids=canonical_addresses._id and sms._id = 'target_message_id' -- from sms

在sql语句解析的时候,--from sms是不予解析的,所以就成功执行了前面的联合查询操作而得到了我们想要的canonical_addresses表中的address数据。

⑹ android 平台数据库表与uri对应关系看不明白,请高人指点

android的联系人数据库是一个三层架构,raw_contacts表,contacts表,data表合起来,才能完整的表示一个联系人的所有信息。那为什么不直接设计一张contacts表示所有联系人呢?理由是,联系人的数据是易变的,而且数据种类繁多。打个比方,你可以随意的把两个联系人合并在一起,也可以随意的为一个联系人增加新的信息(如家庭地址,邮件地址,昵称,头像等等),把所有信息合并放在一张表里明显是不可能的。数据库设计时考虑的可扩展,可维护。

由于android底层的数据库很复杂,开发者想得到一个联系人的信息时,经常需要访问3-4张的表才能获取到完整数据,这个过程是很复杂很繁琐的。好在开发时你不用关注这些,因为android帮你把这些已经封装好了,你能看到也就是ContactsContract这个类里面抽象好了的映射。事实上,ContactsContract这个类是根据功能进行抽象的,和底层实现完全没有任何关系。他们之间通过某个ContentProvider连系起来,当你请求content://com.android.contacts/contacts这个字段时,会调用ContentProvider,ContentProvider根据你的uri生成查询不同的表的sql语句,然后把查询结果返回给你。

结果表现就是,你在ContactsContract这个类看到某些字段在对应的表里找不到,因为这个字段被放到其他的表里面去了。

⑺ 怎样取得android短信数据库中发件人收件人的名字

你得到拦截短信的文本信息了么?得到了就可以存到sqllite数据库里,你要只是不会怎么朝sqllite里面存的话再问我吧,要是不是我这个意思就算了

⑻ android 群发短信时怎么将数据插入到数据库中 怎么与非群发区分呢

Threads.getOrCreateThreadId(this, address) 群发传入的address为 set<String>类型。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:633
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:362
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:78
php微信接口教程 发布:2025-04-16 17:07:30 浏览:303
android实现阴影 发布:2025-04-16 16:50:08 浏览:789
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:339
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:206
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:806
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:360
土压缩的本质 发布:2025-04-16 16:13:21 浏览:586