Android Mobile Applications Developer Resume
Sunnyvale, CA
SUMMARY:
- 5 years’ experience in software application development, proficient at Object Oriented Programming
- 3 years’ experience in developing mobile applications with Android SDK, and popular APIs like Google Map API V2, Facebook SDK
- 2 years’ experience of dealing with database using SQL, SQLite
- Expertise in Android UI design with XML and sub Classes, implementing Style, Theme and Animations handle hierarchy viewer and layout manager.
- Solid experience on the lifecycle of Activity, Fragment, Service, Broadcast Receivers. And implemented Intent, Bundle to transfer data between them.
- Expertise knowledge in Location Based Service, Notification Service, Async Task, Bind Service
- Experience in using Flags to control the execution of threads, good understanding of multithreading
- Strong knowledge on software design pattern (Singleton).
- Experience in using Wi - Fi and Bluetooth on real Android Device.
- Experience in building source code with ADT and debugging with DDMS, good understand of Strict Mode
- Experience in building connections between device and server (Web Service) using REST and SOAP
- Solid understanding of analysis of XML and HTML using SAX and DOM method
- Experience in Front-end technologies like JavaScript, HTML
- Solid understanding of Algorithm and Data Structure, having a habit of solving problems on Leetcode, Career Up and Cracking the code.
- Ability to develop unique, cutting edge applications for different handset and user requirements Good team player, problem solver and quick learner
- Self-starter, highly motivated, technically sound training and mentoring skills in driving development teams to successful solution.
- Strong analytical, communication, problem-solving, interpersonal, organizational and team monitoring skills.
TECHNICAL SKILLS:
Programming Languages: Java (Good knowledge on OOP), C++, HTML5, SQL, PERL, JavaScript, XML, VHDL, Verilog.
IDE: Eclipse, Visual Studio 2010.
Mobile Technologies: Content Providers, Alarm Manager, Broadcast Receiver & Services, RESTful, Web service, HTTP, JSON, XML, AsyncTask, Fragments and ActionBar, Android SDK 2.2 +, Emulator, ADB, DDMS, Oauth.
Database: SQL, SQLite DB, MySQL.
Defect/Bug Tracking: DDMS, Logcat.
Operation System: Windows, Linux (Ubuntu), Solaris.
Other Skills: Cadence Virtuoso, Synopsis Design Vision, ModelSim, SPICE.
PROFESSIONAL EXPERIENCE:
Confidential, Sunnyvale, CA
Android Mobile Applications Developer
Responsibilities:
- Integrated Android Google Maps V2 to locate current location and lookup a specific address on map
- Using both GPS and Networking method to connect to Internet, with a custom method to show a dialog indicating which one is used currently.
- Customized MSG UI and Used speech-to-text for composing MSG and text-to-speech to read MSG
- Customized calendar, add support to reminder setting and status bar notification using pending intent and alarm manager
- Other features: Open phone dialer, open default browser, browse contacts, browser incoming SMS MSG
- Utilized Fragment to construct different layout for Cellphones with different screen sizes.
- Customized List View for displaying the inbox messages, sender and sender’s telephone number
- Using Async Task for processing HTTP request, implement org.json to translate format between JSON Object and JavaBean.
- Achieved Multi-Language by building different value folder such as values-en, values-fr, values-es…
- Worked on debugging the application using Logcat, DDMS
- Created an constantly updating activity to refresh the UI and keep on creating new threads
- Nested Fragment programming while clicking a category of products, a Fragment Dialog as a container of View Pager, and each page of View Pager is also a fragment.
- Tested the app across different versions of Android and different android phones to assure quality and performance.
- Discussed the requirements with the client and documented the requirements
Environment: Java 1.7, Android SDK, Eclipse, XML, JSON, Text ToS peech, API, DDMS, Android Cell Phone.
Confidential, Sunnyvale, CA
Software Developer
Responsibilities:
- Manually laid out the layout of a smart calculator and designed the functionality of each button, with an action bar helping to manipulate.
- Built a custom SQLite database to store index and value data type, used a spinner to show the value base on selection of index
- Created an Fragment activity with two fragments, replacing each other with the status of screen dimension
- Made a set of 9 buttons changing background color constantly using handler
- Achieved to post messages and pictures to Facebook using Facebook SDK, and made the post button visibility bind to login status
- Enforced security by using custom permissions, so that component without permission cannot access to it.
- Exercised the Broadcast Receiver, the receiver would send a dialog notification when reboot completed
- Bind a service to make sure interfaces in service could be used by client and server, mBinder object in service class and could be used in user class
- Used built in Content Provider of phone app to directly fire an intent to call a number, created one custom Content Provider for my own database
- Used Parcelable interface and Serializable interface to transfer objects between activities
- Controlled the execution of activities by assigning different Flags to each activity
- Using the unique of creating a child class and replacing the codes to achieve the goal of minimum main thread run time, so that ANR is prevented.
- Debug the program to prevent the ANR(Android Not Responding) error happening by using Strict Mode.
- Applied break point and debug mode to step over each procedure making sure no bug exists.
Environment: Java, Android SDK, Eclipse, Broadcast Receiver, Preference, Oauth, API, DDMS, ActionBar, Spinner, SQLite, Handler, Bind Service, Content Provider.
Confidential, Syracuse, NY
Software Developer
Responsibilities:
- Designed a CAD tool which takes a logic expression as an input, and automatically generates layout
- Produced a program that generate netlist and layout based on the given Boolean expression with magic and C++
- Optimizations are performed to minimize overall area on design level
- Arranged the silicon sequence to minimize the diffusion gaps among transistors
- Minimized horizontal tracks for laying metals
- Friendly UI and Virtuoso-like layout area
- Besides, this tool could generate ASCII file that could be translated into industry standard GDSII file, which could be read into Cadence Virtuoso for direct use
- Used pSpice to simulate the delays of the whole layout, making sure it is noise tolerable.
Environment: C++, Visual Studio 2010, Win 7, Solaris, SPICE, Gordian.
Confidential, Syracuse, NY
Application Developer
Responsibilities:
- Implemented functionality based on result come up from discussion between client and techniques group.
- Developed UI in the XML file of the layout.
- Integrated Google Maps into the application using Google Android location-based APIs to display addresses and locations.
- Used GPS provider and Network Location based provider to access location data, automatically choose the best provider.
- When the GPS location is available, and the app passively use satellite status. If no satellite signal is received after a certain number of seconds, the app temporarily turns to Network Location based provider until the GPS starts properly. This process is done automatically.
- Involved in developing Integration and system test cases based on the business requirements.
- Experienced in JSON parsers to transfer to Lat Lng then use Geo coder class to transfer to real address.
- Experience with REST and SOAP Web services.
- Provided regular statistics and made presentations updated to maintenance team in weekly meetings
- Debugged the application using Logcat, DDMS.
- Check the collection use to prevent memory leak problems like out-of memory exception.
Environment: Android SDK 2.3, Java SDK 1.6, XML, Eclipse IDE, ADT Plugin, SQLite, REST.
Confidential, Syracuse, NY
Android Developer
Responsibilities:
- Find the SHA1 Hash Code using keytool in Java and Eclipse in both ways, in the command line window find the Debug. keystore.
- Installed Google Play Service with Android SDK, imported the google play service.lib into workspace, and added the library to application.
- Installed Intel x86 Emulator Accelerator and Intel x86 Atom System Image with Android SDK, making the emulator run smoother by installing com.android.vending-4.4.22.apk and Prebuilt Gms Core. apk
- Turned on Google Maps Android API v2 on Google Developer Site and applied the Android Google Map API Key with SHA1 Hash Code and package name.
- Using Location based Service to find the last known address and set on Location Changed call back to get the current location.
- Transferred the real address to Lat Lng and reverse using Geo coder class
- Applied the direction API in Google to send request then get JSON response, transferred the JSON data to Lat and Lng
- Deployed it to Android device and testing.
Environment: Java 1.7, Eclipse, Android SDK, XML, Google API, Direction API, DDMS, Android Cellphone.
Confidential
Software Developer
Responsibilities:
- Implemented functions for dynamic search based on user needs with procedures and triggers
- Produced views, forms and reports by Access and SQL Server and provided data backup and recovery strategy
- Wrote SQL queries for verifying accuracy and format of statistics in SAP Crystal Reports
- Performed unit and regression testing based on test plans and participated in the ETL development process
- Provided regular statistics and made presentations updated to project management team in weekly meetings
Environment: SQL Developer, MATLAB, Photoshop, JAVA, MS Visio.