Find Jobs
Hire Freelancers

Android version of our app Eksjöbostäder

$500-1000 USD

Завершено
Опублікований about 12 years ago

$500-1000 USD

Оплачується при отриманні
This app receives vacant apartments data, and there are no GPS coordinates to them in the XML data. This means you will need to write code that geocodes the addresses on-the-fly, so that the coordinates are ready when the map views want them. It's a requirement that your geocoding method will fetch every apartment's GPS coordinate correctly. We will help you achieve this and a how-to is in the design specification. The data must be loaded in time before the user navigates to the Map View you see in the picture. The rest of the app is standard fare and so should be easy to code. There is also an XML with contacts, and an RSS flow. So this is a pretty straight-forward app to navigate this data with 11 views, of which two are map views. Coarsely, the app is divided into Start, Apartments, News, Projects, and Contacts. ## Deliverables The app "Eksj?bost?der" design specifications The most important feature: This app receives vacant apartments, and there are no GPS coordinates to them in the XML data. This means you will need to write code that geocodes the addresses on-the-fly, so that the coordinates are ready when the map views want them. When your code wants the GPS coords, it must not take a no for an answer, and you must avoid any geocoding spamprotection from Google or whatever service you use. This means: you must handle errors and repeat a few times with delays until you get ALL coordinates. We've used the Google Maps API with an API key, and if we got status code 620 instead of GPS coordinates in the data, we waited two seconds and retried the same url. We replaced the Swedish characters ? ? ? ? ? ? ? ? ? ? with a a o u e A A O U E for better results (the Google API matches this better). We also replaced multiple spaces with 1 space, removed leading and trailing spaces, and then replaced the spaces between words with "+" (not %20). The usability of this app pretty much hangs on how perfectly it can fetch these GPS coordinates, and this is why this absolutely must work before we can approve the app. Snags: These are the most frequent things that pop up in the test-feedback loop after the developer's final version and before approving the app. Watch out for these and build your app already from the startup to support these things, to save time for you and us. Please make sure you can develop according to these points before bidding. 1. Don't use any fixed urls anywhere in the app - except one. This url is the address of an XML file containing whatever base directory on the web where you load all other files and images from. 2. Don't use fixed strings for any text that is displayed, even if we don't specify that the app is to be localized. Our customer may request another language translation later, and then we (or you) can do the job of translation faster. It also enables us (or you) to fix simple spelling errors quickly, instead of prolonging the approval-test cycle. 3. You must use a caching method that allows you to always serve information that are as fresh as the cache times specified in the app. 4. XML is without exception in "Apple Plist 1.0" format. You must be able to parse this, and handle any character escaping necessary. 5. All text strings including those fetched from XML or HTTPResponses are UTF-8, no BOM. This includes strings in projects and sources. We are from Sweden, so here are the strange characters we use: ????? ?????. If possible, please deliver all project sources in UTF-8, no BOM when the project is delivered to us. 6. If you can, please download and use the iPhone app from App Store to get a better sense of how the information is presented and navigated. 7. Important: Text must be readable and buttons must be touchable (avoid tiny font sizes and button sizes) Summary: This app will allow Android mobile phone users to see the currently vacant apartments, either in the form of a map with pins, or a list. Clicking on a pin or apartment show information text and a picture. This is the main function. Specifically, users will be able to: 1. See a start screen with an introductory text (a simple image and no functionality) 2. See the list of apartments, with information about rooms, area, rent price, etc. 3. Read news (Simple RSS-feed reader) 4. View a specially prepared web page with images of recent building projects. 5. Browse a list of neighborhoods and see a contact page with a picture for the person responsible for each neighborhood. These 5 points correspond to the 5 main menu buttons at the bottom of the iPhone screenshots. (Called View 1...5 below.) All data in this app are online files, except text on buttons and titles. All text is in UTF-8, and this app is intended only for Sweden. In the final app, all text in the app must be in Swedish. The only view that needs to support landscape rotation is View 4 (see notes below). Indata: For graphical and other file resources, see the attached .zip file. All .xml and .plist files are one(1) array of dictionarys in a standard Apple Plist 1.0 XML wrapper. Characters <, >, and & are HTML-escaped in these files and must be converted back. IMPORTANT: There is only 1 fixed url: [login to view URL] - Your app cannot have any other fixed urls in it, or links may become broken in the future. [login to view URL] properties: xmldir is the base folder of the other 2 online XML files (see below). feed is the url of the RSS feed. aktuellaprojekt is the url to the custom webpage for the Web View. imgbaseurl is the base url for any and all images in the indata that don't start with "http". Prepend this to form the full, valid url if so. address, phone, homepage, email, and message string should be displayed on the Kontakt (contact) main page. Column3..5 are reserved for future use. Ignore. bostadsomraden properties You must take the xmldir string and append /[login to view URL] to form the correct url. Then fetch the data from this url as an Apple Plist in xml format. id is a unique id, if you need it. namn is the name of the neighborhood (headline in the neighborhood list in View 5.) bild_1 is the image in screenshot 5-neighborhoods-detail, always 500px wide. You must scale this to fit the pixel width of the phone screen. text1 is the description text. person_1_namn is the name of the contact. NOTE: if empty, you must use the person_2_* fields instead! person_1_telefon is the contact's phone number. if empty, don't display it (and hide the call button) person_1_epost is the contact's email. if empty, don't display it (and hide the email button) person_1_funktion is the contact's profession. Displayed in the Details view subtitle. lagenheter properties You must take the xmldir string and append /[login to view URL] to form the correct url. Then fetch the data from this url as an Apple Plist in xml format. id is a unique id, if you need it. address is the street address of the apartment. Use this for geocoding, but you must append " Eksjo" at the end (otherwise it will find the same street in other cities). This is the headline in the apartments list in View 2. rum, storlek, hyra is rooms, area, rent displayed in map pin info and details view and in apartments list subtitle. text1 is the description text. planlosning is the url to the bottom picture in the Details view, always 500px wide. You must scale this to fit the pixel width of the phone screen. Caching: You need not worry about freshness of cached data in this app. It's loaded at the start and the user refreshes it manually with refresh buttons. All data loading and GPS-lookup is done with one function. This function is called when the start page appears, to have data for View 2. Please disable (gray out) View 2 while loading, if it's hard to handle data integrity perfectly. The loading function is also called when the user presses the refresh button Ladda Om in View 2. You may pre-load the RSS too, or load it dynamically when View 3 appears, as long it refreshes when Ladda Om in View 3 is pressed and there is no wait before the news appear when View 3 appears. When data is loaded, the user must be informed with the usual "loading spinner". Any text shown while loading should read "Laddar...". We would prefer a simple, translucent graphical spinner without text. General design: You should follow the UI design from screenshots as closely as possible, but where it conflicts with normal Android app use you can suggest a better solution. We want an app that is completely intuitive to an Android phone user. It should however be clear to a novice user that has used a few similar apps before, how he should navigate the app, at all times. NOTE: This app will call numbers when the user presses a contact's button. You must declare CALLING_PRIVATE in permissions. "Back buttons" should have the titles of their parent view, but if the title is not fixed, it should read "Tillbaka". If you follow the screenshots you can never go wrong. All lists should normally be presented sorted as they are in the files. If a list deviates from the screenshots, however, then sort it like the screenshot. All text boxes in detail views are plain text. The app should adapt to different screen sizes within reason - if it's a modern smartphone (Android OS 2.2 or higher) and the resolution is 320(w) by 480(h) or higher, it should be supported. Functionality: If you want, you can familiarize with the Iphone version on App Store after reading the below, to make sure you get how navigating the UI is intended. See screenshots for the 11 views are in the zip file. Use them for reference. They are named 2-main, 2-details, 2-details-map and so on to match the view hierarchy for 2. below, for example. [login to view URL] This is a "dead" landing page to show the user something while data is loading. Display a translucent spinner in the center of the picture while loading. 2. Hyresledigt (vacant apartments) A main list/table view with a refresh button at top left and a button to a map subview with all apartments' pins at top right. Clicking in the list opens up another subview, the Details page for that apartment. Data comes from the lagenheter xml. NOTE: The button "V?gbeskrivning" in the map views should open a route from the phone's position to the apartment's position, in the Google Maps app, or failing that, open a route URL on [login to view URL] in the browser. [login to view URL] (news) A main list/table view listing the latest news. Only the xml fields title, link, description and date need be read from the RSS feed. The date needs to be converted from the present format to "yyyy-mm-dd hh:mm" by you, to be displayed in the Details subview together with the full text etc. [login to view URL] (building projects) A custom webpage is shown in a Web View. The top left button Tillbaka reloads the "aktuellaprojekt" url from [login to view URL] (see above). This web page has been tested on Android and looks good. The idea of this view is to make the 320px wide page fill the width of the screen in landscape mode, regardless of screen resolution, so that the 310px wide (almost) image fills the screen between top bar and bottom tab bar. [login to view URL] (Contact) A main view with the contact info from [login to view URL], top left button goes to subview 1, the list of neighborhoods from the bostadsomraden xml. Clicking a neighborhood displays the xml-data (including a picture) in subview 2, a Details view. NOTE: The final app must be delivered to AVIA in a form where it can be compiled with Eclipse and directly uploaded to Android market. Any dependant libraries must be delivered with the Eclipse project. The "reverse domain identifier" for the app should be se.avia.eksjobostader.
ID проекту: 2725934

Про проект

2 пропозицій(-ї)
Дистанційний проект
Активність 12 yrs ago

Хочете заробити?

Переваги подання заявок на Freelancer

Вкажіть свій бюджет та терміни
Отримайте гроші за свою роботу
Опишіть свою пропозицію
Реєстрація та подання заявок у проекти є безкоштовними
Доручений:
Аватарка користувача
See private message.
$850 USD за 10 дні(-в)
4,6 (75 відгуки(-ів))
6,9
6,9
2 фрілансерів(-и) готові виконати цю роботу у середньому за $676 USD
Аватарка користувача
See private message.
$501,50 USD за 10 дні(-в)
5,0 (7 відгуки(-ів))
4,4
4,4

Про клієнта

Прапор SWEDEN
Eksj&ouml;, Sweden
5,0
18
Спосіб оплати верифіковано
На сайті з жовт. 8, 2003

Верифікація клієнта

Дякуємо! Ми надіслали на вашу електронну пошту посилання для отримання безкоштовного кредиту.
Під час надсилання електронного листа сталася помилка. Будь ласка, спробуйте ще раз.
Зареєстрованих користувачів Загальна кількість опублікованих робіт
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Завантажуємо для перегляду
Дозвіл на визначення геолокації надано.
Ваш сеанс входу закінчився, і сеанс було закрито. Будь ласка, увійдіть знову.