Попытка получить доступ к sms.db с помощью sqlite3 - PullRequest
1 голос
/ 21 марта 2012

Я обычно удаляю все свои текстовые сообщения, но на этот раз я случайно удалил разговор, который мне нужен.Я сделал резервную копию (первый раз) моего iphone 4. Затем я использовал экстрактор резервных копий IPhone, чтобы извлечь sms.db из резервной копии.Используя sqlite3, я вижу тонны учебников, в которых я могу просмотреть свои удаленные смс-сообщения.Однако все таблицы кажутся пустыми.Когда я смотрю на файл sms.db в notepad ++, я вижу фрагменты сообщений, которые я удалил давно и недавно.Тем не менее, я не вижу где-либо рядом со всеми своими сообщениями, и я предполагаю, что они где-то там.Как мне увидеть их, если продукты sqlite не могут их увидеть;но я знаю, что это там.Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 мая 2012

Если вы выполните следующую команду в sqlite3, вы должны увидеть все удаленные вами сообщения

SELECT address, text FROM message WHERE flags = 129;
0 голосов
/ 22 марта 2012

Вы можете попробовать это на методе

public class Database_creat {
    private static final String DATABASE_NAME = "ToDo_List.db";
    public static final String DATABASE_TABLE_CATEGORY = "category";
    public static final String DATABASE_TABLE_TODO_LIST = "todo_list";
    private static final int DATABASE_VERSION = 1;
    public ArrayList<ModelToDO> list;


    private DataBaseHelper mDbhelper;
    private SQLiteDatabase mDb;

    Context mContext;
    private static final String DATABASE_CREATE_CATEGORY = "create table category(id integer primary key autoincrement , "
            + "category text not null);";
    private static final String DATABASE_CREATE_TODO_LIST = "create table todo_list(id integer primary key autoincrement , "
            + "title text not null,description text not null,category text not null, due_date Date not null,alarm_time text ,alarm_set text,priority text,parform Boolean);";

    private static class DataBaseHelper extends SQLiteOpenHelper {

        DataBaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub
            db.execSQL(DATABASE_CREATE_CATEGORY);
            db.execSQL(DATABASE_CREATE_TODO_LIST);
        }

        //Delete All todo_list Table info
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // TODO Auto-generated method stub
            db.execSQL("DROP TABLE IF EXISTS submit");
            onCreate(db);
        }
    }

    public Database_creat(Context context) {
        this.mContext = context;
    }

    public Database_creat Open() throws SQLException {
        mDbhelper = new DataBaseHelper(mContext);
        mDb = mDbhelper.getWritableDatabase();
        return this;

    }

    public void close() {
        mDbhelper.close();
    }

    //Add new Category name
    public long insertinfo(String cate) {
        ContentValues con = new ContentValues();
        con.put("category", cate);
        return mDb.insert(DATABASE_TABLE_CATEGORY, null, con);
    }

    //Get All Category Name
    public Cursor getInfoRecords() {
        return mDb.query(DATABASE_TABLE_CATEGORY, new String[] { "id","category" }, null, null, null, null, null);
    }

    //Get All todo_list Table record 
    public Cursor getInfoRecords_todo() {
        return mDb.query(DATABASE_TABLE_TODO_LIST, new String[] { "id",
                "title", "description", "category", "due_date", "alarm_time",
                "alarm_set", "priority", "parform" }, null, null, null, null,
                null);
    }

    //Delete All todo_list Table info
    public void delall() {
        // TODO Auto-generated method stub
        mDb.delete(DATABASE_TABLE_TODO_LIST, null, null);
        Log.v("delete", DATABASE_CREATE_TODO_LIST + "all table data delete");
    }

    //new Record insert in todo_list table  
    public Long insert_todoinfo(String a, String b, String c, String d,
            String e, String f, String g) {
        // TODO Auto-generated method stub
        ContentValues con = new ContentValues();
        con.put("title", a);
        con.put("description", b);
        con.put("category", e);
        con.put("due_date", c);
        con.put("alarm_time", d);
        con.put("alarm_set", f);
        con.put("priority", g);
        con.put("parform", "false");
        return mDb.insert(DATABASE_TABLE_TODO_LIST, null, con);
    }


    //Delete id vs todo_list Table record 
    public void getdata_delet(int id) {
        // TODO Auto-generated method stub
         mDb.delete(DATABASE_TABLE_TODO_LIST, "id ='"+id +"'", null);

    }


    //Update id vs todo_list Table in CheckBox info 
    public void update_cb(int id, Boolean b) {
        // TODO Auto-generated method stub
        ContentValues con = new ContentValues();
        con.put("parform", b);
        mDb.update(DATABASE_TABLE_TODO_LIST, con, "id ='" + id + "'",null);
    }

    //Delete id vs category Table record 
    public void delete_category(int id) {
        // TODO Auto-generated method stub
        Log.v("id del cage",id+"");
         mDb.delete(DATABASE_TABLE_CATEGORY, "id ='"+id +"'", null);
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...