This document provides tips and tricks for rapid Android development for hackathons. It discusses using ButterKnife to reduce boilerplate code, integrating with Azure Mobile Services to access cloud data, and preparing for hackathon judging by focusing on problem solving and usability over extensive features. Sample projects demonstrate integrating ButterKnife and connecting to an Azure Mobile backend.
6. Tips Hackathon: Idea
•OOT is Bad Idea
Every hackathon has a topic. Don’t develop app that out of the topic.
•Problem Solution
Your app must solve the problem. Less technology but solve the problem better than less
solution but lot of technology.
•Wow Factor
Prepare cool stuff that can make jury excited.
•Focus to Demo: Hard code? Why not?
Don’t develop full version of the app. You not have much time for present it to the judgment
session. Even, you only have 1 minute to demo. Focus to the core.
7. Get Things Prepared
•The Team: Coder & Presenter
Hackathon wasn’t just about coding.
•Learn Hackathon Environment, First: API
•Create To Do List
•Never Forget Judgment Points
Problem Solution, Originality, User Friendly, API Implementation, Readiness, etc.
8. Steal Start is Fine
•Setup Group Chat
•Setup Project: User Interface,
Library
•Setup Git
•Setup Cloud Service / Web
Service
9. During Hackathon
•Take Frequent Breaks
Don't let you sick after hackathon
•Have Fun!
•Presentation:
Less Text, Lot Screen Shoot, Make a Story, Use Usual Words.
10. Tricks Hackathon
• ButterKnife
• Retrofit
• Cloud Service :
Azure Mobile Service
Firebase
AWS
• Json2Java : http://www.jsonschema2pojo.org/
• Icons : http://www.flaticon.com/
15. Integrate Azure Mobile
Service with Android
• Add Azure Mobile Service SDK
• Add Gson Library
compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.2+'
compile 'com.google.code.gson:gson:2.7'
16. Create Model from Azure Table
public class TPromo implements Serializable {
@com.google.gson.annotations.SerializedName("id")
private String id;
@com.google.gson.annotations.SerializedName("image")
private String image;
@com.google.gson.annotations.SerializedName("title")
private String title;
@com.google.gson.annotations.SerializedName("description")
private String description;
17. Setup Azure Service
public void setupAzureService() {
try {
// Create the Mobile Service Client instance, using the provided
// Mobile Service URL and key
mobileServiceClient = new MobileServiceClient(
GlobalVariable.AZURE_SERVICE_URL,
GlobalVariable.AZURE_SERVICE_KEY,
getActivity()).withFilter(new ProgressFilter());
// Get the Mobile Service Table instance to use
mobileServiceTable = mobileServiceClient.getTable(TPromo.class);
} catch (MalformedURLException e) {
AppUtility.logD("TAG", "There was an error creating " +
"the Mobile Service. Verify the URL");
}
}