Developing an application is a hard and often times ungratifying task. It also requires quite a lot of time and even more focus. No matter how good the application is, it will always contain some bugs that need to be squashed sooner or later. Developers can’t detect all the bugs on their own, so they are forced rely on user support requests. The majority of users don’t send crash reports though, so it’s really hard for developers to track down what’s wrong with their applications.
Luckily, there are some solutions that make a developer’s life a bit easier. One of them is a tool written by XDA Forum Member crashlog. The Crash Report SDK will send debug data using one of available network connections. This SDK can be added to the application source and initialized by adding proper code triggers. Submitted reports are available at the crashlog’s website, giving developers access to proper debug data. It’s a quick and relatively easy way of getting information required to fix your app’s remaining bugs.
Before adding this library to your project, it’s strongly recommended that you let your users know about this SDK. Apps that are built using this SDK require Internet access in order to work properly, and that’s might be something that many people may find suspicious. Better be safe than sorry.
Don’t wait; use this SDK in your projects if you’re trying to get better bug reports. You can find the required information and relevant code in the Crash Report SDK for Android developers Library thread.
August 8, 2014 By: Faiz Malkani
For some time, Google has placed a relatively heavy emphasis on design. This trend is resoundingly obvious in their minimalist homepage, as well as in the recently updated Android L Developer Preview. Design trends and guidelines, however, do not remain stagnant, but rather evolve and change every few years or so. New components, foundations, patterns and, even languages are constantly being released. And in keeping with the trend of change, Google does its fair share of design innovation. Although this became even more evident with the introduction of Material Design, various Google UI patterns have been emerging and establishing themselves.
One such pattern is the date and time picker introduced in Google Keep and later carried over other apps such as Google Now. This picker, in order to simplify the user experience, replaces times and dates with more natural terms such as “in one hour” or “tomorrow.” However, unlike the Google I/O app which is open sourced every year, Google Keep is closed source. How then, does one go about including this picker in one’s own app? Worry not, for XDA Senior Member SimplicityApks has the solution in the form of the ReminderDatePicker library. Besides being relatively easy to implement, the library manages to replicate the Google Keep experience perfectly. And since it’s open source under the Apache license, you are free to include this in your app in progress.
Head over to the ReminderDatePicker library thread to get started with implementing it in your own app, or if you want to go through the source code.
July 14, 2014 By: Tomek Kondrat
It’s been a while since Android L’s official unveiling. We are now waiting for Google to squash all the bugs and release this bad boy to the public. One of the major improvements introduced in Android L is Material Design. In due time, most apps should will be polished to meet new guidelines, but some devs have begun experimenting with Material Design-like imagery on KitKat or Jelly Bean.
Some parts of Material Design can be found in the latest Google+ update. And with this app, you can see how the Android L floating button looks in action. A floating menu button can be added to every application. XDA Forum Moderator Faiz Malkani created a library that allows devs to customize the button by setting a color and drawable. Faiz Malkani added a short guide how to add his library into existing or new projects. It’s relatively easy and requires just a few additions in the source.
It’s not necessary to use Android L Developer Preview in order to test this library. It should work like a charm with all applications on KitKat or Jelly Bean.
You can add a floating menu button to your application and make it more Android L-like. Make your way to the FABulous Library thread to get started.
Android’s user interface allows for the use of various types of gestures. Accordingly, they have been used in quite a few projects. Gestures like two-finger swipes can be found in third party apps or even bigger projects like HTC Sense. And to many, the use of gestures enhances the Android experience by making things more streamlined, without the need to go through multiple menus.
A totally new approach to gestures can now be taken, thanks to XDA Forum Member mirasmithy who shared a library used in Epoch Launcher. With this library, you can enhance your application’s functionality by adding gesture support. The list of available enhancements is long and contains swipes, pinches, and one or two finger taps. You can define which activities are launched while performing each gesture. Mirasmithy’s library is open source, so you can add it to your own project easily. And as such, it seems to be the perfect solution for launchers and games.
This library can be used in all applications designed to work with Android 2.3 and newer. But if you plan on adding it to your app, don’t forget to give mirasmithy a credit. More information regarding the library and its full source code can be found in the original thread and Github.
Many Android developers make their livings with in-app advertisements. We know that as users, ads can be annoying, but in many cases, these are what pay the bills. Naturally, though, many end users then turn to ad blockers to bypass these ads.
If you are an app developer, you know that fighting with Ad Blockers is often a losing battle. Luckily, there is a light at the end of the tunnel for such developers. XDA Forum Member Droidspirit released an open source library that allows devs to show banners for your own products, or the products of your partners. And when Internet connectivity is not available, this library still shows banners stored within the application.
Naturally, many end users may find this library to be totally unnecessary. However, you need to understand that many developers who create apps for free still need revenue as compensation for their coding time and education. But of course, it’s up to developers to use this judiciously (i.e. no full-screen banners).
Developers who wish to add more permanent ads into their applications can visit the original thread to learn more about the Android Alliance Ads project.
June 7, 2014 By: Tomek Kondrat
Mobile devices have become replacements for full sized PCs in a variety of circumstances. Small and easily accessible, our phones are perfect companions for our daily activities. However, mobile network connections aren’t always affordable, and often times, data transfer quotas prove problematic. Because of this, RSS is quite popular on mobile devices.
If you were to try to create a good RSS reader app from scratch, you’d likely find that this is a difficult task. However, XDA Forum Member shirwa decided to make things a bit easier by providing a small, but useful library to bring RSS into your app.
This RSS library lists all the feeds from your selected sources without any images to keep things nice and clean, as well as data plan friendly. Naturally, the Library is open source, so you can use bits and pieces or the whole thing in your app. There’s even a demo app to show you how the library works and give you an example of how to integrate it into your app.
May 31, 2014 By: Will Verduzco
We first featured XDA Senior Member Beatsleigher‘s JDroidLib back in December of last year, as a Java-based alternative to the C# library AndroidLib. At the time, the JDroidLib library allowed developers to install ADB and fastboot on supported platforms. Then in March of this year, JDroidLib was given a substantial overhaul as it entered its beta stage. This update brought new features such as a revamped installation procedure to fix errors, device detection, the ability to pull device information, reboot methods, and the ability to execute any type of command.
Now, JDroidLib is officially out of beta. And just like the previous two updates described above, it has gained some key new functionality to make it more useful than ever. The main features in this release version are a new package manager to allow for easier application management, as well as additional methods of executing ADB commands to make the process more flexible. The library can now also be used to manage a device’s file system. In addition to the new features, this version also brings a few fixes to bugs that previously caused crashing on some Windows systems.
If you’re a PC app developer looking for an easy way for your app to communicate with Android, head over to the development thread and give JDroidLib a shot. And to learn how to use all the new features, head over to the project’s documentation website.
April 17, 2014 By: Tomek Kondrat
Gestures have become an increasingly important element in smartphone UI navigation. With every swipe, pinch, and drag, we’ve seen the Android user experience grow into something incredibly user friendly and intuitive. Some OEMs have implemented their own UI-specific gestures to activate various features. But despite their prevalence, there aren’t very many developer libraries to help new devs make use of them.
XDA Recognized Developer championswimmer hopes to make it easier for other developers to get started with gesture-based input thanks to his SimpleFingerGestures library. With it, devs can add gesture functionality such as two-finger swipe up, pinch, one-finger swipe left, and much more. Developers can use these gestures as triggers to launch activities or perform other tasks.
The open source SimpleFingerGestures library is available as a Github repository. And with the sample code prepared by championswimmer, you can easily create a simple application to get familiar with the library. The developer also provides extensive documentation, which should help new users understand the code better.
You can find the ready-to-implement library in the original thread. So if you are looking for some brand new UI concepts for your application, head over there to give it a shot.
March 3, 2014 By: Will Verduzco
You may recall that back in December, we briefly talked about XDA Senior Member Beatsleigher‘s JDroidLib. This library was conceptually based on the previously covered AndroidLib .NET library by Recognized Developer regaw_leinad, but built on Java in order to be compatible with more than .NET languages.
When we previously covered JDroidLib, the project allowed users to easily install ADB and Fastboot on any every supported platform. However, we also noted that more features were in the works. Now, JDroidLib has made it into the beta stage. And as expected, it packs quite a few new features including a revamped installation to fix some errors, device detection, the ability to pull device information, reboot methods, and the ability to execute any type of command.
Those looking to build applications utilizing device to PC communication should check out the latest version of the JDroidLib project. More information can be found in the project thread.
With KitKat on the Nexus 5, the default Google Experience Launcher displays aesthetically appealing translucent status and navigation bars. This was a long-awaited feature, which was already available in several custom ROMs ever since Froyo or even earlier. Obviously, however, time runs slower for official Android. But after all these years, the launcher finally looks like it should have from the beginning.
Translucent bars look great, but Google didn’t entirely avoid errors when implementing it. One example is when using ActionBar, the car color doesn’t extend behind the status bar itself. Luckily there is an easy fix, and it comes from XDA Forum Member Takhion.
Extended ActionBar is a simple activity that fixes all these little annoyances with your translucent bars. The developer hopes to transform it into a proper library at some point, but even this hacky workaround functions as it should. The result of adding this activity to your app or theme can be seen easily, and the best examples of this can be seen in the thread.
If you are an app developer or themer and ever wondered how to make your work more beautiful, you should definitely visit the original thread and implement this activity into your project.
January 25, 2014 By: Tomek Kondrat
If you are an app developer, you more than likely use many external libraries created by other developers. These libraries can be used to beautify your app’s UI or simply add some new features. One of the most visible parts in many different types of applications is the progress bar, which of course can be improved, as practically everything else in the most popular mobile operating system.
Android is not Holo blue only, and can benefit from a variety of colors. And thanks to a library by XDA Forum Member Castorflex, your progress bars can be a testament to this. With SmoothProgressBar, it’s possible to completely change the look of the basic progress bar. The library changes the animation significantly, and the process is thoughtfully explained in the author’s blog entry. If you want to see the library in action, there is a sample app to check how the progress bar can look, as well as a sample video on YouTube. The project is open source, so if you have some ideas of improving it, feel free to make a pull request.
More information regarding this project can be found in the library thread.
If you are creating a new application, you may have thought about adding in Gmail connectivity. After all, if the application is a social app, it’s nice to be able to share things with friends. Even if it’s not a social app, there are dozens of other reasons why you would perhaps want to allow for Emails to be sent directly from the app.
In Android, there are various ways of accomplishing this. Most would go about this using the Share intent and then having the selected content automatically populate in a new Gmail message. While this works and is the best solution in a variety of situations, there are other times in which you’d be better off keeping your users within the confines of your own app.
Thankfully, XDA Forum Member krvoZD created a simple library that allows you to easily incorporate background Gmail sending into your app with just a few easy steps. Using krvoZD’s library, your app will be able to send Emails without having to load a separate application. And once the message has been created, you can optionally add a toast message informing your app’s user of the progress.
If you have been looking for a way to add email connectivity to your app, without forcing users to leave your app in order to send a message, this library will undoubtedly help you get started. Head over to the library thread to learn more.
December 30, 2013 By: Tomek Kondrat
The ViewPager class is commonly used in Android, starting from Honeycomb onwards. You can see it in action in the Google Play Store, where you can browse applications or games by category, by simply swiping left or right.
These applications are also often created to be compatible with older versions of Android such as Froyo. However, not many devices run Froyo anymore, as more than 75% of devices run Honeycomb or greater. Keeping compatibility with older versions forces the developer to make the APK bigger and possibly slower.
XDA Senior Member gade12 modified the Google Library to reduce its size by removing compatibility libs. Gade12 removed all unrelated code before API level 11. The ViewPager library after modification is much smaller, and it takes just over 120 KB. Using it in your application will reduce the amount of code, size and possibly improve the speed of the application. Of course, this breaks the compatibility with older Android devices, but you still have a choice between the original library from Google and the modified one by gade12.
If you are an app developer and want to try modified ViewPager library in one of your projects, make your way to the original thread and grab the compiled Java Archive. You can see ViewPager class in action in the following video: