0
私はメッセージングアプリを開発しています。チャット/テキストメッセージをsqliteに保存する方法に関する多くのチュートリアルを検索し、アクティビティが再度作成されたときに取得します。私のコードは次のようである -アンドロイドはsqlite dbにチャットを保存し、それらを取得します
これはChats.java
、ChatAdapter.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);
}
}
、
sqliteのDBにチャットを保存し、それを開いたときに取得する方法を@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);
}
}
です。
レルムも使用できます。それはandroid.Realmでsqliteの代替です検索とデータを保存する高速です。このリンクを参照してくださいhttp://realm.io/docs/java/latest/ – iAndroid
私の質問はどのように保存するのですか... sqliteまたはrealmに関係なく – Mark023
realm document.Iを読んでください教えてくれない人や助けてくださいアンドロイドでsqliteのデータを保存することでグーグル。 – iAndroid