mpmag android application slide i4 itc
DESCRIPTION
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.TRANSCRIPT
Institute of Technology of Cambodia
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
Information Technology and
Communication Department
Application Mobile Phone Magazine version 1
I. General presentation
II. Analyse and conception
III. Implementation
IV. Result and conclusion
2/25
Plan of Presentation
I. General presentation
II. Analyse and conception
III. Implementation
IV. Result and conclusion
3/25
Plan of Presentation
Entreprise de stage
• 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
Web site : www.cam-mob.com
General presentation Analyze and conception Implementation Result and conclusion
Team organization
5/25
Mobile Phone Magazine version 1
M. NOU ChanndanitCompany’s supervisor
M. SAY VortanaTrainee
M. KONG KannikaDesigner and testing
General presentation Analyze and conception Implementation Result and conclusion
Méthodologie SCRUM
6/25
1 WEEK
General presentation Analyze and conception Implementation Result and conclusion
Planning
7/25
General presentation Analyze and conception Implementation Result and conclusion
Task Week
1 - 3 4 5 6 7 8 9 10 11 12 13 14 15
Learn new Technology
Learn technology and requirements
Sprint 1-7 S1 S2 S3 S4 S5 S6 S7
Testing and Debugging
Project presentation
8/25
• Who is Mobile Phone Magazine?– A leading technology magazine in Cambodia– Received the best award ICT magazine in Cambodia– http://www.mpmag.com.kh/
General presentation Analyze and conception Implementation Result and conclusion
Project Presentation
9/25
• 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
General presentation Analyze and conception Implementation Result and conclusion
I. General presentation
II. Analyse and conception
III. Implementation
IV. Result and conclusion
10/25
Plan of Presentation
Global scenario
11/25
General presentation Analyze and conception Implementation Result and conclusion
Physical architecture of System
12/25
General presentation Analyze and conception Implementation Result and conclusion
MPMag serverAndroid deviceDatabase local
Logical architecture of System
13/25
General presentation Analyze and conception Implementation Result and conclusion
Functionalities
14/25
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
General presentation Analyze and conception Implementation Result and conclusion
Resources
15/25
Présentation générale Analyse et conception Implémentation Bilan et conclusion
Tools Android SDK Eclipse Ubuntu 12.04 FileZilla
Necessary Languages Java (android)
I. General presentation
II. Analyse and conception
III. Implementation
IV. Result and conclusion
16/25
Plan of Presentation
Implementation
17/25
Rendering Khmer Unicode1. Embed font in the android application project2. Rendering Khmer character that needed
General presentation Analyze and conception Implementation Result and conclusion
Implementation
18/25
Embed font in the android application project
General presentation Analyze and conception Implementation Result and conclusion
Implementation
19/25
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]="\u17D2\u1781"; setUni[1]="\uE002";unicode[2]="\u17D2\u1782"; setUni[2]="\uE003";unicode[3]="\u17D2\u1783"; 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";
public class KhmerRender {
static String unicode[] = new String[913];static String setUni[] = new String[913];
int KhmerUnicodeStart = 6016;int KhmerUnicodeEnd = 6655;
public KhmerRender() {// TODO Auto-generated constructor stub
unicode[910]="\u1780\uE016\u17C4";setUni[910]="\uE069\u1780\uE060\uE047";
unicode[911]="\u1793\uE01F\u17C2";setUni[911]="\uE06A\u1793\uE01F";
unicode[912]="\u1781\uE00A\u17C0";setUni[912]="\uE069\u1781\uE00A\uE033";
}
General presentation Analyze and conception Implementation Result and conclusion
Implementation
20/25
• 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 THEMif (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;
}
General presentation Analyze and conception Implementation Result and conclusion
Implementation
21/25
General presentation Analyze and conception Implementation Result and conclusion
1 2 3
Implementation
22/25
Sharing informationFacebookGmailTwitter
General presentation Analyze and conception Implementation Result and conclusion
Implementation
23/25
Facebook1. Using facebook integration library
General presentation Analyze and conception Implementation Result and conclusion
Implementation
24/25
Facebook2. 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
General presentation Analyze and conception Implementation Result and conclusion
Implementation
25/25
General presentation Analyze and conception Implementation Result and conclusion
Android key Hash
Implementation
26/25
Push notification
General presentation Analyze and conception Implementation Result and conclusion
I. General presentation
II. Analyse and conception
III. Implementation
IV. Result and conclusion
27/25
Plan of Presentation
Bilan
28/25
Tasks Yes No
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 √
Back end √
General presentation Analyze and conception Implementation Result and conclusion
Conclusion
29/25
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
General presentation Analyze and conception Implementation Result and conclusion
Thank for your attention !
Question and Answer
?