stephanenicolas / robospice

Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.
Apache License 2.0
2.95k stars 545 forks source link

Rank NOOB wants to use RoboSpice and needs help #17

Closed ramjet69 closed 11 years ago

ramjet69 commented 11 years ago

Hello,

I am a long time C# developer and trying to get my feet wet with android and java. I have written a workflow web service and published it. Calling the service from .NET architectures is not a problem. I would like to call it from my android app (my first app aside from the typical hello world).

I am developing to android 2.3.3 using Eclipse. Looking at the 30 second image I understand the concept of RoboSpice and the failings of other technologies. But I am swimming in information on where to start. I figured getting the jar's I needed would be a good start then looking at some examples....but I got lost in the downloads as to which jars are needed.

So that would be my first request. How do I determine what jar's I need to communicate with a WCF web service that is returning a string??

My guess to this point is to use the 1.3.1 spring android jar but I know there are others I will need.

OK so now I am reading that I need to run RoboSpice from within an Android Service???

stephanenicolas commented 11 years ago

Hi ramjet,

would you mind to test our new procedure for non maven users : https://github.com/octo-online/robospice/wiki/Using-RoboSpice-without-Maven-2

For it to work, as we didn't release the examples yet, you will need to clone our github repo for both RoboSpice and samples.

If you find this document as is, is it understandable ? Does it bring any new question ?

Thanks for the follow up since Stack Over Flow. Stéphane

2013/1/1 ramjet69 notifications@github.com

Hello,

I am a long time C# developer and trying to get my feet wet with android and java. I have written a workflow web service and published it. Calling the service from .NET architectures is not a problem. I would like to call it from my android app (my first app aside from the typical hello world).

I am developing to android 2.3.3 using Eclipse. Looking at the 30 second image I understand the concept of RoboSpice and the failings of other technologies. But I am swimming in information on where to start. I figured getting the jar's I needed would be a good start then looking at some examples....but I got lost in the downloads as to which jars are needed.

So that would be my first request. How do I determine what jar's I need to communicate with a WCF web service that is returning a string??

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17.

Stéphane NICOLAS, OCTO Technology Développeur & Consultant Android / Java .......................................................... 50, Avenue des Champs-Elysées 75008 Paris +33 (0)6.26.32.34.09 www.octo.com - blog.octo.com www.usievents.com ...........................................................

stephanenicolas commented 11 years ago

You didn't answer yet so maybe this is still confusing. And don't worry about the service, RoboSpice does it for you.

Here is what you have to do :

That's the most simple way to use RoboSpice if you don't know anything about maven and just want to use eclipse and the adt plugin.

kontinuity commented 11 years ago

Is it possible to provide a download bundle for non Maven users? I've used Maven and Ant in my past projects hence it was trivial but I can understand the conundrum of others.

A bundle with dependencies should do the trick. I'll be more than glad to volunteer to build such a bundle and deploy on GitHub.

stephanenicolas commented 11 years ago

Hi Arif,

if you look at the repo, we now have a RoboSpice-samples folder containing samples for RoboSpice for all modules. The simples can easily be converted to ant projects (see the wiki herehttps://github.com/octo-online/robospice/wiki/Using-RoboSpice-without-Maven-2 ).

So, with next release, it's gonna be very easy for non maven users to get an up and running sample with both core and extensions of RoboSpice. The sample will have a ant/ADT configuration that works and that can be copied to developer's projects.

Would that be enough ? Can we make it even simpler ? We believe it's an important issue too.

Stéphane

2013/1/8 Arif Amirani notifications@github.com

Is it possible to provide a download bundle for non Maven users? I've used Maven and Ant in my past projects hence it was trivial but I can understand the conundrum of others.

A bundle with dependencies should do the trick. I'll be more than glad to volunteer to build such a bundle and deploy on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17#issuecomment-11991915.

Stéphane NICOLAS, OCTO Technology Développeur & Consultant Android / Java .......................................................... 50, Avenue des Champs-Elysées 75008 Paris +33 (0)6.26.32.34.09 www.octo.com - blog.octo.com www.usievents.com ...........................................................

kontinuity commented 11 years ago

I would simply look at the ease of integrating RS within a new setup. RoboGuice for example provides direct binaries albeit from Maven repositories but it helps.

http://code.google.com/p/roboguice/wiki/InstallationNonMaven

I would vote for ready downloadable binaries.

rciovati commented 11 years ago

You are right @kontinuity. We were providing binaries too in the Github download section but that section has been removed from Github and we should link the jar in another page.

stephanenicolas commented 11 years ago

I don't think there is any standard procedure to store jars on GitHub right now and I doubt there will be as storing binaries seemed to be the problem. Nevertheless, woud you like to have a try at the document I gave you and see if that would be enough for non maven users ?

Stéphane

2013/1/9 Riccardo Ciovati notifications@github.com

You are right @kontinuity https://github.com/kontinuity. We were providing binaries too in the Github download section but that section has been removed from Github and we should link the jar in another page.

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17#issuecomment-12056618.

Stéphane NICOLAS, OCTO Technology Développeur & Consultant Android / Java .......................................................... 50, Avenue des Champs-Elysées 75008 Paris +33 (0)6.26.32.34.09 www.octo.com - blog.octo.com www.usievents.com ...........................................................

kontinuity commented 11 years ago

Not trying to nitpick here but the intent is to not have users deal with Maven if they are either not used to it or just don't want and the steps in the document need Maven. Kind of defeating the purpose.

#2. use maven to copy dependencies to the libs-for-ant folder
mvn clean install -Pant
stephanenicolas commented 11 years ago

Ok, I am sensitive to your argument but the only to type damn sample command. Is that really too much ?

We could also have the libraries include in the libs-extra folder for them, that's also possible but I got the feeling that it's gonna be error-prone to maintain the jars before every release of the samples.

As a programmer, I don't use bitbucket or mercurial but I got them installed just to checkout others' repositories. But you might be right for a beginner, that could be discouraging.

Stéphane

2013/1/9 Arif Amirani notifications@github.com

Not trying to nitpick here but the intent is to not have users deal with Maven if they are either not used to it or just don't want and the steps in the document need Maven. Kind of defeating the purpose.

2. use maven to copy dependencies to the libs-for-ant folder

mvn clean install -Pant

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17#issuecomment-12061128.

Stéphane NICOLAS, OCTO Technology Développeur & Consultant Android / Java .......................................................... 50, Avenue des Champs-Elysées 75008 Paris +33 (0)6.26.32.34.09 www.octo.com - blog.octo.com www.usievents.com ...........................................................

kontinuity commented 11 years ago
Ok, I am sensitive to your argument but the only to type damn sample
command. Is that really too much ?

Isn't Maven not available on every machine by default? This means even to type those simple commands the user has to install Maven. Tall order given the title of the issue is "Rank NOOB wants to use RoboSpice and needs help" :)

ghost commented 11 years ago

Just to put in my 10 cents. I agree that having to use Maven is a big deterrent from using Robospice for people that aren't familiar with it. If there were libraries that could be included into an existing Android project by simply dropping them into the libs folder that would go a very long way in simplifying the process of getting to know Robospice. I believe it took me 2 days to fumble through the dependencies to get Robospice up and running.

On 09.01.2013, at 20:29, Arif Amirani notifications@github.com wrote:

Ok, I am sensitive to your argument but the only to type damn sample command. Is that really too much ? Isn't Maven not available on every machine by default? This means even to type those simple commands the user has to install Maven. Tall order given the title of the issue is "Rank NOOB wants to use RoboSpice and needs help" :)

— Reply to this email directly or view it on GitHub.

stephanenicolas commented 11 years ago

I agree, I think that's one of the points that makes it difficult for RoboSpice to become more widespread, that and the lack of simple samples.

But we worked hard on those points and want non-maven users to get it simple.

So, you suggest we just put the jars in the samples and that's it ?

(I mean they will be in a libs-extra folder, not libs so that they don't ***ck up eclipse configurations for maven users - that would make dex fail as it would include jars twice-).

Really, it's nice to take time to give us feedback and guidance on that point.

Stéphane

2013/1/9 Moritz Pfeiffer notifications@github.com

Just to put in my 10 cents. I agree that having to use Maven is a big deterrent from using Robospice for people that aren't familiar with it. If there were libraries that could be included into an existing Android project by simply dropping them into the libs folder that would go a very long way in simplifying the process of getting to know Robospice. I believe it took me 2 days to fumble through the dependencies to get Robospice up and running.

On 09.01.2013, at 20:29, Arif Amirani notifications@github.com wrote:

Ok, I am sensitive to your argument but the only to type damn sample command. Is that really too much ? Isn't Maven not available on every machine by default? This means even to type those simple commands the user has to install Maven. Tall order given the title of the issue is "Rank NOOB wants to use RoboSpice and needs help" :)

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17#issuecomment-12063608.

Stéphane NICOLAS, OCTO Technology Développeur & Consultant Android / Java .......................................................... 50, Avenue des Champs-Elysées 75008 Paris +33 (0)6.26.32.34.09 www.octo.com - blog.octo.com www.usievents.com ...........................................................

rciovati commented 11 years ago

Can't we just creare a page with direct link to the jars (either robospice and dependencies)? I think we should also provide a little description about what extensions do.

stephanenicolas commented 11 years ago

I agree, each extension should have its wiki page. This is added to milestone 1.4.0 (see issue 26) The whole point of this issue was a better documentation of RoboSpice setup for non maven users, this is integrated to milestone 1.4.0.

If we could find a way to expose the jars from within github or point to them by a set of links that would be interesting too (this is not part of release 1.4.0).

stephanenicolas commented 11 years ago

They are only available in the 1.4.0 / current state of repo.

We are rushing to release 1.4.0 asap. Meanwhile, you can use a simpler SpringAndroidService. JacksonSpringAndroidService is just an helper to get a fully equiped SpringAndroidService with cache manager using a jackson persister.

Stéphane

2013/1/14 Afzal Najam notifications@github.com

Am I missing something? JacksonSpringAndroidSpiceService class is not actually in the robospice jar files? The robospice spring android sample can't compile.

(I'm posting in this thread because I'm also a noob to maven)

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17#issuecomment-12202753.

Stéphane NICOLAS, OCTO Technology Développeur & Consultant Android / Java .......................................................... 50, Avenue des Champs-Elysées 75008 Paris +33 (0)6.26.32.34.09 www.octo.com - blog.octo.com www.usievents.com ...........................................................

jeffdgr8 commented 11 years ago

I have installed Maven and tried following the directions here and get errors when trying to build with Maven:

$ mvn clean install -Pant
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Robospice - Sample Core 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.octo.android.robospice:robospice:jar:1.3.2-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.530s
[INFO] Finished at: Fri Jan 18 03:34:27 MST 2013
[INFO] Final Memory: 7M/243M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project robospice-sample-core: Could not resolve dependencies for project com.octo.android.robospice:robospice-sample-core:apk:1.0.0-SNAPSHOT: Could not find artifact com.octo.android.robospice:robospice:jar:1.3.2-SNAPSHOT -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
rciovati commented 11 years ago

Before building the sample you should build the entire library :-)

git clone git@github.com:octo-online/robospice.git cd robospice mvn clean install

2013/1/18 Jeff Lockhart notifications@github.com

I have installed Maven and tried following the directions herehttps://github.com/octo-online/robospice/wiki/Using-RoboSpice-without-Maven-2and get errors when trying to build with Maven:

$ mvn clean install -Pant [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Robospice - Sample Core 1.0.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [WARNING] The POM for com.octo.android.robospice:robospice:jar:1.3.2-SNAPSHOT is missing, no dependency information available [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.530s [INFO] Finished at: Fri Jan 18 03:34:27 MST 2013 [INFO] Final Memory: 7M/243M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project robospice-sample-core: Could not resolve dependencies for project com.octo.android.robospice:robospice-sample-core:apk:1.0.0-SNAPSHOT: Could not find artifact com.octo.android.robospice:robospice:jar:1.3.2-SNAPSHOT -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

— Reply to this email directly or view it on GitHubhttps://github.com/octo-online/robospice/issues/17#issuecomment-12416851.

Riccardo Ciovati

jeffdgr8 commented 11 years ago

Ah, important to note. Thanks. I'll also note I needed to make sure I had an environment variable ANDROID_HOME set to the Android SDK path as well as a device attached for the tests to run during compile (although they never seemed to actually run anything, always a 0 next to run). There were also a number of [WARNING] lines outputted. But all is working. Now to integrate in my own code. Thanks!

AfzalivE commented 11 years ago

I think if you run mvn clean package, it won't need a device.

stephanenicolas commented 11 years ago

If you want to build the library, you only need a device to run the tests of RoboSpice (over 140 tests..that can be long). Then you can use this command line to skip them :

mvn clean install -DskipTests=true

Is it possible to close this issue ?

As of release 1.4.0 (to be released next week), RoboSpice has improved its documentation in a couple of ways to help new RoboSpice users :

Is there any thing we can do to make it even easier to use RoboSpice ?