我正在開發Android中的消息傳遞應用程序。當我發送消息時,我將此消息存儲在sqlite db
與insert()
。我將它作爲包含發件人,收件人,消息的對象存儲。用於android消息傳遞的SQLitedb實現
現在,當我的片段在onCreateView()
中創建時,我使用get
來恢復它。問題是我不知道如何實現這個get
我的例子。這是我的代碼。
在我Fragment
,
public void sendTextMessage(View v) {
String message = msg_edittext.getEditableText().toString();
ChatMessage chatMessage = new ChatMessage(message,true);
chatMessage.body = message;
Log.d("hi","Inside3");
localstoragehandler.insert("me", "receiver", chatMessage.body.toString());
msg_edittext.setText("");
chatAdapter.add(chatMessage);
chatAdapter.notifyDataSetChanged();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
localstoragehandler = new LocalStorageHandler(getActivity());
dbCursor = localstoragehandler.get("receiver", "me");
Log.d("hi","Store0");
if (dbCursor.getCount() > 0){
Log.d("hi","Store1");
int noOfScorer = 0;
dbCursor.moveToFirst();
while ((!dbCursor.isAfterLast())&&noOfScorer<dbCursor.getCount())
{
Log.d("hi","Store2" + dbCursor.getString(3));
noOfScorer++;
chatAdapter.addmsg(dbCursor.getString(3));
dbCursor.moveToNext();
}
}
localstoragehandler.close();
}
當我的片段創建我只得到發送的最後一條消息。這意味着 - 比如我送 -
Hi
How
Are
You
在創建片段,我明白了作爲 -
You
You
You
You
這裏是我的方法 -
public void add(ChatMessage object) {
chatMessageList.add(object);
notifyDataSetChanged();
}
public void addmsg(ChatMessage msg) {
Log.d("hi","Store3" + msg);
chatMessageList.add(msg);
Log.d("hi","Store4" + chatMessageList);
notifyDataSetChanged();
chatMessageList.clear();
}