2. General Data:
› Group:
Alona Basovich
alona.basovich@mail.huji.ac.il
› Project repo:
https://github.com/alonabas/PostPCProject
› Android versions: 3.0 and above
› Description: HujiMe is an application for students in
Hebrew University of Jerusalem, that allows them
to access their personal student information
directly from phone.
› Libraries used:
› android-support-v7-appcombat,
for action bar
› Jsoup library to parse html requests
3. General Concept
› Application
contains main personal
information of student, like grades,
lessons, exams. It also contains maps:
static and dynamic. Allows to sync
desired data with calendar, search for
places in any campus of university and
provides easy way to calculate grades.
4. General Concept
› Main
screen is the lessons screen, and
when student opens it, he is delivered to
current semester according to calendar in
phone and dates of Start-End semester.
Lessons screen is split to views per day
(Tabs), such that for each day there is a
different Tab, on Monday student will see
the tab of Monday lessons.
5. General Concept
› Grades
screen as Lessons screen is split to
views by year, i.e each tab displays the
grades of specific year. Grades screen
contains option to calculate custom
average and number of “nekudot zhut”,
so student may chose courses he would
like to see in average calculation.
› In preferences user may choose to access
grades only with his personal password, to
avoid from someone else to see his
grades.
6. General Concept
› Exams
screen is just a display of exams,
with their dates and places.
› Maps:
there are two types of maps: static
and dynamic. In static section user see
the jpeg map of campuses in university; in
dynamic section student may type first
name or type of building and he will get
it’s coordinates (latitude, longitude) for
any maps application
7. General Concept
› Preferences
contain 4 main sections:
access to grades, resync data, add data to
calendar, remove data and disconnect
› Access to grades with password, we
already saw.
› Resync: user may choose to update the
app data from huji web site, but all
changes student make in application, like
names or places of lessons will be removed,
however he may choose to update only
grades or only exams and not lessons that
were changed.
8. Video:
› General
work with application
› Access to grades
› Access to Lessons
› Maps
› Data to Calendar
› Reconnect and resync
16. Architecture:
› Project
contain 5 main activities: Maps,
Grades, Lessons, Preferences, Exams, and
the Login activity that run only if user isn’t
logged in.
› For
lessons activity there are fragment for
every week day, and for grades activity
there are fragment for each year.
20. Architecture:
› Login:
at login
application connects to
secure huji web site, with
supplied credentials, at
any network error user
gets message, that
explain what is a
problem. I implemented
the web session using
DefaultHttpClient from
apache package, and
every connection to
internet done in Async
Task.
21. Architecture:
› The
login information is
handled by
SharedPreferences
class, and at each
access to application, it
checks if user is logged
in. If not user will get the
login screen.
22. Architecture:
› All
objects of grades, lessons, exams and
locations stored in local database
› At
connection to huji web site, application
retrieves html files with required data, it parses
these htmls using Jsoup library (
http://jsoup.org/), and creates instances for
each grade, lesson and exam.
23. Architecture:
› Locations
are static
objects, that I’ve
created manually, and
at login it is added to
the DB.
› Search for location is by
autocomplete text box
with custom filter, that is
based on key words for
each location.