我正在使用Android应用来分析用户的消息历史记录。
一个主要问题是我需要一组信息才能使用,最好是在很长一段时间内。
我已经找到了如何通过telnet向模拟器发送消息,但这是A. slow和B.消息在到达时加盖时间戳。
我想建议如何以编程方式生成300条消息的伪随机收件箱(此时内容无关紧要,但我需要一系列时间和日期)。
更新:作为一个想法,是否有可能以某种方式将我的手机(1.5 android)消息历史记录加载到模拟器?
答案 0 :(得分:2)
如果要跟踪和分析应用中的消息历史记录,可以轻松使用内容提供商访问SMS消息。但它没有在公共SDK中记录。
如果您将ContentResolver.query()
与Uri content://sms
一起使用,您应该能够在1.5(ECLAIR)及更高版本上访问这些消息。
请仔细阅读该链接,了解如何完成所有操作:Referal for Content Provider
在开始使用Content Provider之前,请访问并了解Android开发人员博客。 一次:Android Developer Blog Warns to do that..
答案 1 :(得分:1)
在您的模拟器上安装Android电子市场(请参阅此处:http://www.howtogeek.com/howto/21862/how-to-enable-the-android-market-in-the-google-android-emulator/)
在您的真实设备和模拟器上安装短信备份应用程序,例如SMS Backup And Restore,使用它将实际设备中的消息备份到文件,将文件传输到桌面(电子邮件,蓝牙或其他),把它放在你的模拟器的虚拟SD卡上(参见:Manually put files to Android emulator SD card),使用相同的应用程序在模拟器上恢复你的消息。
另外,要手动将内容放入db(/data/data/com.android.providers.telephony/databases/mmssms.db),请尝试使用此工具:http://sourceforge.net/projects/sqlitebrowser/或者只使用sqlite3编写脚本用假数据填充数据库,这是访问数据库的另一个相关线程:https://android.stackexchange.com/questions/11619/android-read-recent-sms-messages-from-command-line
答案 2 :(得分:1)
sms db存储在/data/data/com.android.providers.telephony/databases/mmssms.db中。将其从手机复制到sdk上。或者你可以填充db一次并进行备份并每次都恢复它。