GithubHelp home page GithubHelp logo

mi-chat's Introduction

MI-Chat Build Status

Get it on Google Play

The Android app uses the Apache v2 license. License text to be added later.

Macinsiders native Android chat app

Messages screen (Phone) Messages screen (Tablet)

Testers

You must be registered on Macinsiders.com to be able to test this app, hence you need to be a McMasterU student.

If you would like to become a beta tester for this app:

  1. Join Macinsiders Chat Testers Google+ community
  2. Click "Become a tester" on this page
  3. Get the app from the Google Play Store page

Note

I have completely removed support for ant build system, using gradle instead. If you still want to build with ant, fork this project and import it to your IDE. From there, you're on your own.

Dependencies

Included as jars

Proposed app workflow

  • User enters credentials and clicks the login button. Login form is posted and PersistentCookieStore is used to save the cookies in a SharedPreference (not sure of security at the moment)

  • PageProcessor.getResource() is called to execute the GET request and a w3c Document is obtained through which a Page object is created.

  • The result is saved in a local database (tables for Info, Users and Messages) using a ContentProvider/Resolver.

  • Using the MessagesCursorAdapter, the messages information is retrieved and the list in MessagesActivity is populated with each message styled using the BBCode information.

  • Using the UserCursorAdapter, the user list information is retrieved and the list in UserListFragment is populated

  • This GET is called every 3 seconds. To conserve battery, it is only done while the user is within the app and the screen is on. The refresh interval increases if the chatroom is not very active.

  • MessageProcessor.postResource() is called to post a message. The response obtained is the same as PageProcessor.getResource() so it is parsed in the same way.

githalytics.com alpha

mi-chat's People

Contributors

afzalive avatar

Watchers

James Cloos avatar Smart Segun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.