Profile

Cover photo
Sudeep Jha
887 followers|60,657 views
AboutPostsPhotosYouTube

Stream

Sudeep Jha

Shared publicly  - 
 
 
Deciding which Image Loader Library to use on your android app project? Check this out. My article about Picasso-competitor Glide, an Image Loader Library recommended by Google. =)
In the passed Google Developer Summit Thailand, Google introduced us an Image Loader Library for Android developed by bumptech named Glide as a library that recommended by Google. It has been use
9 comments on original post
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
ListView is one of the most popular widgets of the Android Framework. It has many features, yet it is fairly complex and hard to modify. As the UX paradigms evolved and phones got faster, its limitations started to overshadow its feature set. With Lollipop, the Android team decided to release a ...
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
 
This project is focused to support a series of articles about how to setup an android environment to develop an scalable, maintainable and testable projects.

The project is based on the pattern Model View Presenter, also implements some guidelines of Material Design like transitions, layouts, animations, colors etc ...

All the code is uploaded to Github [0]

[0]  https://github.com/saulmm/Material-Movies
10 comments on original post
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
 
Today in Android Performance Patterns: Android, UI and the GPU

Pop Quiz: How does your Android activity get turned from crazy XML to pixels on the users’ screen? Don’t Know? Don’t worry, +Colt McAnlis walks you through all the process in Android, UI, and the GPU where he talks about a concept called _ GPU Rasterization_ and describes how the Android system has to convert all your views to GPU friendly objects before rendering.

Watch more Android Performance Patterns here: http://goo.gl/4ZJkY1

Join the G+ Community here: http://goo.gl/g7mxmI

#PERFMATTERS
8 comments on original post
1
Add a comment...
Have him in circles
887 people
Rakesh Jha's profile photo
King of Print's profile photo
Reto Meier's profile photo
Lorelle VanFossen's profile photo
prashanth bangalore's profile photo
Mathias Dahl's profile photo
sunil christopher's profile photo
John Cruback's profile photo
PRAVEEN KUMAR K's profile photo

Sudeep Jha

Shared publicly  - 
 
 
Almost two years ago, I wrote a blog post[1] about how to achieve a blur effect on Android. Today, +500px released[2] a promising library easing the use of this effect.
It's worth a try!

https://github.com/500px/500px-android-blur

[1] http://nicolaspomepuy.fr/blur-effect-for-android-design/
[2] http://developers.500px.com/2015/03/17/a-blurring-view-for-android.html
Contribute to 500px-android-blur development by creating an account on GitHub.
11 comments on original post
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
 
Lib to help with including GCM:

https://github.com/inloop/easygcm
easygcm - Android Library for easy GCM integration
View original post
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
 
Feedly’s Beautiful Material Design Update Preview - This blog shows us an in-depth preview of Feedly’s upcoming Material Design update, and it also explains the key elements of the guidelines that were applied to the app’s redesign. Check out their new aesthetics and animations and get a taste of what could become one of the prettiest news readers! The post Feedly’s Beautiful Material Design Update Preview appeared first on xda-developers. http://ow.ly/2Uh82w
A deep dive into what feedly would look like with all the Material Design guidelines applied. By feedly’s lead designer.
View original post
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
 
Introducing a new <tag /> XML tag to attach info to Android Views

It is no secret, the Android framework has a very open, large and verbose API. It basically lets developers create everything they want as long as they have a clear idea of the final product. However, there are some cases where framework capabilities are not obvious because they are not well documented or just hidden in the verbose API. This is especially true when dealing with the Android View ecosystem. In this post I would like to discuss about how to attach information to a View.

The framework comes with several ways allowing developers to attach information to a View. Some of them have always been available while some other are relatively new. In order to better list these techniques, I have split the post in several parts. Each part relates to an API level.

Android 1.0

Being a object oriented programming language, Java has always offered an easy way to add information to an object: inheritance. The language lets developers prevent this by either making the constructor private or the class final. But because Views have been designed for inheritance, it is quite simple to extend a given class and add information. For instance, you can add information to a TextView creating a TextViewWithData which extends TextView.

Inheritance works great but has one main problem : it is not global. If you want to be able to add info to all View classes, you have to extend all of them creating a "shallow" copy of the framework classes.

Actually, Android has always allowed developers to attach/retrieve information at the View level. This is done thanks to the setTag(Object)[0] and getTag()[1] methods. Android also provides a android:tag[2] XML attribute you can use directly attach a String tag to a given View. In general, you should use findViewById(int) in order to retrieve a given View in a View hierarchy. However, there are some cases where getting a View with a particular tag can be handy. This can be done using findViewWithTag(Object)[3].

Android 1.6

API 4 introduced a new way to attach tag objects to Views. Indeed, both setTag(int, Object)[4] and a _getTag(int)[5] were introduced. The main advantage of these methods was it was possible to add several tags to a View. There are some requirements though: keys had to be a resource identifier (i.e.@+id/something). In practice, these methods were introduced to store references to child Views.

Although these methods methods looked nice it was strongly discourage to use them because the implementation was mostly leading to memory leaks. Indeed, tags were actually held in a static global pool. You can have a look at [6] and [7], and more specifically +Adam Powell comment, to better understand the issue.

Android 4.0

The internal implementation of setTag(int, Object) finally changed in Android 4.0. A switch to a non static SparseArray local to the View itself was made. In other words, starting API 14, it is now safe to use setTag(int, Object) to store references to child Views in the hierarchy.

Android 5.0

Recently, API 21 introduced a brand new way to attach information to Views straight from the XML definition of a layout. A new XML tag <tag /> were in introduced in LayoutInflater allowing us from attaching text information to the parent View. If you like deep diving into the Android source code, you can have a look at +Alan Viverette's commit[8]. Here is an example of how to use it:

values/ids.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item format="reference" name="btn_state" type="id" />
</resources>

activity_tag.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:id="@+id/btn_negative"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@android:string/cancel">

        <tag
            android:id="@id/btn_state"
            android:value="@string/btn_state_negative"/>

    </Button>

    <Button
        android:id="@+id/btn_positive"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@android:string/ok">

        <tag
            android:id="@id/btn_state"
            android:value="@string/btn_state_positive"/>

    </Button>

</LinearLayout>

The new <tag /> tag brings a new way to statically attach information to a View. It's now up to you to determine some great use cases to this new LayoutInflater-interpreted XML tag.

[0]: http://developer.android.com/reference/android/view/View.html#setTag(java.lang.Object)
[1]: http://developer.android.com/reference/android/view/View.html#getTag()
[2]: http://developer.android.com/reference/android/view/View.html#attr_android:tag
[3]: http://developer.android.com/reference/android/view/View.html#findViewWithTag(java.lang.Object)
[4]: http://developer.android.com/reference/android/view/View.html#setTag(int, java.lang.Object)
[5]: http://developer.android.com/reference/android/view/View.html#getTag(int)
[6]: https://code.google.com/p/android/issues/detail?id=18273
[7]: https://plus.google.com/u/0/+NicolasKlein/posts/2cH1tw3bCy9
[8]: https://github.com/android/platform_frameworks_base/commit/451a3417e97d9d3bb835290a65f9af30b112c789
11 comments on original post
1
Add a comment...

Sudeep Jha

Shared publicly  - 
 
 
Lib to add animated menu to your app:

https://github.com/Yalantis/Context-Menu.Android
Contribute to Context-Menu.Android development by creating an account on GitHub.
1 comment on original post
1
Add a comment...
People
Have him in circles
887 people
Rakesh Jha's profile photo
King of Print's profile photo
Reto Meier's profile photo
Lorelle VanFossen's profile photo
prashanth bangalore's profile photo
Mathias Dahl's profile photo
sunil christopher's profile photo
John Cruback's profile photo
PRAVEEN KUMAR K's profile photo
Work
Skills
Android, iOS, Java, J2EE, C, Objective C, C++
Links
YouTube
Contributor to
Story
Tagline
iOS/Android/developer/trainer/budding game developer
Introduction
An independent application developer on androidev and iosdev, technical trainer, working in Bangalore,India
Basic Information
Gender
Male
Birthday
February 9
Apps with Google+ Sign-in