Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- -------------------------------------------------------- ON INIT -------------------------------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 1. User Login --- [CREDENTIALS] --> HomeActivity
- 2. HomeActivity:OnCreate{
- new DataHandler() ----> DataHandler
- }
- 3. DataHandler:Constructor() {
- Async Calls: InitWeather() --[ OnPostExecute ]--> InitChatIDs() --[ OnPostExecute ]--> InitConnections() --[ OnPostExecute ]--> MainActivity:loadHomeFragment();
- }
- 4. MainActivity:loadHomeFragment() -> HomeFragment displays, app waits
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- ------------------------------------------------ <<User Switches To Chat Fragment>> -> --------------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 1. MainActivity:onNavigationItemSelected(){ //InnerClass at top of HomeActivity
- DataHandler mData.getChats(true) -> // call to mData method to update whatever you need (update messges, etc). Sometimes this requires a true boolean to trigger fragment switching.
- }
- 2. DataHandler:getChats(true/false) {
- URI uri = new Uri....
- if(true){
- AsyncTask
- onPostExecute(updateChatsTransition) //update chats and transition to new fragment
- } else {
- AsyncTask
- onPostExecute(updateChats) //just update values in data structures, don't switch fragments.
- }
- }
- 3. updateChats(){
- JsonResults -> ChatObject -> HomeActivity:mJsonData //jsondata is updated with new chats if any
- //(or message data, depending on what is being done)
- if (transition){
- HomeActivity:navigateChats()
- }
- }
- 4. HomeActivity:navigateChats(){
- Chats[] = DataHandler.getChatArray(mJsonData.get(chats)); // method in data handler that converts json data to Chats[]
- Frag frag = new Frag;
- frag.setArguments(chats)
- loadfragment(frag);
- }
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- ------------------------------------------------ <<FRAGMENT WANTS TO ADJUST DATA>> --------------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 1. Fragment -> calls HomeActivity:<THE PROPER ASSOCIATED LISTENER>
- 2. HomeActivity:<THE PROPER ASSOCIATED LISTENER> {
- DataHandler.update/get<WHATEVER SHOULD BE UPDATED>(True/False [for fragment swapping] )
- }
- 3. DataHandler:Update<Whatever>(True/False){
- URI uri ...
- AsyncCall -> MainActivity:<Method in main activity that updates data>
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement