qwq - islamic university of gazasite.iugaza.edu.ps/wmshbair/files/android_facebook.pdfqwq author:...

31

Upload: others

Post on 29-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 15-6-2011

  • Outline:

    Introduction

    What is Android?

    Problem Definition

    Project Descriptions

    Technology an Tools

    Methodology

    Future work and Conclusion

    Project Structure and Video

    Project Descriptions

  • Introduction

    �The fact that hitherto dedicated devices such as

    mobile phones can now count themselves among other

    venerable general-computing platforms is great news for

    programmers; this new trend makes mobile devices programmers; this new trend makes mobile devices

    accessible through general-purpose computing

    languages and therefore increases the range and market

    share for mobile applications.

    � Android is a new smart mobile phone that is

    interested to program an applications for it by

    developers.

  • What is Android?

    � Android is an operating system based on LinuxLinux with a

    JavaJava programming interface.

    �Bought by Google in an effort to extend its reach from

    the computer-based internet to the mobile internet.

    �Developed by the Open Handset Alliance, a group of �Developed by the Open Handset Alliance, a group of

    more than 30 companies, including Google, T-Mobile,

    Intel, HTC, Qualcomm and Motorola, etc...

    �Open software platform for mobile development

    � The Android SDK provides the tools and APIs

    necessary to begin developing applications on the

    Android platform using the Java programming language.

  • Android Platform

  • Android Mobile picture:

  • Problem Definition

    �Because software systems are inherently complex and

    sophisticated, redundant and unproductive to always start from

    scratch, we started the design of our project by looking at similar

    systems in the market.

    � We found that there is many single application like:� We found that there is many single application like:

    * Go!Chat an application do only chat to facebook.

    * Ebuddy an application do chat not friends on face. Its for

    gmail account like messenger.

    � There is no application do posts on facebook like Nokia

    mobiles.

  • Project Descriptions

    �Our challenge is to enter this new technology world and

    build a software for android that supports both chat and social

    network like in the software facebook-for-android and also

    better than the other facebook chat software.

    �At a high level, this Project is about writing mobile

    applications for devices that support the Android Platform.

    Specifically, the Project teaches you how to write applications

    using the Android SDK. In our project, we intend to program an

    application you will gain the following advantages :

  • Cont..

    * Open your account on facebook much easier to manage

    more than website.

    * Checking latest ten your wall posts.

    * You can posts either picture or text.

    * You can have lists of online and offline friends and chatting * You can have lists of online and offline friends and chatting

    with yours online.

    * Save up more reliability, flexibility and customizability.

    * Make it available as a desktop application on Android

    mobile as an extension .apk .

  • Methodology

    In our project, we chose the Evolutionary Prototyping Model as our system

    development model.

  • When?

    • System requirements early are not known in advance

    • Creating fundamentally new software• Developers are not confident in software

    architecture and algorithms

  • Why ??

    • We can start the design of the system with incomplete requirements.

    • Prototyping model allows systems parts to be constructed quickly.

    • We can reduce risk and uncertainty in • We can reduce risk and uncertainty in development.

    • Requirements are allowed to be revised with the customers and users until there is common agreement on what the requirements should be, then developers move to design.

  • Technology and Tools

    • Java Language :• Java is a programming language originally developed by James

    Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform.

    • Java is a general-purpose, concurrent, class-based, object-oriented language that is specifically designed to have as few oriented language that is specifically designed to have as few implementation dependencies as possible.

    • It is intended to let application developers "write once, run anywhere". Java is currently one of the most popular programming languages in use, and is widely used from application software to web applications.

  • How do we use java ?

    • We use in our project java packages “SDK” . The SDK starter package is not a full development environment—it includes only the core SDK Tools.

    • The Android SDK provides the tools and APIs necessary to begin developing applications on

    • The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. We just call it and use to programming needed classes.

    • We can use java built in packages to programAndroid application.

  • Extensible Messaging and Presence

    Protocol (XMPP)• a protocol for streaming Extensible Markup

    Language (XML) elements in order to exchange

    structured information in close to real time

    between any two network endpoints.

    • While XMPP provides a generalized, extensible framework for exchanging XML data, it is used

    mainly for the purpose of building instant

    messaging and presence applications .

  • Generalized Architecture

    • It has been implemented via a client-server architecture wherein a client utilizing XMPP

    accesses a server over a [TCP] connection, and

    servers also communicate with each other servers also communicate with each other

    over TCP connections .

  • Server:

    A server acts as an intelligent abstraction layer for

    XMPP communications. Its primary responsibilities are:

    1. To manage connections from or sessions for other entities, in the form of XML streams to and from authorized clients, servers, and other entities

    2. To route appropriately-addressed XML stanzas among 2. To route appropriately-addressed XML stanzas among such entities over XML streams

    3. Most XMPP-compliant servers also assume responsibility for the storage of data that is used by clients (e.g., contact lists for users of XMPP-based instant messaging) .

  • Client

    • Most clients connect directly to a server over a [TCP] connection and use XMPP to take full advantage of the functionality provided by a server and any associated services.

    • Multiple resources (e.g., devices or locations) MAY connect simultaneously to a server on behalf of each connect simultaneously to a server on behalf of each authorized client, with each resource differentiated by the resource identifier of an XMPP address (e.g., vs. ).

    • The RECOMMENDED port for connections between a client and a server is 5222, as registered with the IANA

  • Gateway

    • A gateway is a special-purpose server-side service whose primary function is to translate

    XMPP into the protocol used by a foreign

    (non-XMPP) messaging system,

    • As well as to translate the return data back into XMPP.

  • Network

    • Because each server is identified by a network address and because server-to-server communications are a straightforward extension of the client-to-server protocol, in practice, the system consists of a network of servers that inter-communicate. Thus, for example, is able to exchange messages, presence, and other information with . presence, and other information with .

    • Communications between any two servers are OPTIONAL. If enabled, such communications SHOULD occur over XML streams that are bound to [TCP] connections.

    • The RECOMMENDED port for connections between servers is 5269, as registered with the IANA.

  • Security in XMPP .

    • XMPP includes a method for securing the stream from tampering and eavesdropping.

    • This channel encryption method makes use of the Transport Layer Security (TLS) protocol [TLS], along with a "STARTTLS" extension that is modeled after similar extensions for the IMAP [IMAP],

    • An administrator of a given domain MAY require the use of TLS for client-to-server communications, server-to-server TLS for client-to-server communications, server-to-server communications, or both. Clients SHOULD use TLS to secure the streams prior to attempting the completion of SASL negotiation, and servers SHOULD use TLS between two domains for the purpose of securing server-to-server communications .

    • XMPP includes a method for authenticating a stream by means of an XMPP-specific profile of the Simple Authentication and Security Layer (SASL) protocol .

  • ASMAK Library

    • It's prefaces is Android-SMAK.

    • It is a library that contains classes we can call • It is a library that contains classes we can call it and use to program a chat for android

    mobile and building some function ,so it make

    programming easier to begin it from the start.

  • System Structure and video

  • System Layers

    Layer1: Connection Layer

    • Easy-Facebook-Android package

    • Authenticate the user with Oauth 2.0 version• Authenticate the user with Oauth 2.0 version

    • Chat API is responsible to handle all Chat Processes

    • Graph API to post text and photo and to read Users wall posts

  • Structure: cont..

    Layer 2: Services Level

    • Consists of posts Core and chat core.

    • Chat Core implement the required function to interact with Facebook Chat.

    • Posts Core implement the required function to interact with Facebook wall and posts.

  • Structure: cont..

    Layer 3: GUI Level

    • Dealing with the user.• Totally build in Java for android system and also XML GUIs

  • Video Show

    Project video

    Video Show

  • Future work

    • Adding emotions Icons to Chat , Wall and posts

    • Adding Text styles to Chat and posts

    • Classify Friends in Groups• Classify Friends in Groups

    • Adding Friend Image and Information to Friends List

    • Additional improvements into GUI of Chat and posts.

  • Conclusion

    • Android is a free Open source Operating System for Mobiles.

    • Java is the Major programming Language for AndroidAndroid

    • Facebook Provides APIs for Developers