The initiative of Phone Magazine application came from the cooperation between CAMMOB and Phone Magazine Company in Cambodia in order to generate information in the magazine Phone Magazine for Androïde smartphone. Using this application, we could read information provided by Phone Magazine such as updated news, mobiles information, download new Androïde application and advertisements. Unlike most other applications, Khmer Unicode is used and supported from 2.3.3 version. The work that I need to do during this internship are to learn new technologies and special features of Androïde, study work methodology and requirements of the project. I began by identifying requirements and use cases. Then I made the unit tests to validate each feature and correct bugs in order to eliminate it in this application.
1. Institute of Technology of Cambodia
Information Technology and
Communication Department
Application Mobile Phone Magazine version 1
Company
:
CamMob
University’s supervisor
:
Dr. SENG Sopheap
Company’s supervisor
:
M. NOU Chandanit
Student
:
M. SAY Vortana
Internship period
:
From 13 July to 22
October 2012
Year Academic 2011 - 2012
4. General presentation
Analyze and conception
Implementation
Result and conclusion
Entreprise de stage
Web site
: www.cam-mob.com
• CamMob is a start-up Cambodian company specialized in the
development of the mobile application.
• Services
• Mobile application on platform IOS, Android, BlackBerry and Window
Phone
• Web site for mobile
4/25
5. General presentation
Analyze and conception
Implementation
Result and conclusion
Team organization
Mobile Phone Magazine version 1
M. NOU Channdanit
Company’s supervisor
M. SAY Vortana
Trainee
M. KONG Kannika
Designer and testing
5/25
7. General presentation
Analyze and conception
Implementation
Result and conclusion
Planning
Task
Week
1-3
4
5
6
7
8
9
10
11
S1
S2
S3
S4
S5
S6
12
13
14
15
S7
Learn new
Technology
Learn technology
and requirements
Sprint 1-7
Testing and
Debugging
7/25
8. General presentation
Analyze and conception
Implementation
Result and conclusion
Project presentation
• Who is Mobile Phone Magazine?
– A leading technology magazine in Cambodia
– Received the best award ICT magazine in Cambodia
– http://www.mpmag.com.kh/
8/25
9. General presentation
Analyze and conception
Implementation
Result and conclusion
Project Presentation
• Problems
• Number of smart phone users increased dramatically as well as the
Cambodian media phone applications
• No application on phone for Mobile Phone Magazine have been made
before
• Phone users find it difficult to use the existing web site in the phone device
• Objectives
•
•
•
•
Create necessary APIs for getting data from MPMag database
Add necessary tables in the MPMag database
Create an android application of MPMag
Create a back-end for adding new information to MPMag database
9/25
12. General presentation
Analyze and conception
Implementation
Result and conclusion
Physical architecture of System
Database local
Android device
MPMag server
12/25
14. General presentation
Analyze and conception
Implementation
Result and conclusion
Functionalities
Important
functions
Rendering Khmer Unicode from android version 2.3.3
Splash screen
Information Module
Mobile Module
Application Module
Web site advertisement module
Publicity module
Push notification
14/25
15. Présentation générale
Analyse et conception
Implémentation
Bilan et conclusion
Resources
Tools
Android SDK
Eclipse
Ubuntu 12.04
FileZilla
Necessary Languages
Java (android)
15/25
17. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Rendering Khmer Unicode
1. Embed font in the android application project
2. Rendering Khmer character that needed
17/25
18. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Embed font in the android application project
18/25
19. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Rendering Khmer character that needed
• Store each Unicode of each Khmer character in an array
static String setUni[] = new String[913];
static String unicode[] = new String[913];
unicode[1]="u17D2u1781";
setUni[1]="uE002";
unicode[2]="u17D2u1782";
setUni[2]="uE003";
unicode[3]="u17D2u1783";
setUni[3]="uE004";
……………………………………………………
unicode[906]="u17CE";
setUni[906]="uF7CE";
unicode[907]="u17CF";
setUni[907]="uF7CF";
unicode[908]="u17D0";
setUni[908]="uF7D0";
unicode[909]="u17B6";
setUni[909]="uE07C";
19/25
20. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
• Create a function (in this case renderKhmer(String text)) to replace
Unicode Khmer that need to render in the argument text
int KhmerUnicodeStart = 6016, KhmerUnicodeEnd = 6655;
public String renderKhmer(String text){
for (int i=0; i<text.length(); i++){
//CHECK FOR KHMER UNICODE TEXT & RENDER THEM
if (text.codePointAt(i)>= KhmerUnicodeStart && text.codePointAt(i)<=
KhmerUnicodeEnd){
for (int j=0;j<913;j++) {
text = text.replaceAll(unicode[j], setUni[j]);
}
break;
}
}
return text;
}
20/25
22. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Sharing information
Facebook
Gmail
Twitter
22/25
23. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Facebook
1. Using facebook integration library
23/25
24. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Facebook
2. Facebook account and create new application in facebook
3. Generate keyhash with the correct keystore
keytool -exportcert -alias androiddebugkey -keystore
~/.android/debug.keystore | openssl sha1 -binary | openssl
base64
24/25
25. General presentation
Analyze and conception
Implementation
Result and conclusion
Implementation
Facebook
Android
key Hash
25/25
28. General presentation
Analyze and conception
Implementation
Result and conclusion
Bilan
Tasks
Yes
Rendering Khmer Unicode from android
version 2.3.3
√
Splash screen
√
Information Module
√
Mobile Module
√
Application Module
√
Web site advertisement module
√
Publicity module
√
Push notification
No
√
Back end
√
28/25
29. General presentation
Analyze and conception
Implementation
Result and conclusion
Conclusion
Difficulties
Learn new technologies
Changing the conception
Design for multi-screen
Experiences
Development methodology (Scrum)
Research in new technologies
Working on real project
Perspective
Create back-end for MPMag
Update performances of the applications
Improve design for multi-screen
29/25
On arrive à la deuxième parite c’est la partie analyse et conception.
Voilà ces sont les fonctionnalités supplémentaries importantes qu’on doit obligatoirement implémenter et qu’ils n’existent pas dans la dernière verisoncomme importer la photo à partir des réseaux sociaux comme Facebook, Picasa, Flickr et Instagram. Quelques oératiions sur la photo choisie, on peut aussi appliquer le cadre et l’effet sur la photo choisie avec la personnalisation du message comme le couleur, la police de caractère, alignement et la taille. À partir de notre iPhone, on peut aussi acheter les crédits en utilisant la page web sécurisée. On peut donner l’avis sur notre application sur l’AppStore aussi. En plus, on peut faire la Push Notification qui est utilisé pour notifier les clients dont les cartes sont envoyés. Notre application peut supporter 2 langues: français et anglais.
First Android device sends the sender, the application ID CMG server for recordingCMG server registration issues Username successful recording device androidAfter receiving Username recording device will send registration ID to our serverOur server will store ID record in the database for later usePush notification whenever necessary, our server sends a message to the server with id GCM recording devices (which is previously stored in the database)GCM server will send this message to the mobile device using the username respected recording devices.