title: Android - Architecture of a chat app
body: <p>I have a question regarding Android's architecture. I am starting out in Android and after a few static apps, I'd like to build a dynamic sort of app like a chat app. My questions are:</p>
  
  <p>This is my understanding of the Basic architecture of a chat app.<img src="https://i.stack.imgur.com/p1sfI.jpg" alt="test"></p>
  
  <ul>
  <li>Am I correct in assuming that a chat conversation always passes through a server to and fro?</li>
  <li>I understand that natively Android uses sqlite. Is it possible that I could use some other DB on the server or should I stick with sqlite?</li>
  <li>Does the server-side code need to be in Java so that it plays well with Android or could I code it in, maybe something that I am more proficient in - like maybe Python?</li>
  <li>Lastly, if a message need to be transformed in some way, does that take place on the user's device before sending or does that happen on the server?</li>
  </ul>