2017-11-09 1 views
-1

アンドロイドのsqliteのレコードの使用Cursor.movetoNext() でより多くの時間を取るAndroidIOSプラットフォームを比較します。 Cursor.movetoNext()の時間を短縮するか、何か他のものを使用する方法はあります cursor.moveToNext()時間がかかりますか?

私はカーソルたresultSet = super.executeSqlAndGetResultSet(SQL)を使用し

cursor.movetoNextを使用して

public Cursor executeSqlAndGetResultSet(String sql) throws Exception{ 
     DatabaseOps db = DatabaseOps.defaultDatabase(); 
     Cursor resultSet = db.executeQuery(sql, null); 
     return resultSet; 
} 

()は、AndroidでIOSと比較して、長い時間を割いて

while(cursor.movetoNext()){ 
//block to iterate column value of database table. 
} 
+0

を参照してください? –

+0

コメントはありません。 –

+0

白い画面が表示されている場合は、明らかにメインスレッドでクエリを実行しています。それはNo-Noです。ロードするには、 'CursorLoader'ま​​たは' AsyncQueryHandler'を使用する必要があります。それは速くなり、あなたのアプリにもっと反応を与えます。 – lionscribe

答えて

1

私はあなたがカスタムSimpleCursorAdapterで行くことができるので、高速なデータベースの実行でデータを表示するために持っていると思います。このアプローチが役立つことを願っています。

あなたの仕事を共有することができ Using custom simpleCursorAdapter

+0

ありがとう@hharry_tech、これは動作しています。 –

+0

カスタム 'SimpleCursorAdapter'は必要ありません。何もオーバーライドせずにそのまま使用することができます。 – pskink

+0

@pskink、実際に私はカスタムのcusorアダプタが必要です。これは私のチャットモジュールでたくさんの操作を実行したいからです(今日、tommorowなど)。 。 –

関連する問題