2017-01-10 4 views
0

すべてのユーザーを表示するアプリケーションを作成しています。RecyclerViewです。ユーザーはサーバーからのデータを一覧表示します。私は正常にRecyclerViewに データを追加して完全に動作していますが、現在はすべてのデータをSqliteDatabaseに保存したいとネットワークに接続しません。sqliteからデータをフェッチして、RecyclerViewに表示すると、すべてのリストをオフラインモードサーバから来るように)。 私はデータベースを作成しましたが、どこにエラーがあるのか​​わかりません、私はすべてのデータを取得していません。これを行う方法?ここでSqliteDataBaseからデータを保存してフェッチする

は私SqliteDataBaseです:ここ

public long insertContact(int userId, String name, String profile, String status) { 
    long result = 0; 
    open(); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put("USERID", userId); 
    contentValues.put("NAME", name); 
    contentValues.put("PROFILE", profile); 
    contentValues.put("STATUS", status); 
    result = sqLiteDataBase.insert(DATABASE_TABLE_CONTACT, null, contentValues); 
    return result; 
} 

public Cursor getallEntry() { 
    return sqLiteDataBase.query(DATABASE_TABLE_CONTACT, null, null, null, "ID", null, "ID"); 
} 

私はクラスでinsertContactを呼び出しています、ContactListは、サーバからのデータが含まれていますここ

for (int i = 0; i < contactList.size(); i++) { 
    sqliteDataBase.insertContact(contactList.get(i).getId(), 
      contactList.get(i).getName(),"",status); 

私はときにすべてのデータをフェッチしていますネットワークに接続していない:

if (cd.isConnectingToInternet()) { 
     getAllUserList(); 
    } 
    else { 
     Cursor cursor = sqliteDataBase.getallEntry(); 
} 

答えて

0

public void insertContact(ContentValues values) { 
    try { 
     SQLiteDatabase db = _dbWriteable; 
     db.insert(Your.TABLENAME, null, values); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

し、サーバーの応答を取得し、あなたの活動にごDatabaseクラスでこのメソッドを追加し、このようなデシベルの値を挿入します。

ContentValues contentValues = new ContentValues(); 
    Database db = new Database(mContext); 
    for (int i = 0; i < contactList.size(); i++) { 
     contentValues.put("USERID", userId); 
     contentValues.put("NAME", name); 
     contentValues.put("PROFILE", profile); 
     contentValues.put("STATUS", status); 
     db.insertContact(values); 
    } 
あなたはすべてのレコードを取得するためのコードの下に使用することができます
0

String selectQuery = "SELECT * FROM " + TABLE_NAME; 

SQLiteDatabase db = DatabaseManager.getInstance().openDatabase(); 
Cursor cursor = db.rawQuery(selectQuery, null); 
関連する問題