Кажется, проблема в том, что вы создаете только один экземпляр вашего объекта Profile
перед циклом и добавляете только этот экземпляр в свой список в цикле.
Измените код следующим образом:
public ArrayList getAllProfile()
{
db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_USER, null);
if (cursor != null)
{
ArrayList<Profile> profiles = new ArrayList<>();
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext() )
{
Profile profile = new Profile(); // create a new instance in your loop, instead only creating one instance before the loop
profile.setId(cursor.getInt(cursor.getColumnIndex(ID)));
profile.setFirstName(cursor.getString(cursor.getColumnIndex(FIRST_NAME)));
profile.setLastName(cursor.getString(cursor.getColumnIndex(LAST_NAME)));
profile.setFatherName(cursor.getString(cursor.getColumnIndex(FATHER)));
profile.setAge(cursor.getInt(cursor.getColumnIndex(AGE)));
profile.setEmail(cursor.getString(cursor.getColumnIndex(EMAIL)));
profile.setGender(cursor.getInt(cursor.getColumnIndex(GENDER)));
profile.setPhoneNumber(cursor.getString(cursor.getColumnIndex(PHONE_NUMBER)));
profiles.add(profile);
App.myLog("is : " +profile.getFirstName());
}
cursor.close();
return profiles;
}
if(cursor != null)
{
cursor.close();
return null;
}
}
Вы собираетесь столкнуться с большей проблемой, когда Вы видите что-то как:
<doohickey name="<foobar>">
Вы захотите применить что-то как:
gsub(/<[^<>]*>/, "")
... столько, сколько шаблон соответствует.
Это регулярное выражение сделало примерно все, что я ожидал, что оно к, кроме него заставило все кавычки быть преобразованными в “и все одинарные кавычки, которые будут изменены на”.
Это не звучит, как будто RegExp сделал бы это. Вы уверены, что это отличается прежде?
Посмотрите этот вопрос здесь для получения информации о проблеме, это имеет превосходный ответ:
Получите не поля формы UTF-8 как UTF-8 в php.
Использование CGI:: unescapeHTML после выполнения замены регулярного выражения:
CGI::unescapeHTML(str.gsub(/<\/?[^>]*>/,""))
См. http://www.ruby-doc.org/core/classes/CGI.html#M000547
В вышеупомянутом фрагменте кода gsub удаляет все HTML-тэги. Затем unescapeHTML () возвращается все объекты HTML (такой как <“) к их фактическим символам (<, кавычки, и т.д.)
Относительно другого сообщения на этой странице обратите внимание, что Вы никогда не будете переданным HTML такой как
<tag attribute="<value>">2 + 3 < 6</tag>
(который является недопустимым HTML); то, что можно получить, вместо этого:
<tag attribute="<value>">2 + 3 < 6</tag>
Вызов к gsub преобразует вышеупомянутое к:
2 + 3 < 6
И unescapeHTML закончит задание:
2 + 3 < 6
Вы могли использовать многопроходную систему для получения результатов, которые Вы ищете.
После выполнения Вашего регулярного выражения, выполненного выражение для преобразования &8220; к кавычкам и другому для преобразования &8221; к одинарным кавычкам.
Я столкнулся с подобной проблемой с символьными изменениями, это произошло, когда мой код пробежал другой модуль, который осуществил кодировку UTF-8 и затем когда это возвратилось, у меня был другой файл (хлебал массив строк) на моих руках.