[Library] DroidParts — the missing Android framework - IDEs, Libraries, & Programming Tools

DroidParts is a carefully crafted Android framework that includes:
DI - injection of Views, Fragments, Services, etc.
ORM - efficient persistence utilizing Cursors & fluent API.
EventBus for posting event notifications.
Simple JSON (de)serialization capable of handling nested objects.
Improved AsyncTask & IntentService with Exceptions & result reporting support.
Logger that figures out tag itself & logs any object.
RESTClient for GETting, PUTting, POSTing, DELETing & InputStream-getting, also speaks JSON.
ImageFetcher to asynchronously attach images to ImageViews, with caching, cross-fade & transformation support.
Numerous Utils.
Fragments support: native on 3.0+ and either pure SupportLibrary or ActionBarSherlock-backed on 2.2+.
The main site is droidparts.org (can't post links) with a manual and links to GitHub & StackOverflow.
Please let me know which topics need more coverage and I'll answer here & include them in the guide.

Cool. Thanks.

Related

[Q] Looking for Experienced and Efficient Developer for Hire

Hi,
I'm looking for an experienced and efficient developer (or team of) to design and help implement an android application. Key features will include:
- Chat feature amongst users
- Ability to read several different file types
- Baked in copyright features
- Editing options for those file types
These are just a few of the features needed within the application, but this outlines most of the key features needed.
If you are interested, please email me at davelarose0 [ at ] g mail [dot] com
Cheers,
Dave

Android MVVM framework -- Android Binding

Android-Binding is an Open Source framework (licensed under LGPL, good for proprietary or any other apps) that helps developing Android Application with MVVM (or MVC, MVP) Patterns, through binding View (widgets) attributes to Code Objects in XML declarations.
It was initiated in last Christmas holiday and its now released v0.2.
Tester, adopters are welcomed and I will try to provide my best effort to help deploying apps with Android-Binding.
You can get a look at how the framework is capable by visiting the Market for demos:
* https://market.android.com/details?id=com.gueei.demos.markupDemo
* https://market.android.com/developer?pub=Andy+Tsui
Features
Bind View Model data with Widgets through XML Layout file
Much easier unit-testing
Model Validation supports through annotation
Bind any types of objects, Collections, and even Cursors
Tutorials/getting started
http://www.codeproject.com/KB/android/androidbinding.aspx
http://www.codeproject.com/KB/android/ValidateAndroidBinding.aspx
http://www.codeproject.com/KB/android/AndroidMVVM.aspx
http://andytsui.wordpress.com/category/tutorial/
Discussion Group

Handling custom translation in Android apps

I just want to share my experience with translating my app.
These were the requirements:
APP should be able to load custom translation XML (strings.xml) so that translator could check his/her translation without waiting for the developer to release a new version
User-selectable app language
Forms should respond to language change immediately
Full RTL support
Android public libraries are extremely programmer-unfriendly in this respect: a good solution is impossible because Google really tried hard to make this impossible. I have explored more than 20 different options trying to find a hole in their final / non-public maze of denials, but was unsuccessful. The only reason my app supports this almost entirely is because I have custom settings builder (switches were abysmal in original android settings activity) and because the other activities have relatively simple text components so not much code was needed.
Sorry I can't be more help, but I think this current solution is pretty good as it is. I just can't do menus (but I could) and string arrays. Everything else works
Due to Android poor RTL support, some forms just can't be designed such that they would work RTL right away (I found that automatic activity form modification would also be quite impossible), so two copies would be necessary, as evident from this sample activity onCreate code snippet:
Code:
TX.translateLayout(this, TX.RTL ? R.layout.activity_auto__brightness_rtl : R.layout.activity_auto__brightness);
The onResume code simply does the same as onCreate (thus providing immediate response to language change)
Any string can be obtained by calling TX.s function:
Code:
TX.s(R.string.preset_name)
Non-activity code still needs context for translation code to work properly, which is initialized by calling an initialization function at code (service / Receiver, etc) startup.
Code:
TX.setContext(aContext);
Please note that I didn't bother to clean up the code in the attachment. You will need to change the package, log calls and possibly the TranslationLayoutInflater, which currently doesn't support all widgets.
Hope anyone finds this useful. I also think my custom settings dialog fully supporting RTL and using screen space more efficiently than the system provided one. If there's interest, I'll post that code as well.

DroidScript [IDE]

"DroidScript" is an app for Android that lets you create apps on your phone or tablet. With it you can write apps on the go or using WiFi edit code in the browser on your PC/laptop. The app uses JavaScript, has many sample apps, a Google group, a wiki and limited (but growing) documentation." DroidScript" is still in the beta state, so don't expect perfection. An in-app purchase ($5.95 us) is required to build APK's.
!!! I AM NOT !!! part of the "DroidScript" team and in no way am I involved in it's development !!!
I just found a usefull app and decided to share it!
"DroidScript" is provided by "SmartphoneRemote" and is available here https://play.google.com/store/apps/details?id=com.smartphoneremote.androidscriptfree
For those new to programming code Academy offers free courses in JavaScript and other programming languages. http://www.codecademy.com/
Just to add a little more information.
DroidScript was recently required by Google to change its name, the old name was AndroidScript.
The app you create using Droid Script can be ran and tested on your phone or tablet.
Using SPK's you can email your code to anyone else running Droid Script( at no cost ) which is useful for debugging, testing on different devices or just sharing.
An update is out.
The following is a quote from Dave Smart, one of the "DroidScipt" developers.
"Hi Guys,
Version 1.18 has just been released from private beta into public beta. It should be available in the next few hours on Google Play.
Most most notable change in this version is the ability to create 'HTML' based apps as well as the usual JavaScript (Native) App type. This will allow much easier development of HTML5 based applications for those who are familiar with web development. You no longer have to use the WebView control and call the web.Execute() method to communicate between the two worlds. Syntax errors will also be highlighted for JavaScript within your HTML page too
Check out the "HTML Sensors" sample for an example of using the JQuery 'FlotCharts' plotting library to generate live graphs of sensor input. (Note: When it comes to including your own collection of JavaScript libraries in your own projects, you can simply use a relative path rather than the special internal path format used in the samples)
There are also some other exciting new samples to stimulate your imagination such as:-
"Camera Faces" - Detects multiple faces in the camera preview.
"Wifi Broadcast" - Send and Receive UDP network packets between devices (good for messaging apps or multi-player games).
"TCP Client" - Raw TCP socket client allows talking to web servers, telnet servers or embedded devices.
"Joystick" - Demonstrates using standard HID joysticks such as the XBox360 to control your Apps.
We will be releasing a special version of DroidScript soon which will support the ODROID-C1 (Good for home-made game consoles and robotics)
Have Fun!
Here is the full change list for version 1.18:-
- Enabled HTML editing on device.
- Added Face finder sample.
- Added Scroller.RemoveChild/DestroyChild.
- Added SetOnTouch to TextEdit control.
- Html apps now resize when rotating device.
- Added GetHtml method to text edit control.
- Docs samples now working in firefox.
- Added 'AutoSelect' option to TextEdit.
- Added GetSelectedText, SetSelection methods to TextEdit.
- Added GetSelectionStart/End methods to TextEdit
- Fixed app.GetExternalFolder.
- Added app.GetInternalFolder.
- Added 'News' menu option.
- Added html-app sensor plot sample.
- Joystick intercept of arrow keys fixed.
- Added remote page security check on HTML Apps.
- Fixed Wifi Broadcast sample.
- 'AllowRemote' webview option now moved to App.SetOptions call.
- Removed plugins 'close' button.
- Renamed some samples, ready for new 'HTML' samples.
- Added "HTML App" as a project choice.
- Added Raw TCP methods + sample.
- Added HID Joystick support + sample.
- Permissions are now scanned in HTML files.
- Fixed SetFolder bug in 'HTML Server' sample.
- Added SetColorEffect, GetColorEffects to camera (use in OnReady).
- Multiple spaces in filename are now handled in apks.
- ReceiveDatagram now supports 32k packets.
- Added Wifi Broadcast sample.
- Added SetOnCancel method to Dialog control.
- Fixed "/System" folder access issue.
- Fixed "tablet is not defined" bug."
Sorry I'm a little late in posting this life's been busy. A update is out.
Dave Smart
Hi Guys,
Version 1.21 has just been released from private beta into public beta. It should be available in the next few hours on Google Play.
*** Please update your ApkPlugin to match this new version of DroidScript ***
Most most notable change in this version is the support for SQLite, support for the ODROID-C1 and the addition of tutorials to the WiFi editor. Check out the 'database' sample to see how to use SQLite database.
Some exciting new plugins will be arriving in the next few days, so keep your eye out for them!
Here is the full change list for version 1.21:-
- Added online Tutorials to WiFi IDE!
- Added SQLite support!
- Added 'Database' sample.
- Added generic Intent receiver support + sample.
- Added app.SetAutoBoot() and app.SetAutoWifi() methods.
- Added char encoding 'mode' parameter to app.ReadFile().
- Minimum OS version moved from Eclair -> Froyo.
- Enabled file/text sharing in user APK's.
- Added app.GetDSVersion().
- Added GetType() method to Database object + GLView object.
- Prevented spaces and symbols in APK package names.
- Fixed spinner bugs.
- Added support of ODROID-C1.
- Added Latest News to WiFi IDE.
- Added samples filtering on Wifi IDE.
- Plugin docs now visible in Wifi IDE.
- Enabled use of console.log method.
- Folder/FileExists funcs now differentiate between folders and files.
- Added app.GetUser() method.
- Added app.GetDeviceId() method.
- Added app.CheckLicense() for Google Play licensing.
- Added mask option to img.DrawImage function.
- Added app.GetEnv() method to get environment vars.
- "/Sys/" and "/sys/" paths are now distinct (allows embedded use).
- Added app.CreateSysProc() method for super user access.
- Reboot after APKPlugin install now not required.
The thanks button is always appreciated, reasonable relevant comments are welcome. And if no one's really interested I'll stop wasting space on XDA's server.

[Library] Electra - simple persistence framework for android

Electra for android is simple persistence framework with compile time processing.
Primary design goals:
Easy to use and configure.
Easy integrate with existing code. Electra like database wrapper.
Compile time processing. No reflection.
Simple beans.
Expression builder.
RxJava support (optional).
https://bitbucket.org/txdrive/electra/
Just post here an example of exression builder:
List<User> users = em.select(User.class)
.where(gt("age", 18), lt("age", 25))
.from(100) //offset 100
.max(10) //return only 10 records
.list();
also for rxJava .listObservable()
I would like to get feedback questions , etc

Categories

Resources