[Q] Library to record user interaction with my app - IDEs, Libraries, & Programming Tools

I have a small app. And for testing, I want to record what people do in the app. What I mean, I would like to log every button press, swap etc in my app, so later I can do most popular "scenarios" using UIautomator for testing.
Is there any library for that? I have tried Google, but there was only some B2B company, and UIautomator uses adb for capturing events.

Have you tried using the Google Analytics API? This should be exactly what you are looking for.

johndow1 said:
I have a small app. And for testing, I want to record what people do in the app. What I mean, I would like to log every button press, swap etc in my app, so later I can do most popular "scenarios" using UIautomator for testing.
Is there any library for that? I have tried Google, but there was only some B2B company, and UIautomator uses adb for capturing events.
Click to expand...
Click to collapse
The most straightforward way I can think of with the SDK is just to make some subclasses of things like
Code:
View.OnClickListener
and do some custom logging in there. Then use them in place of the standard ones.
But unless you have some custom data analysis tools setup, you probably won't get much out of the data. Google Analytics doesn't have event funnels AFAIR.

Related

Using Hubs and Plug-ins to Make WP8 a Dominant Alternative OS

Here’s the gist of a thread I started @ WPCentral that I wanted to bring over to XDA to get an additional perspective.(Let's be honest...XDA is a bit cooler than WP Central good )
How about allowing for users to create 2 custom Hubs? The Custom Hub would have two panes – the default being a notifications list, and the second being a list of all the apps added to that hub.
How about allowing Kids Korner to be a Hub where parents can add in apps and other educational stuff for the kids to look at (then at the bottom of Kid’s corner, put a menu option that allows the parents to put in a password to get into the rest of the phone)?
How about expanding the Lenses idea to give third party apps the option to pick one key feature of their app that gets integrated into a Hub?
How about tighter integration between Hubs? For example taking the option of in the phone dialer to hit the phonebook icon and get sent to the People Hub and using it this way…if I’m in the Calendar Hub and make a reminder note to meet with someone, or to call someone, that note shows up under that person’s name in the People Hub. If I want to edit that, when I am in the people hub I hit that note which sends me back to the Calendar to change it.
These are just some thoughts I had on how MSFT could flesh WP8 out and give it an edge. I think RIM is trying to do that in its BlackBerry 10 Blackberry Hub, but MSFT has more resources in WP8 to make things more seamless and less cluttered.
Here’s the link to the original thread:
http://forums.wpcentral.com/windows-phone-8/220854-hubs-over-folders-lenses-improve-core-apps.html
But I’d love to get feedback here on XDA.
HMm not so sure this is really worth it. Besides, to integrate an app with a specific hub is a specific job the developer needs to do. In order to integrate with the music+video hub, for instance, you need to do specific thing. Same goes for people/photo/whatever hub.
Having a custom hub is very difficult for the apps to integrate properly with it and sloopy developers might actually ruin the entire experience with poor integration.
While i see where you are going with this (notification center), the need is really not that big.
The kids corner is a completely different thing and is not similar to a hub in any way.
EDIT: the news/notification thing in the hub is something the apps do, and not the hub itself. The hub just centralizes them in a ... hub. In order for the hub to know what to centralize and from who, the apps must call specific APIs.
mcosmin222 said:
HMm not so sure this is really worth it. Besides, to integrate an app with a specific hub is a specific job the developer needs to do. In order to integrate with the music+video hub, for instance, you need to do specific thing. Same goes for people/photo/whatever hub.
Having a custom hub is very difficult for the apps to integrate properly with it and sloopy developers might actually ruin the entire experience with poor integration.
While i see where you are going with this (notification center), the need is really not that big.
The kids corner is a completely different thing and is not similar to a hub in any way.
EDIT: the news/notification thing in the hub is something the apps do, and not the hub itself. The hub just centralizes them in a ... hub. In order for the hub to know what to centralize and from who, the apps must call specific APIs.
Click to expand...
Click to collapse
Ok. I think I follow along with you comment.
But MSFT does have these some of these elements in play in the OS itself, so why not use them more effectively? I know Apple has a more stringent control of apps that get approved before going in the app store, so could MSFT enforce these add-ons?
Sent from my Galaxy Nexus using xda premium
Microsoft regularlly provides the Options and in my experience developers will use them by themselves, simply because it increases the usability of their Apps a lot more than it adds required effort. It's rather a problem how to implement this in a way that does prevent a badly written App from affecting the system's Performance and stability.
That especially gets a Problem when Apps are allowed to surface data somewhere as could be seen by the problems Skype originally caused with the People Hub Integration.
I'm pretty sure Microsoft will add more Integration Points into the System with the next API update - let's just wait and see.
As for making usage of some of those Integration Points mandatory. I don't believe that to be a good idea. I also don't believe that it is necessary. Developers regularly complain that they can't integrate somewhere so I really believe that if they were allowed to do it they would do it by themselves. This is also necessary because the Integration regularly involves the Transfer of data to the invoked App (Images, Files, etc.)
Stevie, I think what you've said is fair. I suppose MSFT could just use their own apps like Photosynth and Skype as a way to sure more seamless integration instead of making that a mandatory process for all devs.
Do people even see the need for such integration in the platform going forward?
Sent from my Galaxy Nexus using xda premium
In general I believe that it can make for a more fluid experience if there are well done Integration points. Camera Lenses or the Image editing capabilities are a great example for this. Another is the possibility to have an App specific contact store (like Skype does it now).
What I believe would greatly improve the concept would be Message Integration into the Messaging Hub and the ability to create an app specific calendar store that is also availble inside the Standard calendar App.
Also nice would be the possibility to register Apps for all filetypes. Currently you can only consume files inside your App that are not assigned to System Apps (e.g. MP3 or JPEG Images).
So in short: yes, those integrations can greatly improve the workflow and I'd love to see Microsoft in the end deliver on the promise of Hubs they gave when introducing them. When you want to do something with Images, open the Image Hub. If you want to message someone open the Messaging Hub, etc.
If it were up to me, here’s how I’d organize the Hubs in WP8. I’d love to hear other’s thoughts:
Store: Same. Just better Secondary links from the all the other Hubs. This and People Hub should be the two primary Hubs where all other Hubs have shortcut links to.
Photos: Same. Shortcut Links to Store, People, Search, Content Manager
Music and Videos. Same. Shortcuts to Store, People, Search, Content manager
Games: Same. Better shortcut links to Store. Also links to People, Search, Content manager
Productivity: Office + Calendar + Note Apps + Voice Personal Assistants here (allow Tell Me to be an app where you can add commands to it).
- 3rd party apps list include: any note, calendar, language, Office Assistant Apps.
- Secondary shortcuts to People (especially Rooms), Content Manager, Wallet, Store
Content Manager: Skydrive and a page showing list of downloaded content here...not a full file manager where you can move stuff around on the phone itself, but a general downloads folder.
- 3rd part apps include Box and other upload apps
- Secondary Hub links – Photos, Music + Videos, Office
People: You manage contacts and social media here.
- Me Tile: Notifications...and have the option to reply to an individual tweet or FB post or Skype message from a listed contact here.
- 3rd party apps include: All social media apps
- Secondary shortcuts: all the other hubs.
Messaging: Emails, SMS, Skype IM is here.
- 3rd party apps include all IM apps, FB messenger, shortcut to Skype.
- Shortcuts to People, Store, Phone
Navigation: All Maps and Transit apps here.
- Some of Local Scout functionality here (also accessible in the Search Hub).
- Secondary Shortcuts to Search, People, Store.
Search: Same, except adding one more page to list search related apps.
- Secondary short cuts to Navigation, People, Store, Content Manager
Phone: Skype (calling features, video chat) and Dialer are primary options here. Other apps that tap into this Hub (or get listed here) are 3rd party Video Apps
- Secondary shortcuts to People, Messaging.
Wallet: Holds Credit Cards and Financial Apps
- Secondary shortcuts to Search, Store, Productivity (in particular – calendar), People
Corporate: Same. Allow Corporate IT to do their thing. Better links to the Productivity, Office
Custom Hubs: Users are allowed to create only two. A two pane look – default page with app related notifications and a second page with the app list.
It is still a hybrid mix of hubs and apps – if you don’t want to use a Hub, don’t use it.
Sent from my Lumia 810 using Board Express
My head hurts. It is just too complicated.
This implementation can go wrong in soooooooooooooooo many ways, it will be a wonder if a developer manages to get it right for every scenario.
I believe you're making it more complicated than it needs to be and a lot of what you are talking about is already there. I don't need an explicit link to go from Calendar to people. If I open an appointment and swipe to attendants I can tap on any of them to be taken to their contacts page inside the people Hub (as it should be).
It's a good idea to have those kinds of shortcuts around that are contextually aware but adding a load of Buttons to jump somewhere else is mainly getting the UI cluttered or getting confusing/annoying.
Some of those connections you mention are already there - e.g. Store in Music/Videos.
What actually would be a nice idea is to allow productivity Apps to tie into the Office Hub similarily to how it works with imaging Apps in the Pictures Hub.
Some of the other stuff you mention is also there. Cloud Storage applications can integrate themselves into the system for automated Uploads similarily to SkyDrive but currently limited to Pictures so it can definitely be improved upon.
TellMe is also extensible to allow Apps to tie into it and use voice command functionality. Audible would be one App that takes advantage of this. It doesn't really make sense for all Apps though. E.g. a picture taking App will require the ViewFinder etc. so it would not benefit that much from Voice Control (and it is quite a hazzle to implement this - especially if the App is getting localized in several languages).
As for search - if there would be something like a search charm on Windows 8 it should tie into the Bing App which already has a permanent shortcut in the search button.
I guess your idea would be to allow people to jump easily from Hub to Hub without going to the Homescreen. Having Links for this in every other Hub just isn't the way to go there. A possibility would be to add all the Hubs at the bottom of the Task Switcher Screen. So you would long press on the back button and would get the Thumbnails of running Apps and at the bottom the icons for People, Calendar, Messaging, Pictures, Music/Video and Office. I'm not sure if that would be an improvement over just going via the Home screen though.
So in short: more integration of Apps into the OS: yes, more context aware integration of Apps with each other: yes, adding loads of shortcuts: no
StevieBallz said:
I believe you're making it more complicated than it needs to be and a lot of what you are talking about is already there. I don't need an explicit link to go from Calendar to people. If I open an appointment and swipe to attendants I can tap on any of them to be taken to their contacts page inside the people Hub (as it should be).
It's a good idea to have those kinds of shortcuts around that are contextually aware but adding a load of Buttons to jump somewhere else is mainly getting the UI cluttered or getting confusing/annoying.
Some of those connections you mention are already there - e.g. Store in Music/Videos.
What actually would be a nice idea is to allow productivity Apps to tie into the Office Hub similarily to how it works with imaging Apps in the Pictures Hub.
Some of the other stuff you mention is also there. Cloud Storage applications can integrate themselves into the system for automated Uploads similarily to SkyDrive but currently limited to Pictures so it can definitely be improved upon.
TellMe is also extensible to allow Apps to tie into it and use voice command functionality. Audible would be one App that takes advantage of this. It doesn't really make sense for all Apps though. E.g. a picture taking App will require the ViewFinder etc. so it would not benefit that much from Voice Control (and it is quite a hazzle to implement this - especially if the App is getting localized in several languages).
As for search - if there would be something like a search charm on Windows 8 it should tie into the Bing App which already has a permanent shortcut in the search button.
I guess your idea would be to allow people to jump easily from Hub to Hub without going to the Homescreen. Having Links for this in every other Hub just isn't the way to go there. A possibility would be to add all the Hubs at the bottom of the Task Switcher Screen. So you would long press on the back button and would get the Thumbnails of running Apps and at the bottom the icons for People, Calendar, Messaging, Pictures, Music/Video and Office. I'm not sure if that would be an improvement over just going via the Home screen though.
So in short: more integration of Apps into the OS: yes, more context aware integration of Apps with each other: yes, adding loads of shortcuts: no
Click to expand...
Click to collapse
Stevie, I like much of your suggestions. The goal here isn't to clutter the OS - if it were up to me I would use the contextual menus and a few other existing options in the OS to facilitate moving from Hub to Hub instead of adding extra buttons.
Based on how the OS is, there may not be a need to have list of all the hubs at the bottom. The goal is to jump from certain Hubs to each other based on "common user tasks that would involve multiple Hubs or steps that can be reduced". Now if you want to do things the current way, fine. More I think some would welcome more intuition.
I was just trying to describe a smoother way to leverage the existing strengths of the OS and to see where MSFT could make the quickest improvements. No question, the OS is smooth but if they build out these extensions, you can have an improved user experience. My apologies if my explanation was convoluted.
Sent from my Galaxy Nexus using xda premium
Should MSFT eventually push an all Hub version of WP8?
Sent from my Galaxy Nexus using xda premium
What do you mean by "All Hub"? The Hubs are a thematic grouping but I guess we will always have certain use cases that don't exactlly lend themselves to being integrated into one of those Hubs so putting everything into the Hubs probably isn't the best idea. Giving developers the integration points to integrate their data into the Hubs if it is suitable should be the priority.
I agree. Apps are mostly isolated programs running on their own. If apps could talk to each other more easily we can have more interesting behaviors and abilities that no other mobile os has. For quality control, just give the user a on off switch for each app just like the background task.

[REPO] The library thread

Hello everyone,
Based on the release of the new forums here, and the seemingly enthusiastic response, I have decided to create a repository of libraries that are useful to Android developers.
Libraries:
AChartEngine : This is a library that lets you make and display all kinds of charts, from line to bar to scatter charts. A very good solution, should you need charts.
Uses: Well... Charts!
Made by 4ViewSoft.
ActionBarSherlock: This library will help you in maintaining an easy-to-use and consistent UI across all version of Android above 2.1.
On Android 3.0+, it will use the native ActionBar, and below that, a backport of the 4.x native ActionBar has been used. Note that this is not needed if you want to target APIs that support the AB natively.
Made by Jake Wharton.
aFileChooser: The basic version of Android File Chooser, it features somewhat less graphical hints about, for example, your current folder, but does provide a somewhat cleaner UI.
Uses include a simple file chooser for opening a file from a specific folder.
Made by Paul Burke.
android-hybridchoice: A ListView that lets users open a single list item, while also letting you select one or more other items. This way, you can (for example) view a mail while selecting others to throw away, instead of having to do that separately.
Uses: Making any app with items that have detailed info in a ListView that can be changed.
Made by Kiran Rao.
android-lockpattern: A library for you to include a lock pattern in your app. It was adapted straight from Android source code, and is very useful for keeping data secure.
Uses: Root apps, apps with sensitive data or other apps that could hurt one's phone.
Made by Hai Bison.
Android FileChooser: Helps you in letting the user select a file. A visual GUI is made available to you and the user, through which the user can navigate to select a folder.
Use cases: A file explorer, a downloading action, moving/copying files, etc.
Made by Hai Bison.
Android Maps Extensions: A library that extends a number of Google Maps API v2 features. It features things like marker grouping, where it won't display individual markers when there's a lot of them together.
Can be used in an application with a Maps View, to make it clearer and easier to understand.
Made by Maciek G
Android Proxy Library: This lets you provide an easy and better (than Google's) solution to the Android Issue 1273 (OF DOOOOOOOM!). It allows you to easily get the proxy settings of an Android device.
Uses: You know, getting the proxy settings.
Made by Marco Pagliari.
BetterPickers: A cool library that implements the Android 4.2 Clock time picker for you to use in your own apps as you please. It is a very nice way to keep your app Holo-themed, and it continues the push for a consistent UI in Android.
Among others, uses include clock and calendar apps.
Made by Derek Brameyer.
Build.prop Tools: A library to get access to the properties in a device's build.prop, which include its codename, Android version, CPU name and others.
Uses: Having to edit or otherwise get access to certain build.prop entries in your app, for example to display system info.
Made by Jonathan Haylett.
Cieo: A library that lets you animate text. It is currently in very early Alpha stages of development, but does work.
Uses: Word games, for example Hangman, where you can add a little extra to make it more dynamic.
Made by Igor <LastNameUnknownException>.
DroidParts: This library helps you add the most used parts of Android apps without problems. It can help you add a number of more complicated parts that have been modded to be simpler, like an ImageFetcher and an improved ASyncTask.
Uses: Just about every app can do this. Easier everything!
Made by Alex Yanchenko.
droidText: A PDF creator library. Should you need to create a PDF easily, this is the library you want!
Uses include parsing user input and saving it to a PDF file for later use, or to send (i.e. via email).
Made by Markus Neubrand.
EventBus: This helps you tie together Activities, Fragments and background threads. It eliminates the need for overly complex listeners and interfaces, to make your life a lot easier.
Uses: Apps with background threads, Activities and/or Fragments working together.
Made by Markus Junginger.
FlipView: A FlipBoard-like animation to use for scrolling. Give your app a little extra eye candy, when you have multiple pages to scroll through.
Uses: News readers and other apps that separate content into clear "pages".
Made by Emil Sjölander.
GAST (Great Android Sensing Toolkit): A library to help you use an Android phone's internal sensors. It will help you control many sensor, including NFC, the camera and the accelerometer.
Uses: A diagnosing app, or one that uses certain sensors for controlling an app feature.
Made by Greg Milette and Adam Stroud.
GoogleDateTimePickers: TimePickers done right. A beautiful replacement for Google's standard DatePickers and TimePickers, It is designed with the Holo style in mind, and makes it much, much easier to select the date and time of your liking.
Uses: Letting the user pick a date or time, e.g. when setting an alarm.
Made by Mirko Dimartino.
Hansel And Gretel: This allows you to visually display the Fragment Stack. When you open a new Fragment, it is added to a 'tower' of Fragments, from which you can also pop (remove) the top one. This library allows you to visually represent that Stack in your app.
Uses: If, for example, you travel through multiple Fragments within one Activity, you can show which Fragments the user has gone through.
Made by Jake Wharton.
HoloEverywhere: A library that backports the Holo UI design to earlier Android versions (like ActionBarSherlock does for the ActionBar). It uses the Android 4.1 Jelly Bean assets and makes them usable on Android versions 2.1 Eclair and up.
Uses: An application that needs Holo on all platforms it runs on. Be aware that it might disrupt the UI consistency for the user, so think about that before including this in your app.
Made by Sergey Shatunov and Waza_Be.
Inscription: For displaying information about your app to the user. It contains a ChangeLogDialog and a WhatsNewDialog, where the former displays more detailed information (version numbers, etc.) than the latter.
Useful for showing a dialog after the user updated your app, without having to write too much code.
Made by Martin van Zuilekom.
JacksonInFiveMinutes: A library to help in parsing and processing JSON, offering different ways to do so: A streaming API, a tree model and data binding.
Of course, you can use this anywhere to parse JSON data (Twitter apps, for example).
Made by Tatu Saloranta (?).
JazzyViewPager: Makes it easy to add a nice effect when changing pages with a ViewPager. Easily done: just add it, change some references and pick an animation!
Uses: Spicing up your app's animation portfolio, when using a ViewPager.
Made by Jeremy Feinstein.
ListViewAnimations: An easy way of animating your ListView items easily and nicely, to give your app that little bit extra.
Uses: To spice up any ListView that needs more fancies.
Made by Niek Haarman.
NumericPageIndicator: A ViewPagerIndicator 'plug-in' that lets you easily display which page you're looking at. For example, show "page 2 of 20" at the bottom of the page.
Uses: Letting the user know which page they are on.
Made by Manuel Peinado.
OrmLite: A library that simplifies database interaction in Android apps. It is designed to work with multiple database systems, including SQLite and MySQL.
Uses: Database creation, management in Android. Various DB systems supported.
Made by Gray Watson.
osmdroid: An almost full, free replacement of Google's MapView. It includes numerous functionalities, like a number of on- and offline tile sources.
Uses: To add a map to your app, and easily use functionalities surrounding it.
Made by a number of non-disclosed awesome people!
PDFViewer SDK: A free PDF viewer library that works well. However, it does have a watermark on the screen, and you'll have to pay to remove it.
Uses are obvious: Building all kinds of PDF viewers!
Made by GEAR.it.
PlayView: This helps you in creating a Google Play-like style in your UI, by extending the CardsUI library (which can be found in the PlayView thread).
Good to use in an application where you want a nice smooth UI, with a modular and changeable look and feel.
Made by Androguide.fr and GadgetCheck, among others.
ProgressButton: A nice library that shows you the progress of a download in the same button that you press to start the download. See Google Music for a working example.
Comes in handy when there's a list of items to download, and you want to facilitate easy downloading and keeping tracks of those downloads.
Made by Prateek Srivastava, based off of Roman Nurik's examples.
PullToRefresh: Expand a Listview (multiple versions are supported) with the ability to refresh its content upon pulling down at the top.
Uses include social media clients, lists of other network-based updated items (orders, for example).
Made by Chris Banes.
Remote Metadata Provider: Get system information about, for example, which music is playing on your phone. This could help you implement lockscreen music controls for your app.
Uses: Lockscreen music controls, for example.
Made by XDA member Dr.Alexander_Breen.
RoboSpice: A library that makes long-running asynchronous tasks easy. For example, it offers caching (very useful for orientation changes).
Uses: Any app that implements an ASyncTask, especially when it is a bigger and longer-running one.
Made by Octo Technology.
RootTools: This library will make it very easy for you to gain superuser access and execute commands based on that. This way, you can, for example, move and replace files anywhere on the system.
This is especially handy when you are making a sort of backup app, or when you need the ability to do things that aren't possible without root access.
Made by Stericson.
ShowcaseView: This is a library that lets you highlight certain areas of the screen. Just like the Android launcher on first launch (or YouTube), it will allow you to tell the user how to interact with what, and what it does.
Uses: Clarifying certain UI elements and their purpose to the user.
Made by Alex Curran.
SlidingMenu: This lets you include a menu that slides into your app from the side, like the YouTube app has it. There, you can add a whole hosts of options and actions that don't fit or belong in the ActionBar. SlidingMenu also lets you customise the menu. The new Android supportv4 library version, revision 13, also has a basic version of this.
Uses: Menus with additional items, like channels in the YouTube app, shortcuts to your app's settings, etc.
Made by Jeremy Feinstein.
Spring For Android: A library that helps you integrate some features easily. For example, it can simplify using REST in your app.
Uses: Whenever your app needs REST of auth support.
Made by GoPivotal.
StandOut: A library that enables you to make your apps float! Basically, you can make any app you want float. Look in the thread for numerous examples!
Useful when you are making an app that is also used parallel to other apps, like a calculator or note taking app.
Made by Mark Wei.
StickyListHeaders: This is a great way to help you order alphabetised lists in a clear and very recognisable way. The current letter which you are scrolling through will be shown at the top of the screen, for as long as the first letter of the top item on the screen starts with that letter.
Use cases are, for example, scrolling through songs, email addresses, names and articles.
Made by Emil Sjölander.
Sugar ORM: An easy way to use SQLite libraries in your app. It takes away some of the more complex and annoying tasks of database management.
Uses: Managing and querying SQLite databases in your app.
Made by Satya Narayan.
UpdateChecker: This library is a quick and easy way of making sure that users know about updates to your app. It will show a Dialog every 5 times (by default) the app is launched, informing of an app update being available in the Play Store.
Uses: Making sure people update your app. It is handy in just about every app.
Made by Pietro Rampini.
ViewPagerIndicator: This library emulates the multiple ways of showing tab locations without using the ActionBar. This can be used to replicate the Play Store, older Google+ versions, launcher-like indicators and more!
This library is always handy when using tabs, but without wanting to, for example, sacrifice too much screen real estate to use the ActionBar.
Made by Jake Wharton.
Sites, etc. collecting libraries:
Android Libraries provides a big list of libraries for all sorts of tasks, including graphics engines.
Android Snippets is a collection of little snippets of code to help you in navigating some commonly (and less commonly) seen challenges in Android development.
Android UI Patterns for all kinds of UI libraries, with a nice app to go with it.
AndroidKickstartR is a web-based tool for quickly starting an Android app, including a number of (library) options to help ease some of the pain of adding extras. Fair warning: this seems to include older versions of some things, double check the generated project.
AndroidViews for multiple nice UI-based libraries that help make your app look and work awesome!
DevAppsDirect is an app with examples of libraries. Test without setting up a whole new project!
ramdroid77's Google+ community for GitHub-based libraries.
Libraries for developers: A nice little app that has a collection of libraries available to developers.
Also make sure to spread the word about and contribute to this repo!
Have fun,
bassie1995
very helpful thread! thanks mate
roottools is also a very helpful library: http://code.google.com/p/roottools/
nikwen said:
roottools is also a very helpful library: http://code.google.com/p/roottools/
Click to expand...
Click to collapse
Forgot that one as a big one. Shame, since I used it . Will add in a sec.
Sent from my Nexus 7 using Tapatalk HD
I used this library to include a file-chooser in my App:
https://code.google.com/p/android-filechooser/
Click to expand...
Click to collapse
and forked this, that acts basically the same:
https://github.com/dentex/aFileChooser
Click to expand...
Click to collapse
xda_dentex said:
I used this library to include a file-chooser in my App:
and forked this, that acts basically the same:
Click to expand...
Click to collapse
I shall be including this later today. Thanks for contributing!
bassie1995 said:
I shall be including this later today. Thanks for contributing!
Click to expand...
Click to collapse
You're welcome!
Also the other project seems valid. If you want, point to the original repository.
The main difference is that it stays on the standard sdcard only, by default.
I also found a really good site with cool libraries: http://www.androidviews.net/
I'm sure I will want to include some of them.
xda_dentex said:
You're welcome!
Also the other project seems valid. If you want, point to the original repository.
The main difference is that it stays on the standard sdcard only, by default.
I also found a really good site with cool libraries: http://www.androidviews.net/
I'm sure I will want to include some of them.
Click to expand...
Click to collapse
Yep, I'm including both. Also, AndroidViews is already mentioned at the bottom of the OP .
Sent from my Nexus 7 using Tapatalk HD
bassie1995 said:
...AndroidViews is already mentioned at the bottom of the OP
Click to expand...
Click to collapse
Oops... Sorry.
Sent from my GT-I9100 using xda app-developers app
I'm running a community on G+ about Android libraries hosted on github. Tons of stuff in there:
https://plus.google.com/u/0/communities/100609058582053363304
ramdroid77 said:
I'm running a community on G+ about Android libraries hosted on github. Tons of stuff in there:
https://plus.google.com/u/0/communities/100609058582053363304
Click to expand...
Click to collapse
Nice, will include the link in OP.
I was going to mention androidviews too; a very handy site. There's also a handy little app out on the Play store called Android UI Patterns (free), which is basically an app with quite a few libraries built in, so you can see what they look like in action on an actual device.
And I'm not sure if I should post this, or if it should have it's own thread (paid libraries or something), but I would argue that as there are quite a few professional developers here, a compilation of good, paid, non viral licensed libraries would be a good resource. On the other hand, XDA is all about the homebrew, open, sharing community.
Anyway, whatever the mod-gods decide, I was looking for a good, cheap, non-gpl3 licenced PDF framework for the company I work for. Many frameworks were RIDICULOUSLY expensive and many open source ones were SLOW or not functional enough. In the end I found a good alternative at androidpdf.mobi . It's fully functional, affordable and they have good support. I know this may sound like an add, but I spent some time researching this, we now use it in production and figure I might save someone some time.
MacDegger said:
I was going to mention androidviews too; a very handy site. There's also a handy little app out on the Play store called Android UI Patterns (free), which is basically an app with quite a few libraries built in, so you can see what they look like in action on an actual device.
And I'm not sure if I should post this, or if it should have it's own thread (paid libraries or something), but I would argue that as there are quite a few professional developers here, a compilation of good, paid, non viral licensed libraries would be a good resource. On the other hand, XDA is all about the homebrew, open, sharing community.
Anyway, whatever the mod-gods decide, I was looking for a good, cheap, non-gpl3 licenced PDF framework for the company I work for. Many frameworks were RIDICULOUSLY expensive and many open source ones were SLOW or not functional enough. In the end I found a good alternative at androidpdf.mobi . It's fully functional, affordable and they have good support. I know this may sound like an add, but I spent some time researching this, we now use it in production and figure I might save someone some time.
Click to expand...
Click to collapse
I have seen and used Android UI Patterns, forgot to include it.
About the licensed libraries/technologies, maybe that's a good divide for this thread. Not between UI and functional libraries, but between paid and free? Don't think there are many paid libraries for daily use, though?
If you can link me to the PDF parsing library you used, I will be including that.
Also, everyone, updates are a little slow due to school work. Hardest exam that's yet to come is on Monday, will update it probably that afternoon (my time zone ).
Sent from my Nexus 7 using Tapatalk HD
The pdf library is found at androidpdf.mobi.
You can d/l the sdk and use it for free; you pay to get rid of the watermark on each page (the fee is per application, though).
I have come across some paid UI widget libraries (coverflow type things etc). It took me a while to adapt existing OS code to achieve the same kind of effect, so sometimes, if it's the right price, it's more effective to buy these kinds of things...
AChartEngine is a good one for charts and graphs http://www.achartengine.org/
MacDegger said:
The pdf library is found at androidpdf.mobi.
You can d/l the sdk and use it for free; you pay to get rid of the watermark on each page (the fee is per application, though).
I have come across some paid UI widget libraries (coverflow type things etc). It took me a while to adapt existing OS code to achieve the same kind of effect, so sometimes, if it's the right price, it's more effective to buy these kinds of things...
Click to expand...
Click to collapse
tmka said:
AChartEngine is a good one for charts and graphs http://www.achartengine.org/
Click to expand...
Click to collapse
Thank you both. I hope to be updating the OP tomorrow.
Sent from my Nexus 7 using Tapatalk HD
StandOut is a great library to create floating app :good:
Hello everyone,
I'd suggest also DroidText, for creating PDF files
Tiwiz
ciao99 said:
StandOut is a great library to create floating app :good:
Click to expand...
Click to collapse
That looks awesome, I think I'll try it myself
tiwiz said:
Hello everyone,
I'd suggest also DroidText, for creating PDF files
Tiwiz
Click to expand...
Click to collapse
Nice, a PDF creator! I'll take a look and add it.
To everyone: Sorry for not updating, exams are busting my nuts right now . I'll try and get some more in there today or tomorrow .
Sent from my GT-I9300 using Tapatalk 2
With the exams over and spare time at 1:44 AM, I'll update this again with all the suggestions from this thread. I'll add more "external" ones later.
EDIT: Done!

Practice App Ideas

I am new to Android App development. I need some simple application ideas to practice. please give me some ideas. I just made Rock, Paper, Scissor game. So easy games like this will be fine(I think )
Build a notepad app that lets you write and save notes. Build it steps where you increase the difficulty as you go on:
Make an app with a textbox that lets you enter text
Add a save button and learn how to execute code when the button is hit. Whenever you encounter any problems or don't know what to do, use Google! There are a lot of other running the same path as you and me who have encountered problems. The solution is almost always a search away!
Implement a save function that saves the content when the button is hit. When the user reopens the app load the text file and put the content in the textbox. Tip: Use SharedPreferences
Time to add support for multiple notes! Start off by learning how to move between activities (windows), in your notepad app add a button labeled "All notes" that sends you to another activity when clicked. Use Google to finds articles on how to do this.
Once you've figured out how to move between windows, it's time to create a list with all the notes. To display a list you use ListViews, before jumping in to showing the actual notes create a mock list containing your favorite cars, cats, Justin Bieber songs, whatever! Once you get a hang of it, move on to the next step
Learn how to store multiple strings instead of just one. Check out JSON, it's a simple data structure that lets you store.. data. Tip: store the notes in JSONObjects in a JSONArray. The final JSON-string can be stored in SharedPreferences.
Once you get a grip of JSON, add an add button, preferably in the ActionBar, that lets you add notes. Save the new note in the JSONArray.
Replace the cars or cats that are currently shown by the created lists.
Voilà, you have a fully functional notepad app and you've learned how to: move between activities, store data, ListViews, find solutions with Google etc. Good luck!
What are you aiming for, eventually ? Do you want to be a game developer, utility developer, are you aiming for a job developing apps ?
That might help you decide what kind of test apps to make.
If you go for a game you could spend a fair bit of time dealing with the graphical elements and gameplay without understanding the basics... so before you do that I'd suggest getting familiar with the building blocks (Activity, Intent, Service, Handler, Looper and so on) first.
jokernw said:
I am new to Android App development. I need some simple application ideas to practice. please give me some ideas. I just made Rock, Paper, Scissor game. So easy games like this will be fine(I think )
Click to expand...
Click to collapse
I started with memory game, you can go for it as well

existing tools for project?

I'm studying for software engineering, and I wish to take on a small project involving making an android app.
The app is expected to involve GPS/google maps, the camera and requires object recognition.
Before starting to actually develop the app, I wish to make a proper sketch for how I'm going to do it. I was wondering if the following already exist as freeware and are possible:
GPS- does it return a X/Y coordinates only, or X/Y/Z (meaning, does it tell the phone how high it is above sea level?)
Google maps/Google earth- is it possible to get the app to take information such as a city layout from it? Also, does it include height information for the ground?
Camera and object recognition- the app is expected to "look" using the camera, and needs to recognize objects. The level of object details is not very important, but it should be able to recognize certain things such as roads, buildings, men and such.
Thanks for the assistance,
Raledon
Raledon said:
I'm studying for software engineering, and I wish to take on a small project involving making an android app.
The app is expected to involve GPS/google maps, the camera and requires object recognition.
Before starting to actually develop the app, I wish to make a proper sketch for how I'm going to do it. I was wondering if the following already exist as freeware and are possible:
GPS- does it return a X/Y coordinates only, or X/Y/Z (meaning, does it tell the phone how high it is above sea level?)
Google maps/Google earth- is it possible to get the app to take information such as a city layout from it? Also, does it include height information for the ground?
Camera and object recognition- the app is expected to "look" using the camera, and needs to recognize objects. The level of object details is not very important, but it should be able to recognize certain things such as roads, buildings, men and such.
Thanks for the assistance,
Raledon
Click to expand...
Click to collapse
I know about an android open source app called GPS share, which will give us a link of our current location, and allow to send that location as a SMS or any message(WhatsApp,BBM,etc).
If you want i could give you the link to the app page(if i can find it).
SufiyanSadiq said:
I know about an android open source app called GPS share, which will give us a link of our current location, and allow to send that location as a SMS or any message(WhatsApp,BBM,etc).
If you want i could give you the link to the app page(if i can find it).
Click to expand...
Click to collapse
After talking with a few people, I've come to realize how much of a problem object recognition is for computers, and that even simple tasks like recognizing roads, people and buildings can be a problem. Until I can solve this issue in a decent fashion, I'll have to put the project on hold.
Thanks for the help, though. I'll look the app up if/when I can continue the project.

ExtensibilityApp class in WP 8.1 Silverlight

Hi all,
If you've read the text that USED to exist here before, scratch that. Big Thanks to @Sunius1 for clarifying what I thought was a win. Due to this, I DID find something interesting in regards to the ExtensibilityApp class (Windows.Phone.System.LockscreenExtensibility.ExtensibilityApp). I happened to also find a hidden capability "ID_CAP_SHELL_DEVICE_LOCK_UI_API" (Seems to be a locked CAP because it only works on Emulator. I get a deployment error on my if I try including this capability). I suspected that these two worked together, but I wanted to make sure of this.
Before we get started, read through the documentation from this site: http://msdn.microsoft.com/en-us/lib...lockscreenextensibility.extensibilityapp.aspx.
We have the following methods:
BeginUnlock
EndUnlock
GetLockPinpadHeight
IsLockScreenApplicationRegistered
IsSystemOverlayApplicationRegistered
RaiseToastNotifications
RegisterLockScreenApplication
RegisterSystemOverlayApplication
UnregisterLockScreenApplication
UnregisterSystemOverlayApplication
EDIT: After the release of the Live Lock Screen app, my speculations about the ID_SHELL_CAP_DEVICE_UI_API capability and the ExtensibilityApp object were correct. Thanks to @jessenic for finding out a good bit of info on this with me.
It seems that in order to get this working, we have to add an Extension to the WMAppManifest.xml
<Extension ExtensionName="LockScreen_Application" ConsumerID="XXXXX" TaskID="_default" ExtraFile="Extensions\\LockAppExtension.xml" />
In the LockAppExtension.xml:
<?xml version="1.0"?>
<x:Extension xmlns:x="urn:LockApp">
<AppID>AppNameForLockScreen</AppID>
</x:Extension>
As usual, Microsoft doesn't really give us much in terms of documentation.. Probably because it isn't meant to be used by the normal developer Confirmed: For now we have to actually ask for permission in order to use the cap. As to whether we'll get that granted? Who knows....
All of these methods have no parameters at all, but I can almost guarantee this has to do with having an application that can control the lock screen.
This thread will be for efforts in breaking this open and seeing whether we can create lockscreen applications..
Homebrew Lockscreen Apps:
Lockscreen App by @-W_O_L_F-
There are actually two Windows.winmd files in Windows Phone SDK, one for Silverlight 8.1 apps and one for Jupiter 8.1 phone apps (located in C:\Program Files (x86)\Windows Phone Silverlight Kits\8.1\ and C:\Program Files (x86)\Windows Phone Kits\8.1\). There's only one the phone. And some APIs support only one app type (it's phone limitation it seems: faking .winmd file results in Platform::InvalidOperationException, saying you cannot use that API from this app type). That explains why the one on the phone has more APIs available than either of for single app type.
As for LockscreenExtensibility - it's documented, just not available for Jupiter apps:
http://msdn.microsoft.com/en-us/lib...ows.phone.system.lockscreenextensibility.aspx
Sunius1 said:
There are actually two Windows.winmd files in Windows Phone SDK, one for Silverlight 8.1 apps and one for Jupiter 8.1 phone apps (located in C:\Program Files (x86)\Windows Phone Silverlight Kits\8.1\ and C:\Program Files (x86)\Windows Phone Kits\8.1\). There's only one the phone. And some APIs support only one app type (it's phone limitation it seems: faking .winmd file results in Platform::InvalidOperationException, saying you cannot use that API from this app type). That explains why the one on the phone has more APIs available than either of for single app type.
As for LockscreenExtensibility - it's documented, just not available for Jupiter apps:
http://msdn.microsoft.com/en-us/lib...ows.phone.system.lockscreenextensibility.aspx
Click to expand...
Click to collapse
Well that is very good to know! Thanks for the clarification. The best part is that I was actually able to compile without receiving an error (somehow).
I found something that may be of use in order to get the LockscreenExtensibility working (I just tried on a Silverlight 8.1 app and got access denied).
<Capability Name= "ID_CAP_SHELL_DEVICE_LOCK_UI_API"/> <----. Can't be used OOTB
EDIT: I just tested this in the Emulator and it really IS the capability that the LockscreenExtensibility needs in order for it to work.
snickler said:
I found something that may be of use in order to get the LockscreenExtensibility working (I just tried on a Silverlight 8.1 app and got access denied).
<Capability Name= "ID_CAP_SHELL_DEVICE_LOCK_UI_API"/> <----. Can't be used OOTB
EDIT: I just tested this in the Emulator and it really IS the capability that the LockscreenExtensibility needs in order for it to work.
Click to expand...
Click to collapse
I assume this is the thing Rudy Hyun used to create the lockscreen app at Build?
TheInterframe said:
I assume this is the thing Rudy Hyun used to create the lockscreen app at Build?
Click to expand...
Click to collapse
I speculate that this is what he's using. I bet there's more going on that we have yet to figure out. It also could be that the base class EXISTS, but the full implementation isn't available yet. Who knows.
snickler said:
I speculate that this is what he's using. I bet there's more going on that we have yet to figure out. It also could be that the base class EXISTS, but the full implementation isn't available yet. Who knows.
Click to expand...
Click to collapse
Ah, Yes that makes sense. I wonder if there are any other "half-baked" API's in the SDK?
Edit: I Know it sounds stupid but honestly I think we should have a thread dedicated to finding odd API's (Just found one: Windows.Phone.System.SystemProtection, nothing terribly useful though)
TheInterframe said:
Ah, Yes that makes sense. I wonder if there are any other "half-baked" API's in the SDK?
Edit: I Know it sounds stupid but honestly I think we should have a thread dedicated to finding odd API's (Just found one: Windows.Phone.System.SystemProtection, nothing terribly useful though)
Click to expand...
Click to collapse
there are also some hidden APIs in the current SDK for 3D Touch-enabled Apps!
From WP Central:
Some of the features include APIs for gestures, side interactions and even heat maps.
Crazy stuff.
Believe it or not, some of these APIs for developers are in the current SDK, they're just not visible. What this mean though is developers will have access to this 3D Touch technology for their apps. It also means that Microsoft will have a small batch of third-party apps supporting this 3D Touch technology on launch day.
Click to expand...
Click to collapse
source: http://www.wpcentral.com/microsofts-next-flagship-windows-phone-november-3d-touch
Yea, even though those 3D touch APIs may be available, they're not particularly useful, as they require special hardware to work.
Sunius1 said:
Yea, even though those 3D touch APIs may be available, they're not particularly useful, as they require special hardware to work.
Click to expand...
Click to collapse
That is true. Sort of of a side question though, has anyone made a OEM account and looked over the API documentation there? There maybe some useful things we could learn about WP and maybe further a jailbreak for all WP devices....
TheInterframe said:
That is true. Sort of of a side question though, has anyone made a OEM account and looked over the API documentation there? There maybe some useful things we could learn about WP and maybe further a jailbreak for all WP devices....
Click to expand...
Click to collapse
API isn't much useful as long as you cant really use most of functions due to policies.
ultrashot said:
API isn't much useful as long as you cant really use most of functions due to policies.
Click to expand...
Click to collapse
Ah, Yes that makes sense....
http://www.wpcentral.com/joe-belfiore-announces-new-updates-sheds-details-lock-screen-app
Sounds like there will be a dev preview update to enable lockscreen functionality quite soon. Joe also mentioned keeping the lock screen in memory. So 512 MB devices won't get the functionality soon....
Good stuff. Another question: can apps show the action center? Because I want code an app to show notifications on lockscreen. Thanks
Marocco2 said:
Good stuff. Another question: can apps show the action center? Because I want code an app to show notifications on lockscreen. Thanks
Click to expand...
Click to collapse
something to force the volume/music control on the lock screen to automatically open would be really useful as well
Updated first post with some more data since the Live Lockscreen App debuted yesterday. There's more I didn't get into, but I want others to dig in and find out
I suppose we can only speculate how it works at this point, but if I had to guess, it goes like this:
1. You have 2 projects in your LockScreenApp solution, one for the application to register the lockscreen, and the second one for the actual lock screen application.
2. The former would use ExtensibilityApp APIs to register the the second one, coupled with the manifests so it's all "valid".
3. The second application is just a another app that is able to process input and draw whatever it wants on the screen. That would explain why there's a delay at it starting when you press lock screen button while the phone is sleeping (probably it's a time for .NET to startup? Direct3D app should be able to start much faster).
Although this is only speculation, I think this makes sense, because that's how background tasks work on Windows, at least. I wonder though, why Microsoft is not releasing the APIs to be used in public - are they afraid somebody will make a lockscreen application that will drain the battery fast or something?
Sunius1 said:
I suppose we can only speculate how it works at this point, but if I had to guess, it goes like this:
1. You have 2 projects in your LockScreenApp solution, one for the application to register the lockscreen, and the second one for the actual lock screen application.
2. The former would use ExtensibilityApp APIs to register the the second one, coupled with the manifests so it's all "valid".
3. The second application is just a another app that is able to process input and draw whatever it wants on the screen. That would explain why there's a delay at it starting when you press lock screen button while the phone is sleeping (probably it's a time for .NET to startup? Direct3D app should be able to start much faster).
Although this is only speculation, I think this makes sense, because that's how background tasks work on Windows, at least. I wonder though, why Microsoft is not releasing the APIs to be used in public - are they afraid somebody will make a lockscreen application that will drain the battery fast or something?
Click to expand...
Click to collapse
I don't think its that but most likely the fact that the API is un-optimized, some of the facts you stated (i.e. Slow start up, documentation is lacking) etc... The fact the OS needs to be updated to show a section telling the user what lock screen app has taken over (since the setting page doesn't now)
Edit: Remember what Joe said about keeping the lockscreen in memory and 512MB devices might not be supported for that reason? Yeah seems like they aren't doing that since you can see the resume time for the lo screen is wayyy to much
Sunius1 said:
I suppose we can only speculate how it works at this point, but if I had to guess, it goes like this:
1. You have 2 projects in your LockScreenApp solution, one for the application to register the lockscreen, and the second one for the actual lock screen application.
2. The former would use ExtensibilityApp APIs to register the the second one, coupled with the manifests so it's all "valid".
3. The second application is just a another app that is able to process input and draw whatever it wants on the screen. That would explain why there's a delay at it starting when you press lock screen button while the phone is sleeping (probably it's a time for .NET to startup? Direct3D app should be able to start much faster).
Although this is only speculation, I think this makes sense, because that's how background tasks work on Windows, at least. I wonder though, why Microsoft is not releasing the APIs to be used in public - are they afraid somebody will make a lockscreen application that will drain the battery fast or something?
Click to expand...
Click to collapse
You are correct. Two projects: One is the settings page, which is the main entrypoint of the app when it's opened from the start menu and the second one is the actual lockscreen app.
The settings page uses the ExtensibilityApp APIs to register the second one as a lock screen application. That second application is another 8.1 Silverlight app that uses a LockScreen_Bridge WinRT component that has native access to read what is shown on the lockscreen from the WP Settings item.
It then uses some storyboards to make it do different things as you're swiping up and down on the LayoutRoot grid. It does use a timer so that's where that little lag comes from.
The only background stuff it's doing is latching on to system events ("Start button being touched for example").
I can see where MS would be protective of this. They DID say that they would be releasing a public version of the API at some point. I'm hoping it's not one of the situations that leaves it public only when they've approved you to be able to use it.
It does suck that it's restricted to 8.1 Silverlight though. I could see some Music Apps wanting to take advantage of the lockscreen like this.
snickler said:
You are correct. Two projects: One is the settings page, which is the main entrypoint of the app when it's opened from the start menu and the second one is the actual lockscreen app.
The settings page uses the ExtensibilityApp APIs to register the second one as a lock screen application. That second application is another 8.1 Silverlight app that uses a LockScreen_Bridge WinRT component that has native access to read what is shown on the lockscreen from the WP Settings item.
It then uses some storyboards to make it do different things as you're swiping up and down on the LayoutRoot grid. It does use a timer so that's where that little lag comes from.
The only background stuff it's doing is latching on to system events ("Start button being touched for example").
I can see where MS would be protective of this. They DID say that they would be releasing a public version of the API at some point. I'm hoping it's not one of the situations that leaves it public only when they've approved you to be able to use it.
It does suck that it's restricted to 8.1 Silverlight though. I could see some Music Apps wanting to take advantage of the lockscreen like this.
Click to expand...
Click to collapse
Quite interesting...!
The API in itself is quite powerful, custom lockscreens with weather animations are possible! http://wmpoweruser.com/wp8-1-live-l...amazing-lock-screen-weather-animations-video/

Categories

Resources