I already took programming course at RIT: Java I, II, and III; but I didn't realized that I was required to use XML; but I rather use it programmatically directly from Java UI, or Honeycomb 3.0 GUI instead of using XML - rarely used XML during my time in college.
I should've gone in Software Development.
Regardless.. does anyone have codes, snippets, GUI samples, that I can learn and program directly into Eclipse? Thanks! I tried to find Honeycomb programming documentation but most of these examples are from 2.1. Kind of outdated.
Thanks, and much appreciated. I have a program in mind I want to develop for deaf people. Thanks a lot!
Does this help you at all?
http://android-developers.blogspot.com/2011/04/customizing-action-bar.html
El Daddy said:
Does this help you at all?
http://android-developers.blogspot.com/2011/04/customizing-action-bar.html
Click to expand...
Click to collapse
Yeah, but only via HTML.. not sure if that's a bad thing. But I got to the point where I find some codes and snippet for Java .. I have lots to learn. Patient my young poopwadan!
EDIT: I am just looking on how to setup GUI from Honeycomb 3.0 via Java, not XML or HTML.
As I have previously stated: http://developer.android.com/guide/topics/ui/index.html
- This only shows you how to create layouts, menus, and etc via XML - I prefer to use it programmatically. Sorry for repetition, just getting my point across.
I posted the wrong link. Don't know how that happened!
http://developer.android.com/guide/practices/optimizing-for-3.0.html
misdirection said:
- This only shows you how to create layouts, menus, and etc via XML - I prefer to use it programmatically. Sorry for repetition, just getting my point across.
Click to expand...
Click to collapse
This is because it's the preferred way to create UIs and other layout details. Documentation is unfortunately scarce on how to do it programatically. Have a look at the android.widget package for more, but you may have to find examples to work from.
As a simple example, you can build a LinearLayout and use addView to add Buttons or TextViews to it to form a UI.
But seriously, XML is not that hard, and it's more correct.
ydaraishy said:
this is because it's the preferred way to create uis and other layout details. Documentation is unfortunately scarce on how to do it programatically. Have a look at the android.widget package for more, but you may have to find examples to work from.
As a simple example, you can build a linearlayout and use addview to add buttons or textviews to it to form a ui.
But seriously, xml is not that hard, and it's more correct.
Click to expand...
Click to collapse
good for you!
misdirection said:
good for you!
Click to expand...
Click to collapse
Not happy, huh?
http://developer.android.com/resources/tutorials/hello-world.html
Go read that up to the "Upgrade the UI" section. Wasn't very hard to find. Does what you want.
I'd still try the older tutorials. See how pre-honeycomb apps work on the display. I've found so many apps that don't even fill the screen. It's nice to learn from others' mistakes.
Anyway, I'm one to talk. I have yet to try making something for the Xoom. It's been ages since I've programmed in Java.
Scourge1024 said:
Anyway, I'm one to talk. I have yet to try making something for the Xoom. It's been ages since I've programmed in Java.
Click to expand...
Click to collapse
This is where I am, what little GUI work I have done in Java was with AWT and Swing and Android looks a little frustrating in comparison.
Yes! I'm also from the Swing and AWT days. But I doubt we'd be using any of that. That was mostly for computer-style UI. And it didn't look that great anyway.
Related
I am in the process of starting a small firm to create Android applications. Not being a programmer myself, I have no idea what kind of engineer we need to create vacancies for.
So, what are the languages necessary to program for Android?
ftgg99 said:
So, what are the languages necessary to program for Android?
Click to expand...
Click to collapse
I've read that for apps, you need to learn Java, and for Kernels learn C.
Sent from my T-Mobile myTouch 3G Slide using XDA App
As a business owner here is something that might interest you as you will be able to develop cross platform - DragonRad.
Getting ready to try it myself. Best of luck with your search and your new firm ftgg99.
Video 1
Video 2
Video 3
Only drawback I can see is Windoze based only as far as building...use of app is cross platform
Thank you, looks very interesting!
DragonRAD is for building data-driven apps. If you're looking to mobilize your existing back-office data, then DragonRAD is for you. But if you're looking to build games, or 'consumer-type' applications, it may not be. Hope that helps!
Android applications are mainly coded in Java but i believe can also be coded in C++
Although, if you're going to be developing cross platform (iphone, symbian, etc.) you'll need people who can code in a range of different languages.
First of all, when I searched for doing programming on an android device, I got a kazillion results on programming an android app. I don't want that. Currently, what are the languages that I can write and compile on an android device? Is java one of these?
I've always wondered why noone has posted a static gcc build for android. gcc g++ gcj, they all should cross compile. You might have to enable swap to use them though.
Android basically runs Java. That's the simple answer.
You might find some interesting reading on Eclipse with the google plugins.
If WYSIWYG/RAD environments are more to your liking, check out the "google app inventor."
goodintentions said:
First of all, when I searched for doing programming on an android device, I got a kazillion results on programming an android app. I don't want that. Currently, what are the languages that I can write and compile on an android device? Is java one of these?
Click to expand...
Click to collapse
http://forum.xda-developers.com/forumdisplay.php?f=613
Um, guys, I said I don't care about building apps. I wanted to know if I could write and compile java on an android tablet.
Not quite java...
First, Android doesn't *quite* run Java. It runs Dalvik. That's a tweaked version of Java to help google not use the lawsuit with Sun/Oracle. There's a preprocessor you have to run over he Java bytecodes to get Dalvik code. This is why you can't simply port (or rather, build, given that there's a Linux under there) gcj and use it as is - you need the jvm->Dalvik translator.
The good news is - that runs on Android. There's a Clojure (a JVM/.net language) port for android that uses that translator to run code. While it's not up to building production code, it's fine for writing/testing code on android. I assume the JRuby port also uses it.
If all you're interested in is programming on a g tab, there's lots of options, most notably Google SL4A package (python, ruby, beanshell, sh - I think). But you can find Scheme, BrainF*ck, Pascal, Basic, etc. No Java, but I found at least three languages that run on the Dalvik VM (Clojure, JRuby, and Frink) that let you access some or all of the Android APIs. If you want to explore the Android APIs, one of these will probably work.
Finally, there's IDEDroid. That runs locally, but looks like it exports the compile and execution to their web server. It has support for lots (and lots and lots) of languages - including Java. If you just want edit/run small programs to play with the language, this might be just the ticket. I think I'm going to install it so I can play with haskell....
I wonder. Why in the world hasn't anyone developed a way to write and compile java code on android?
GNU has gcj, I'm fairly certain the same tools you use to compile a kernel would work to make an ARM/Android version.
muqali said:
GNU has gcj, I'm fairly certain the same tools you use to compile a kernel would work to make an ARM/Android version.
Click to expand...
Click to collapse
Could you please clarify? I guess I'm seeing the potential to incorporate the gtab into my work at the lab. Let just say we're a bunch of engineers trying to act like IT programmers. Why hire an honest to god programmer when you could have your engineers lose sleep over trying to program the machines?
So, please could you stop giving me single sentence answers? If I get the gtab will I be able to use it to write, debug, compile, etc. java codes? We've been doing our own things with java and it's too late to switch to something else. I'm sure it's possible, I'm just having trouble finding the answer in search as it seems noone has ever brought this up before. Ever.
Would the following be what I'm looking for?
http://www.getjar.com/mobile/38541/java-programming-for-android-os-all/
So, I take it that it is not possible to write, debug, and compile java code on an android tablet?
goodintentions said:
So, I take it that it is not possible to write, debug, and compile java code on an android tablet?
Click to expand...
Click to collapse
I did mis-understand you initial post on my first reply.
Now that I understand you question, I'm a bit baffled as to 'Why?'
A tablet just doesn't seem to be a very conducive platform to entering and compiling code.
I don't know about any development tools meant to run on android directly. But there are people running ubuntu on their tablets.
Zaphod-Beeblebrox said:
I did mis-understand you initial post on my first reply.
Click to expand...
Click to collapse
I don't understand how you could have misunderstood my original post. Here it is.
I said, and I quote:
First of all, when I searched for doing programming on an android device, I got a kazillion results on programming an android app. I don't want that. Currently, what are the languages that I can write and compile on an android device? Is java one of these?
Click to expand...
Click to collapse
I don't how else I can make it clearer. I'm an engineer, not an idiot. A simple google search turned up millions of links to how to manage android projects on a pc. Why in the world would I be asking this? And I even said I google searched and it turned up nothing.
Now that I understand you question, I'm a bit baffled as to 'Why?'
Click to expand...
Click to collapse
For the sake of convienience... and to baffle my colleagues.
I don't know about any development tools meant to run on android directly. But there are people running ubuntu on their tablets.
Click to expand...
Click to collapse
The whole point of having a tablet is its light weight and the touch screen. I'd like to be able to take it to meetings, take notes with a stylus, show colleagues basic autocad drawings, write and debug java codes for some of our projects, etc. This is not to say I want to use it as my main device. I will still be using either my laptop or my desktop for my projects, but having something like the viewsonic gtab to carry around and do these things seem cool to me.
I'm just baffled why there hasn't been an app development to run/compile java code on the android OS.
Here is a Online IDE that works pretty good (not for java): http://www.coderun.com/ide/
Or
This one will let you compile and run just about anything including java: http://ideone.com/
Sure glad I tried to help.
Prick.
Zaphod-Beeblebrox said:
Sure glad I tried to help.
Prick.
Click to expand...
Click to collapse
Yes, I'm a prick. I fully admit this. This attitude came from years of experience with 1337s online. When I first started getting into linux, and this was back in the days when there was no visual interface for installation and you had to type in a dozen commands for every step of the way while it asks you for the specific models of your peripherals, I searched for several days on solutions pertaining to a problem I ran into. After being fairly confident that there was no answer to it, I signed into a linux forum and asked about it. I got a couple one-liner answers that made no sense, a couple answers that assumed I was an idiot so they answered the wrong thing, and half a dozen "you're an idiot, go away" answers.
My first rule of thumb is if you could interpret a person's question at least 2 ways, then without further info assume the interpretation that doesn't include assuming the other person is an idiot. And this is for an obscure question. My original post clearly stated I was talking about debuging and compiling java on the android tablet itself. I specifically worded my question like that because I knew people were going to assume I was talking about the thing you assumed.
This 1337 attitude online is getting old.
the3dman said:
Here is a Online IDE that works pretty good (not for java): http://www.coderun.com/ide/
Or
This one will let you compile and run just about anything including java: http://ideone.com/
Click to expand...
Click to collapse
Thanks. I guess this is what I will have to go with for now. I'm sure I'm not the only one who has thought of this before. Surely, if you could run it on a linux distro such as ubuntu, then I'm sure it's possible to do the same thing on a different OS that runs on the same processor. Why in the world hasn't anyone come up with this yet?
goodintentions said:
Why in the world hasn't anyone come up with this yet?
Click to expand...
Click to collapse
Sounds like its up to you to save the day!
adampdx said:
Sounds like its up to you to save the day!
Click to expand...
Click to collapse
I'm a materials/structural engineer who's an amateur programmer. I practically live in my lab. Sure, the other engineers often look at my programming work with oohs and aahs, but I assure you they look like something put together by an idiot if you're a software engineer. Something like this is several miles above my head. Most of my work look like spaghetti code anyway.
goodintentions said:
I'm just baffled why there hasn't been an app development to run/compile java code on the android OS.
Click to expand...
Click to collapse
B/c any real programmer would probably blow a hole in his head trying to write/debug code on a tablet.
HKChad said:
B/c any real programmer would probably blow a hole in his head trying to write/debug code on a tablet.
Click to expand...
Click to collapse
The same could be said about autocad, and yet there is an autocad app for it, given that the capabilities are limited.
Sorry for posting a whole new thread for this. I poked around with the search, however I figure the developers that are doing stuff for the Infuse have a lot on their plates to be able to write out a tutorial for this individual phone forum.
But, I have absolutely 0 experience in making a rom for anything. I have flashed Infused on my Infuse. This is my first Android device and I really love the customizability over the iOS software (previous phone). I know Gingerbread is just around the corner but I would love to take my first few steps towards developing with a rom thats been out already. This way by the time I get a better grip of things I can maybe transfer these skills to the new version.
If anyone can be so kind, Ide appreciate it if the helpful devs could maybe point me to some links with the necessary files and programs/files that are needed to build a custom rom. As well as maybe some tutorial threads or videos.
Anybody feel free to shoot me some useful links if possible. Thanks so much in advance! Cant wait to contribute.
Mikeymike had something you're looking for in the Captivate forum. Can't find the thread on my phone but it was basically a how to thread. Good stuff if ur interested
This should be in Q&A. But yeah, MikeyMike has a tutorial somewhere.
In my opinion - start off small. Get familiar with making customizations to a ROM (theming, app replacement, etc) and then grow from there. Don't bite off more than you can chew.
tazbo28 said:
Sorry for posting a whole new thread for this. I poked around with the search, however I figure the developers that are doing stuff for the Infuse have a lot on their plates to be able to write out a tutorial for this individual phone forum.
But, I have absolutely 0 experience in making a rom for anything. I have flashed Infused on my Infuse. This is my first Android device and I really love the customizability over the iOS software (previous phone). I know Gingerbread is just around the corner but I would love to take my first few steps towards developing with a rom thats been out already. This way by the time I get a better grip of things I can maybe transfer these skills to the new version.
If anyone can be so kind, Ide appreciate it if the helpful devs could maybe point me to some links with the necessary files and programs/files that are needed to build a custom rom. As well as maybe some tutorial threads or videos.
Anybody feel free to shoot me some useful links if possible. Thanks so much in advance! Cant wait to contribute.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=928955
remember to post in the right section next time bud.
Thanks so much guys. Sorry I was totally debating on whether to post this there but I thought that maybe the devs dont frequent that section.
Please do move this thread if possible.
Sent from my SAMSUNG-SGH-I997 using XDA App
Ok so I have one last question.
Is it better/easier to build the rom using an ubuntu virtual machine, dual boot ubuntu, or a Mac OSX Lion virtual machine in Windows 7?
I have the option to run any one of these types of systems. Unfortunately I do not have a Mac available, so Im wondering if it is even possible to build the source using a Mac VM seeing as how there are certain types of partitions necessary.
Thanks in advance.
tazbo28 said:
Ok so I have one last question.
Is it better/easier to build the rom using an ubuntu virtual machine, dual boot ubuntu, or a Mac OSX Lion virtual machine in Windows 7?
I have the option to run any one of these types of systems. Unfortunately I do not have a Mac available, so Im wondering if it is even possible to build the source using a Mac VM seeing as how there are certain types of partitions necessary.
Thanks in advance.
Click to expand...
Click to collapse
I'd dual boot windows and Linux
Samsung infuse running gingerbread!
Dual-booting Linux is your best bet. VMs mean that if you eventually get as far as doing kernel or AOSP/Cyanogenmod compiles, you'll have less RAM available, and also sometimes accessing USB devices (such as to use ADB or Heimdall) is a bit of a pain with VMs.
Awesome thanks a bunch guys i just got my ubuntu dual boot set up but i don't seem to have a working Linus driver for my trendnet wifi adapter.
But i have downloaded the infuse 4g source and im about to start setting up the build components from the android website.
Sent from my SAMSUNG-SGH-I997 using XDA App
tazbo28 said:
Awesome thanks a bunch guys i just got my ubuntu dual boot set up but i don't seem to have a working Linus driver for my trendnet wifi adapter.
But i have downloaded the infuse 4g source and im about to start setting up the build components from the android website.
Sent from my SAMSUNG-SGH-I997 using XDA App
Click to expand...
Click to collapse
Well, there are two routes to building ROMs right now:
1) Start from a Samsung ROM - there is source to the kernel and a few small parts of the userland stack available, but most of it is lacking source. Most custom ROMs available here are created by taking the stock Samsung ROM and tweaking them - removing apps, adding others, or attempting to bring apps from other devices to ours.
2) Cyanogenmod 7 - this is a source build, HOWEVER - it is not complete, open-source reimplementations of some Samsung stuff is not complete, so some features (like Bluetooth) are broken
A lot of ROM devs (those that work on Samsung-derived ROMs) don't even have a copy of Samsung's source code release as it's not useful to them. (Exception are those of us who do kernel work.)
It's not something you can just jump into. To do it properly, you need patience and a willingness to spend a lot of time researching a lot of different things.
1) Some things are easier to do in Linux and other things are best done in Windows due to some tools only being available for Windows. It's best to have both.
2) Learn how to dump the system partition (using the dd command) and mount/extract the resulting factoryfs.rfs on your computer.
3) Learn the /system folder structure. Explorer the files in each folder and try to figure out what those files are.
4) Find and learn how to use a script or program that can deodex the apps and framework from the extracted system image.
5) Learn the structure of flashable zips and what all of the commands in updater-scripts do. Easiest way to do this is to download a bunch of roms and look at their folder structure and updater-scripts. Google commands in them that you do not understand.
6) Learn which apps can be removed and replaced without consequence. If you can't figure out exactly what a particular apk does, best to leave it alone.
7) Experiment with changing build prop entries to see what some of them do.
8) Learn how to manually decompile and compile the dex portion of apk and jar files. Use smali and baksmali for this. This lets you modify app and framework code, but the decompiled smali can be a bit confusing. Try to learn how to read it. Try this AOSP lockscreen mod tutorial.
9) Learn how to use a program that can decompile and compile entire apps, including resources. Apktool is a good program and APK Manager is a good front end for it. Look through all of the folders in the resources (res) directory of a decompiled app. Learn which images and types of files are in each folder. There are a ton of xml files that do various things in the resource folders. Open a bunch of them up and learn some basic xml structure so you can see what all that xml is doing. Most visual app mods are done via xml. Here's a slightly more advanced mod tutorial than the AOSP lockscreen was: http://forum.xda-developers.com/showthread.php?t=811532
10) Learn proper apk compression techniques. Though it works, just dropping images into apks via 7zip and calling it a day isn't really the right way to theme. The default Android Asset Packaging Tool (used by the Android SDK to package apps) does not compress certain file types, including images. This is because images, especially pngs, typically do not compress a great deal anyways and the added cpu time it takes to decompress those images at app launch makes the total app loading time longer than if the images were uncompressed, even if they are slightly larger. Also, compressing some file types, like oggs and system objects, too much can even cause the app to not be able to load them. See here for a handy script to repack apks with proper compression: http://forum.xda-developers.com/showthread.php?t=1123463
I could go on forever, but that should point you in the right direction. At least you know some of the basics you need to learn now even if I didn't tell you exactly how to do each thing. Remember, Google will be your best friend. Use it. A lot.
Man I really appreciate this so much gtg. Its exactly the kind of encouragement i was hoping for. I just get a general sense of excitement when thinking of all the different possibilities in both Rom and app development. And seeing as how im and artist first, its awesome to know that ill down be able to be a double threat in both designing the look of, and building the Rom myself.
I can't thank you enough for pointing me in the right direction. Maybe one day someone will put together a kitchen for the Infuse. Until then ill be happy to dive into all the nitty gritty.
Sent from my SAMSUNG-SGH-I997 using XDA App
Hi guys,
I am new to app development and I have seen a lot of articles about apps that control the computer, but how would I actually go about making one? It doesn't need to be over Wifi either; it just has to be able to do basic keyboard actions over USB.
- Adam
Bump. Anyone know where I could start?
Start with c+ and toss in a little Java coding.
amarcott11 said:
Bump. Anyone know where I could start?
Click to expand...
Click to collapse
You haven't even described what platform you're writing said app for.
Android apps are mostly Java... The rest, I dunno. MS is probably dotNET, apple is... objective C I think?
Sorry for the lack of information. All I know so far is I have Eclipse and ADT (I am developing an Android app). I understand XML and how to develop the GUI, but when it comes to making the app communicate with a computer, I don't have a clue where to begin or how to do it.
Any tips or guidelines on tools to use or how to start are appreciated.
amarcott11 said:
Sorry for the lack of information. All I know so far is I have Eclipse and ADT (I am developing an Android app). I understand XML and how to develop the GUI, but when it comes to making the app communicate with a computer, I don't have a clue where to begin or how to do it.
Any tips or guidelines on tools to use or how to start are appreciated.
Click to expand...
Click to collapse
By having a server program running on your computer which accepts data you send from your android.
If you want it to be difficult, do it over usb, the easy way would be wifi.
Check up on "sockets".
Thanks for the reply. The only problem is, I need it to have very fast response time. I would like it to be as similar to a USB keyboard as possible, so I don't think WiFi would work. What makes doing it over USB difficult?
Do you have the server side app already? what exactly are you trying to control on your computer?
It doesn't matter what I'm controlling, I just want to be able to get my app to send information that a server side program can take and be able to keyboard map.
So I'll need to code with C++ for the server side and java for the app itself?
Plus, from what I've read, I've learned that the Android platform doesn't support USB hosting. Is this true? I've seen ways around it but it seems pretty cryptic.
Sent from my Galaxy Nexus using XDA App
There already is one that is apart of the android market and you can even use it on another computer It's called Team viewer not sure if this would help you or not, but I liked it when I needed to use it.
You can do app development on a pc emeulator instead of your phone (if thats what your asking) and Google App Inventor is great, but servers are closing soon. So goodluck!
Yeah I would start looking up about c+, c++, and java coding.... goodluck
I appreciate the help. Ryan1918, I have used Teamviewer myself, but I am looking to develop more of a controller, as opposed to a remote desktop app.
amarcott11 said:
Thanks for the reply. The only problem is, I need it to have very fast response time. I would like it to be as similar to a USB keyboard as possible, so I don't think WiFi would work. What makes doing it over USB difficult?
Click to expand...
Click to collapse
Both can be done with java and if you program it right and the wifi signal is good you shouldnt have much of a delay.
It will be difficult to use the USB as a network interface for your application.
Using TCP/IP or UDP over Wifi will be much much easier.
I don't mean to ignore what you're saying about WiFi, but I strongly believe that for the market this app will be directed toward, USB will be necessary. I don't feel comfortable giving away my idea, but just know that my goal is to make the responsiveness virtually seamless if it is at all possible.
I will test it out with WiFi first, but in case I don't get the results I'm looking for, can you expand a little more on USB?
Will it only be hard for me on the developing side, or will the consumer have to also put in extra effort to get it to work over USB (installing other apps, rooting, etc.)? If I was to develop the app around USB, I would want it to be easy to set up if I did all the coding right.
From my continued research, I have found a few articles in the following links that might be leading me in the right direction:
http://developer.android.com/guide/topics/usb/accessory.html
http://developer.android.com/reference/android/hardware/usb/UsbManager.html
http://stackoverflow.com/questions/5848876/java-sockets-transmission-in-real-time
http://stackoverflow.com/questions/4762620/sending-simple-commands-from-android-through-usb
I don't have much expertise in the area, i just took a quick google shot at it and it showed from some forum posts and questions, that doing it through usb is not the easiest way.
Hy everyone, this is my first post. Im a recent owner of a TF300T, and I work in Game Development. I use Visual Studio 2012, Blender, GIMP, and DirectX. I wanted to know what apps could I get, what do you guys recomend. I dont know exactly whats on the market today. For example, a remote debugger would be great, to give an example.
Thanks in advance.
pachesantiago said:
Hy everyone, this is my first post. Im a recent owner of a TF300T, and I work in Game Development. I use Visual Studio 2012, Blender, GIMP, and DirectX. I wanted to know what apps could I get, what do you guys recomend. I dont know exactly whats on the market today. For example, a remote debugger would be great, to give an example.
Thanks in advance.
Click to expand...
Click to collapse
Biggest debug used is Logcat. Most of the time set up along with eclipse IDE for Java.
kd8bny said:
Biggest debug used is Logcat. Most of the time set up along with eclipse IDE for Java.
Click to expand...
Click to collapse
Thanks for that, gonna check it out, but i think theres a small confussion. I don't develop for android, I develop for windows.
PS: I code in C++ 11 and DirectX 11
pachesantiago said:
Thanks for that, gonna check it out, but i think theres a small confussion. I don't develop for android, I develop for windows.
PS: I code in C++ 11 and DirectX 11
Click to expand...
Click to collapse
Because you said you worked as a developer, I guessed you wanted apps that could aid you with that.
So here are a few that I could think of:
Air Display: use your tablet as a second monitor. Maybe you can display log info in that screen. I haven't tested this one, but heard it works well.
https://play.google.com/store/apps/details?id=com.avatron.airdisplay
Team Viewer: allows you to access your computer from your tablet, so it could be useful in a situation you only have your tablet and want to get things done.
https://play.google.com/store/apps/details?id=com.teamviewer.teamviewer.market.mobile
Space Draw: it's a 3D modeling program for Android. Never used it myself, so I am not sure how it works.
https://play.google.com/store/apps/details?id=com.scalisoft.spacedraw
SketchBook Pro for Tablets: tool for drawing on the go. I like this application a lot.
https://play.google.com/store/apps/details?id=com.adsk.sketchbookhd
If you want recommendations of apps for other applications, you can try to search the web for lists of must have apps.
Here is a good example:
http://arstechnica.com/gadgets/2012/12/must-have-apps-for-your-new-android-tablet/