Giter Site home page Giter Site logo

dhruv1110 / android-shortify Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 7.0 111 KB

An Android library used for making an Android application more faster with less amount of code. Shortify for Android provides basic functionalities of view and resource binding, view customization, JSON parsing, AJAX, various readymade dialogs and much more.

Home Page: https://dhruv1110.github.io/Android-Shortify/

License: Apache License 2.0

Java 100.00%
android android-shortify java ajax event-handlers dialog parse json android-library android-development

android-shortify's Introduction

Shortify for Android

Android Arsenal API

Shortify is used for minimizing your coding effort in your development environment. It has some builtin method and classes which helps you in creating mostly used element and tasks in Android app.

Download

Grab library via Gradle

compile 'net.dhruvpatel:shortify:1.2.4'

or Maven

<dependency>
  <groupId>net.dhruvpatel</groupId>
  <artifactId>shortify</artifactId>
  <version>1.2.4</version>
  <type>pom</type>
</dependency>

Features

How to use

Initialize library before using it in onCreate method

$.init(this);

Binding of any views

// Basic 
EditText editText = (EditText) context.findViewById(R.id.editText1);
com.example.view.CustomView customView = (com.example.view.CustomView) context.findViewById(R.id.view);

// Shortify
EditText editText = $.bind(R.id.editText1);
com.example.view.CustomView customView = $.bind(R.id.view);

Binding of resources

// Basic 
String str = getApplicationContext().getString(R.string.app_name);
Drawable drawable = getApplicationContext().getDrawable(R.drawable.example);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.animation1);

// Shortify
String str           = $.bindString(R.string.app_name);
Drawable drawable    = $.bindDrawable(R.drawable.example);
Animation animation  = $.bindAnimation(R.anim.animation1);
.
.
.
//List of binders
$.bindString(R.string.example);
$.bindDimension(R.dimen.example);
$.bindAnimation(R.anim.example);
$.bindDrawable(R.drawable.example);
$.bindColor(R.color.example);
$.bindInteger(R.integer.example);
$.bindBoolean(R.bool.example);

Customize views

//Basic
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(getApplicationContext().getString(R.string.app_name));
textView.setTextColor(Color.BLUE);
textView.setTextSize(16f);
textView.setAllCaps(true);
Linkify.addLinks(textView, Linkify.ALL);

//Shortify
$.id(R.id.textView).text(R.string.app_name)
   .color(Color.BLUE)
   .size(16)
   .allcapital()
   .linkify();

Parsing JSON data

Shortify can parse long and complex JSON data in simplest way. You can parse any type of data like integer, long, double, boolean, String

int value = $.getIntFromJSON(path, JSON_STRING);
String str = $.getStringFromJSON(path, JSON_STRING);
long value = $.getLongFromJSON(path, JSON_STRING);
double value = $.getDoubleFromJSON(path, JSON_STRING);;
boolean value = $.getBooleanFromJSON(path, JSON_STRING);

Example 1

{
     "$schema": "http://json-schema.org/draft-04/schema#",
     "title": "Product",
     "description": "A product from Acme's catalog",
     "type": "object",
     "properties": {
         "id": {
             "description": "The unique identifier for a product",
             "type": "integer"
         },
         "name": {
             "description": "Name of the product",
             "type": "string"
         },
         "price": {
             "type": "number",
             "minimum": 0,
             "exclusiveMinimum": true
         },
         "tags": {
             "type": "array",
             "items": {
                 "type": "string"
             },
             "minItems": 1,
             "uniqueItems": true
         }
     },
     "required": ["id", "name", "price"]
 }
  1. Now suppose we want to get value of properties > price > minimum
int value = $.getStringFromJSON("properties.price.minimum", JSON_STRING);
  1. Suppose we want to get value of properties > tags > items > type
String value = $.getStringFromJSON("properties.tags.items.type", JSON_STRING);
  1. If we want to get 2nd element of required object
String value = $.getStringFromJSON("required[1]", JSON_STRING);

Example 2

This example has array of user and no object is assigned to whole array

[
  {
    "name":{
      "first": "first name 1",
      "last": "last name 1"
    },
    "dob":{
      "month": "January",
      "day": 1
    }
  },
  {
    "name":{
      "first": "first name 2",
      "last": "last name 2"
    },
    "dob":{
      "month": "May",
      "day": 2
    }
  }
]

Now suppose we want to get value of 1st user's first name

String name = $.getStringFromJSON("[0].name.first", JSON_STRING);

AJAX

Shortify enables you to send AJAX request to server via both GET and POST method and it can also retrive response from webpage

GET method

$.httpGet("http://example.com/rest/api", new AJAX.AJAXCallback() {
   @Override
   public void onComplete(String response) {
       Log.d(TAG, response);
   }
});

POST method

HashMap<String, Object> queryStringData = new HashMap<>();
queryStringData.put("name","Dhruv");
queryStringData.put("age",22);
queryStringData.put("auth",true);

$.httpPost("http://example.com/rest/api",queryStringData,  new AJAX.AJAXCallback() {
   @Override
   public void onComplete(String response) {
       Log.d(TAG, response);
   }
});

Event handlers

//Basic
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        ...
    }
});
   
//Shortify     
$.id(R.id.button).click(new Task() {
    @Override
    public void perform() {
        ...
    }
});

Dialogs

//Simple alert dialog box
$.alertDialog("Title","Description");

//Generates and shows dialog with OK button with onClick event handlers
$.confirmDialog("Title", "Description", new Click() {
    @Override
    public void ok() {
                
    }
});

//Generates and shows dialog with YES and NO button with onClick event handlers
$.yesNoDialog("Title", "Description", new Agree() {
    @Override
    public void yes() {
            
    }

    @Override
    public void no() {

    }
});

Other functions

//Check, if app is installed or not in device 
$.checkIfAppInstalled(PKG_NAME);

//Open current or any other app page in Play store app
$.openAppInStore();
$.openAppInStore(PKG_NAME);

//Showing toast
$.toast(MESSAGE);

//Get current date and time in any format
$.time("d m y");

//Check app permission (used for Runntime Permission Model)
$.checkPermission(PERMISSION_STRING);

//Navigate to any activity with or without passing data
$.open(Activity.class);
$.open(Activity.class, bundle);

Apps using Shortify for Android

Apps
Slefie Flashlight Selfie Flashlight
Material Music Player Material Music Player

Ping me for adding your app in this list

Thanks for using. if you have any suggestions or bug report please create new issue here

android-shortify's People

Contributors

dhruv1110 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

android-shortify's Issues

Json parse

Hello, but how to make the text output from the listview position so that the list is displayed, I don’t want to write [0].name for each TextView to add =))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.