2016-07-21 2 views
0

私はメッセージングアプリを開発しています。チャット/テキストメッセージをsqliteに保存する方法に関する多くのチュートリアルを検索し、アクティビティが再度作成されたときに取得します。私のコードは次のようである -アンドロイドはsqlite dbにチャットを保存し、それらを取得します

これはChats.javaChatAdapter.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); 
     } 
} 

です。

+0

レルムも使用できます。それはandroid.Realmでsqliteの代替です検索とデータを保存する高速です。このリンクを参照してくださいhttp://realm.io/docs/java/latest/ – iAndroid

+0

私の質問はどのように保存するのですか... sqliteまたはrealmに関係なく – Mark023

+0

realm document.Iを読んでください教えてくれない人や助けてくださいアンドロイドでsqliteのデータを保存することでグーグル。 – iAndroid

答えて

0

ここでは、SQLiteデータベースを作成する際の出発点をいくつか紹介します。最初にそれらを読んで、その後、自分でやってみる:

SQLite OpenHelper

SQLite Tutorial

Saving Data in SQLite Database

例の多くのトンが来店中です。私は最初に3番目のリンクを読んでから、残りを読むことをお勧めします。

関連する問題