Clouds App - CodeStorm
Transcription
Clouds App - CodeStorm
Clouds App – Wipro CODE STORM App Hack 2015 Clouds App - Documentation Introduction : In have developed an Android App , named as Clouds App.It is a realtime weather forecast android application. This app supports weather forecast for 200,000 cities all over the world .I have made it to show forecast for 14 days . Clouds App Specification :Supports min SDK Version :10 ;Supports max SDK version:20. Needs permission for full network access. For Wipro’s CODE STORM App Hack , I have selected to build a weather app because everyone can relate themselves to weather .If I talk about technical aspects for the andorid’s framework , through Clouds App I have touched most of the framework’s apis.So I should start with the development process of the app. Just a glance over Android’s Architecture : Android framework is built over the Linux Kernel , so all the device drivers , security modules are just like as we have in our linux kernel . Clouds App – by Arindam Mishra Team Name : arindam7 Wipro ID : AR277544 Page 1 Clouds App – Wipro CODE STORM App Hack 2015 So as we can see from the Android’s architecture , that android framework is a software stack with different layers with different responsibilities over Linux Kernel . The Android framework is designed by keeping one most important thing in the mind that our mobile devices are resource constraint , by this statement I mean that mobile devices have limited RAM , CPU power and the battery life . I will show you the flow process for building an Android Application . So , this app development flow has five phases , its brief description is below: 1) Android Project : In Clouds App I have used Android Studio for development , as it is recommended by Google to get the best out of the Android’s framework .So after completing all the coding ,I will move to building the project . 2) Build the Project :In my app I have used Gradle for building the project .There are many reasons for supporting Gradle , we don’t have to add jar files manually , as we do in eclipse .In gradle I just have to give all my project’s dependencies in the “build.gradle” Clouds App – by Arindam Mishra Team Name : arindam7 Wipro ID : AR277544 Page 2 Clouds App – Wipro CODE STORM App Hack 2015 file.That’s it all the heavy lifting of building the project is done by gradle . 3) Android Package .apk file generation : So finally we have to generate the Android’s executable file “.apk” . Android package not only contains my android’s activity java code but the uncompiled resources also .In the Clouds App , there are many uncompiled resources like app image resources , string rsouces etc . 4) ART and DALVIK : So just like our java programs run on JavaVirtualMachine , in the same manner Android’s executables run on DalvikVirtualMachine (DVM). DVM compiles the .dex(DalvikExecutableFormat) files which is generated during the build process of the app . These .dex files will be present in the Android’s packaged .apk file . Now Google has replaced DVM by ART . Android runtime (ART) is the managed runtime used by applications and some system services on Android. ART and its predecessor Dalvik were originally created specifically for the Android project. ART as the runtime executes the Dalvik Executable format and Dex bytecode specification.ART and Dalvik are compatible runtimes running Dex bytecode, so apps developed for Dalvik should work when running with ART. 5) Signing : Now the .apk is ready , but before it goes for the installation to any device it needs to be digitally signed by the developer . Android Studio supports two types of signing and .apk generation . One is debug release and the second one is production release . Clouds app is the production-realse signed apk file . 6) So the last phase is to install the apk either on a virtual device or any real device . I have used my tablet (with USB debugging enabled on it ) throughout the app built process to debug as well as to run the production release apk file . Clouds App – by Arindam Mishra Team Name : arindam7 Wipro ID : AR277544 Page 3 Clouds App – Wipro CODE STORM App Hack 2015 So now something specific to the Clouds App Functionality : Clouds App is a weather forecast app , it gives user the weather forecast for 14 days .Cloulds App take location postal code as input to search for the weather conditions .I have selected the postal code to be given as an input because user may make a spelling mistake while giving the city name as an input . It allows the user to share the weather info to all the other apps installed on the device . Clouds app also show the weather notifications on the notification bar of the device . As the android framework provides us to fire the implicit intent to other activities , I have utilized this feature .So I launced an implicit intent to the maps app with the location info . So the user can also see the weather of the location and the map as well . So how Clouds App is getting the real time weather data for 200,000 cities all over the world . I have used Open Weather Map api , it is http based rest api to provide the weather data in JSON and XML format , I have used JSON format . http://openweathermap.org/api. I have placed the screenshots also in the folder , please check it . Best regards , Arindam Mishra (WT01 - Banking & Financial Services) Wipro Emp ID : AR277544 TeamName: arindam7 Team Leader :Arindam Mishra Clouds App – by Arindam Mishra Team Name : arindam7 Wipro ID : AR277544 Page 4