Ich entwickle eine Messaging-App. Viele Tutorials zum Speichern von Chat-/Textnachrichten an sqlite wurden gesucht und abgerufen, wenn die Aktivität erneut erstellt wird. Mein Code ist wie folgt -android chats zu sqlite db speichern und sie abrufen
Dies ist Chats.java
,
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.chats, container, false);
random = new Random();
msg_text = (EditText) view.findViewById(R.id.messageText);
msgListView = (ListView) view.findViewById(R.id.msgListView);
ImageButton sendButton = (ImageButton) view
.findViewById(R.id.sendMessageButton);
sendButton.setOnClickListener(this);
msgListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
msgListView.setStackFromBottom(true);
chatlist = new ArrayList<ChatMessage>();
chatAdapter = new ChatAdapter(getActivity(), chatlist);
msgListView.setAdapter(chatAdapter);
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
}
public void sendTextMessage(View v) {
String message = msg_edittext.getEditableText().toString();
if (!message.equalsIgnoreCase("")) {
final ChatMessage chatMessage = new ChatMessage(user1, user2,
message, "" + random.nextInt(1000), true);
chatMessage.setMsgID();
chatMessage.body = message;
chatMessage.Date = CommonMethods.getCurrentDate();
chatMessage.Time = CommonMethods.getCurrentTime();
msg_edittext.setText("");
chatAdapter.add(chatMessage);
chatAdapter.notifyDataSetChanged();
MessengerActivity activity = ((MessengerActivity) getActivity());
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.sendMessageButton:
sendTextMessage(v);
}
}
In ChatAdapter.java
,
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ChatMessage message = (ChatMessage) chatMessageList.get(position);
View vi = convertView;
if (message.isMine) {
layout.setBackgroundResource(R.drawable.bubble_a);
parent_layout.setGravity(Gravity.RIGHT);
}
// If not mine then align to left
else {
layout.setBackgroundResource(R.drawable.bubble_b);
parent_layout.setGravity(Gravity.LEFT);
}
}
Wie Chats speichern db SQLite und abrufen, wenn sie geöffnet wird.
können Sie Realm auch verwenden. Es ist eine Alternative von sqlite in android.Realm ist schnell in abrufen und speichern Sie Daten. bitte diesen Link http://realm.io/docs/java/latest/ – iAndroid
Meine Frage ist, wie kann ich sparen ... Unabhängig von SQLite oder Realm – Mark023
lesen Sie bitte realm document.I kann Ihnen helfen, Sie nicht zu unterrichten oder zu tun googeln auf Speicherdaten in SQLite in Android. – iAndroid