Profile

Cover photo
Daniel Ochoa
641 followers|277,371 views
AboutPostsPhotosYouTubeReviews

Stream

Daniel Ochoa

Shared publicly  - 
 
 
Android Support Libraries v23 API Diff

Here you go...
JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.
11 comments on original post
1
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
Anyone looking to get rid of their Amazon echo?
1
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
 
Gaining Performance by using Custom ViewGroups
Sometimes, things like RelativeLayout and LinearLayout can cause double-layout/measure overhead that is just wasting space.  This is a great article on how to get rid of that overhead (but still get the right layouts) using custom ViewGroups.

#perfmatters
4 comments on original post
1
2
Vladimir Minakov's profile photoMarkus Wedler's profile photo
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
Trying out Google now launcher. Let's see if I like it
2
Add a comment...
Have him in circles
641 people
Matt Swain's profile photo
Julia Glass's profile photo
Kris Jones (GODZ1LLA R16)'s profile photo
Fredrik Andersson's profile photo
BUSIFOX Ltd - Plateforme de Conseils et Investissements Immobilier à l’Île Maurice's profile photo
Carmen Y. Reyes's profile photo
chelle de asis's profile photo
Deanna Durant's profile photo
Art Muir's profile photo

Daniel Ochoa

Shared publicly  - 
 
 
Percentage Based Dimensions and Margins with the Percent Support Library
Pro-tip by +Joanna Smith

There are a lot of options to help you position your Views just right. But adding a LinearLayout to your beautiful RelativeLayout just to gain access to layout_weight for that perfect positioning is ridiculous. And we hear you on that. Which is why Android introduced the new Percent Support Library (https://goo.gl/XTOD5G). Its PercentFrameLayout and PercentRelativeLayout provide an easy way to specify View dimensions and margins in terms of a percentage of the overall size.

That means if you want a view to take up exactly 50% of the available width and height, you’d use a layout such as
<android.support.percent.PercentRelativeLayout>
 <ImageView
  android:id=”@+id/centered_image”
  android:layout_gravity=”center”
  app:layout_widthPercent="50%"
  app:layout_heightPercent="50%" />
 <TextView
  android:id=”@+id/caption”
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_below=”@id/centered_image”
  android:layout_gravity=”center_horizontal”
  app:layout_marginStartPercent=”25%”
  app:layout_marginEndPercent=”25%” />
</android.support.percent.PercentRelativeLayout>

Note that we use layout_marginStartPercent/EndPercent to set a margin based on a percentage of the total width.

Fun fact: if the percentage you set is more of a guideline than hard limit, you can also set layout_width/height=”wrap_content” in addition to layout_widthPercent/heightPercent and Views larger than the allowed percentage value will instead be resized using wrap_content rules.

So check out the Percent library today and use this efficient layout to #BuildBetterApps  
34 comments on original post
1
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
 
Use ShareCompat to easily build and read incoming share intents Pro-tip by +Ian Lake

The ‘share’ action is an iconic part of Android apps, providing a standard way of sending and receiving data from other apps - be it a simple text string, an image, any arbitrary content (say, a file from your app), or even multiple items. Constructing and reading these Intents requires either knowing the exact constants to use or using ShareCompat (http://goo.gl/WDegTC).

ShareCompat.IntentBuilder provides a fluent API for constructing ACTION_SEND (http://goo.gl/XTuFzv) and ACTION_SEND_MULTIPLE (http://goo.gl/QVzeg8) intents.

Constructing a simple share intent with text then becomes:
Intent shareIntent = ShareCompat.IntentBuilder.from(activity)
  .setType(“text/plain”)
  .setText(shareText)
  .getIntent();
// Avoid ActivityNotFoundException
if (intent.resolveActivity(getPackageManager()) != null) {
  startActivity(shareIntent);
}

You’ll also find methods for setting the subject, email to/cc/bcc addresses, and an HTML version of your text.

Sharing an image is similar:
Intent shareIntent = ShareCompat.IntentBuilder.from(activity)
  .setType(“image/png”)
  .setStream(uriToImage)
  .getIntent();

Preferably using a URI generated from a FileProvider (https://goo.gl/wdBrnk) to ensure all apps can access the file even if they don’t have storage permissions.

On the receiving side, ShareCompat.IntentReader can be used to retrieve the information from intents:

ShareCompat.IntentReader intentReader = ShareCompat.IntentReader.from(activity);
if (intentReader.isShareIntent()) {
  String[] emailTo = intentReader.getEmailTo();
  String subject = intentReader.getSubject();
  String text = intentReader.getHtmlText();
  // Compose an email
}

While not guaranteed from a security or verification perspective, using ShareCompat also includes information on the sending application which the receiving application can take advantage of through IntentReader.getCallingPackage() or the convenience methods such as getCallingApplicationIcon() and getCallingApplicationLabel() allowing your app to attribute shared content if that data is present.

#BuildBetterApps  
9 comments on original post
1
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
This is troubling and needs to get as much social media attention as possible so Google fixes it.
1
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
S6 or S6 edge
1
Brad Plemons's profile photo
 
Nexus 6
Add a comment...

Daniel Ochoa

Shared publicly  - 
 
Take a couple seconds and vote for Boxer :)
1
Add a comment...
People
Have him in circles
641 people
Matt Swain's profile photo
Julia Glass's profile photo
Kris Jones (GODZ1LLA R16)'s profile photo
Fredrik Andersson's profile photo
BUSIFOX Ltd - Plateforme de Conseils et Investissements Immobilier à l’Île Maurice's profile photo
Carmen Y. Reyes's profile photo
chelle de asis's profile photo
Deanna Durant's profile photo
Art Muir's profile photo
Work
Occupation
Senior Android Developer
Links
Contributor to
Story
Tagline
Developer of "Enhanced Email for Android", long-time Android open source contributor, all around helpful guy :P
Bragging rights
Developer of "Enhanced Email" for Android
Basic Information
Gender
Male
excellent staff. excellent service
Public - 8 months ago
reviewed 8 months ago
Awesome experience. A little pricey but well worth it
Public - a year ago
reviewed a year ago
Needed two dvi-d cables and they only sold more expensive 10' cables. Byron, an employee, went to the back and returned with two 6' cables! And he even gave me a discount. Excellent customer service.
Quality: ExcellentAppeal: ExcellentService: Excellent
Public - 2 years ago
reviewed 2 years ago
Hands down the most packed delicious subs I've ever had. I recommend their southside Italian sub
Food: ExcellentDecor: Very GoodService: Excellent
Public - 3 years ago
reviewed 3 years ago
16 reviews
Map
Map
Map
They are definitely overpriced and do not do a perfect job. I drove by today at 8 a.m and they are not open as shown here on Google Maps. With that said they still are useful when you want a hand car wash and you don't have time to do it yourself.
Public - a year ago
reviewed a year ago
I normally go to the one on Slaughter Ln but after coming to this location i will only come here from now on. The guy, whose name escapes me, who asks what kind of wash you want is awesome. He has such an impressive attention to detail. The customer service at this location is second to none. I dare anyone to visit and say otherwise. Forever a customer of this location from now on!
Public - 2 years ago
reviewed 2 years ago
I've never really had any complaints. Food and drinks are great. Definitely recommend to anyone
Food: Very GoodDecor: ExcellentService: Excellent
Public - 3 years ago
reviewed 3 years ago