crazy request - C language compiler in browser? - Android Software/Hacking General [Developers Only]

If this doesn't exist, just tell me but I'd figure this was the best place to ask...
I'm looking for something like a C compiler for Android (please note I mean a C Compiler running ON android, not to compile FOR android). If there's a website that will run on android and will run C code like for learning purposes that would be great too.
Basically I'm learning C by reading on the train, and would love to be able to try my examples rather than just reading them. Appreciate any advice you might have. Worst case I just buy a netbook.

http://www.dignus.com/dcxx/compileit.html
I found this but it only outputs assembly language, which doesn't really tell me if my code is doing what I was hoping for. anything else along these lines?
Thanks again

There's a few websites that let you paste code and compile and run it. One such site is www.codepad.org. They're running in some virtual machine type environment for security purposes.
Another option would be to use something like ConnectBot to ssh to a computer somewhere and run gcc there.

On my Palm I fiddled a bit with OnBoard C. Would be great to get that one ported to Android.
http://onboardc.sourceforge.net/
Or an onboard version of Java for that matter.

[email protected] said:
There's a few websites that let you paste code and compile and run it. One such site is www.codepad.org. They're running in some virtual machine type environment for security purposes.
Another option would be to use something like ConnectBot to ssh to a computer somewhere and run gcc there.
Click to expand...
Click to collapse
Yeah I've considered the remote option, I can always do that. I guess I'm not really going to get a good experience no matter what when I'm on a tiny phone screen without a keyboard, right?
I really do appreciate that site though, that will be nice for playing around at work with.
christine600 said:
On my Palm I fiddled a bit with OnBoard C. Would be great to get that one ported to Android.
http://onboardc.sourceforge.net/
Or an onboard version of Java for that matter.
Click to expand...
Click to collapse
That looks sweet

Hi !
As far as I know, the Palm Pascal Compiler designer (PP and also PIAF and BIRD used by some onboardC users) is coding an onboard compiler for Android. It generates ARM executable code directly.
At this time, the application is not fully functionnal, but it nicely compiles some pieces of ISO Pascal code. It will also include an assembler (the disassembler is working well).
Once functionnal, I think it would be easy to create a C compiler (as it has been done with IZBasic)

Probably a bit late but for any others looking for something similar
berardi said:
If this doesn't exist, just tell me but I'd figure this was the best place to ask...
I'm looking for something like a C compiler for Android (please note I mean a C Compiler running ON android, not to compile FOR android). If there's a website that will run on android and will run C code like for learning purposes that would be great too.
Basically I'm learning C by reading on the train, and would love to be able to try my examples rather than just reading them. Appreciate any advice you might have. Worst case I just buy a netbook.
Click to expand...
Click to collapse
I just found this, it may not be 100% free but give it a look eitherway
https://compilr.com

Related

programming on g tab

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.

What language would i have to learn for Android?

If i wanted to help dev for this xda scene and android in general, what language (programming) should i used first?
I know android is in C and java, but just wondering, i really wanna get started
I'm very interested in some basic knowledge as well. I've done some very basic C++ stuff years back, but know nothing of linux. I'd love to star this as a hobby and if nothing more be able to try to read the code and understand what others are making. Anyone have any good links to some starter guides?
I believe it Java
Beastclaw said:
I believe it Java
Click to expand...
Click to collapse
for linux? arent kernels and stuff based in c?
Depends on what you're doing, apps and such are done in Java and XML, but the framework for android is done in C/C++ (best I can tell, I've never made mods to a rom or anything, maybe when I have more time in a couple of weeks).
For C, I like King's book (and it seems to be a popular one):
http://knking.com/books/c/
The first edition can frequently be found for <$10 if you look enough, and needless to say that the basic concepts of the C language haven't changed enough (at all?) to warrant paying SO MUCH MORE for the 2nd edition.
For Java, well I have a couple of books but neither are great. Somebody else probably knows of a book or site. Once you pick up basic Java, look at Google's guides to programming for Android, it contains the little details you'll need to make the code do what you want in the phone.
jasoninator said:
Depends on what you're doing, apps and such are done in Java and XML, but the framework for android is done in C/C++ (best I can tell, I've never made mods to a rom or anything, maybe when I have more time in a couple of weeks).
For C, I like King's book (and it seems to be a popular one):
http://knking.com/books/c/
The first edition can frequently be found for <$10 if you look enough, and needless to say that the basic concepts of the C language haven't changed enough (at all?) to warrant paying SO MUCH MORE for the 2nd edition.
For Java, well I have a couple of books but neither are great. Somebody else probably knows of a book or site. Once you pick up basic Java, look at Google's guides to programming for Android, it contains the little details you'll need to make the code do what you want in the phone.
Click to expand...
Click to collapse
Thanks a lot for the reply! I will look into some book whenever I can, for now, its Google
Sent from my ADR6400L using XDA Premium App
I just started working on programming apps for the droid a few nights ago. I started out with:
http://www.makeuseof.com/tag/write-google-android-application/
After that I went to the Android Tutorials located at:
http://developer.android.com/resources/browser.html?tag=tutorial
Yesterday I purchased Beginning Android Application Development. This has been a good book so far, only on chapter 2 but I've learned a few things in just the HelloWorld app that I didn't learn with the Google Tutorials.
Today I ordered Java Programming 24 Hour Trainer. I am having a hard time finding a good starting Java book but this looks to be the best I could find. I haven't had any hands on with this book yet so I can't give ya my thoughts on this one yet.
Hopefully this helps ya out a little. Good luck!
If you're looking to do native applications that anyone can run, Java with the android SDK is what you need to learn. However, technically you can program in about any language on android, but it generally requires extra installing (which many would consider bloat). Easy to install languages are ones like python http://pygame.renpy.org/. http://news.ycombinator.com/item?id=2476649 and http://code.google.com/p/android-scripting/wiki/SharingScripts. Since android is linux, you can put pretty much anything you want on there as long as you can get past compiling things with the ARM toolchain. You could even stick a small web server on it if you really wanted like nginx or lighttpd.
You could do quite a bit in a web "application" as well if you have hosting somewhere. The native browser and ones like opera and firefox can render just about any sort of ajax initiated effect. The advantage to doing this would allowing what you do to be OS neutral, so it could run on any device, not just android. Obviously, the drawback would be performance.
There is another project besides the python one above for additional languages here http://code.google.com/p/android-scripting/. This supports python, perl, beanshell, bash and lua (as well as contains interpreters for testing code in all of them).
If you're looking to do development for those of us that have rooted and such, C would be the better option (assuming you're interested in kernel and android source code development).
The community (free) version of Intellij IDEA IDE has pretty good android development support (as well is general java support) and testing (junit, phpunit, etc). They're running a 40% off sale currently as well to buy the full IDE (which supports many other programming languages like php, python, ruby, javascript, etc).
Well worth the money imho; I used netbeans, eclipse (which also supports android development through a plugin) and several other IDEs before it and would never go back. They actually care and reply to bug reports you file as well. I've submitted 2 in the past few months and both have either been partially fixed or will be fixed in the next version. They also give roadmaps of what will be in upcoming versions and are very open about software issues and public relations. You'd think such things would be normal for professional apps, but you would be shocked.
http://www.jetbrains.com/idea/
If you're looking for decent books, usually the O'Reilly ones are good (the books with the animals on the front) http://oreilly.com/store/. O'reilly has at least one book that's recent on Android development. Books published by Apress tend to be pretty good as well.
the android kernel is in C, so you would need to know C++ to play aroudn with ROMs and kernels. to just write an app, you only need to know java.
i just wrote my first app last year, and even made my first kernel to go along with it. granted the kernel i only changed one file, a couple hunder lines of new code. and the app was a great starter project for anyone in this position, had a few different semi easy activities, a 4 tabbed app, to show and learn how it all works together.
great experience, just hit me up if you have specific questions.

[Q] How to become an Android developer?

I've seen all the work you guys here at XDA developer do (and it's all really great).
And i'd really like to be able to develop stuff for android devices like you guys!
I know how to use Eclipse to develop apps and i've made a few apps already (no games or any real good stuff because i'm still learning right now).
But I want to be able to develop ROMs,kernels,...etc.U know!!
I've signed up for a java coarse at "New Horizons" training center and i'm gonna start in about a month.
But that won't teach me everything,it won't even teach me everything about application-creating
So,here I am,asking you guys (android developers):
How can I learn the stuff that you've learned?
What websites should I check out?
Where and how can I learn how to develop complete apps,games,Roms and kernels for any android smartphone?
In other words;Tell me how you learned all this stuff,and how can I learn it too?
Thank U!!!
Custom ROMS are not created from scratch.
Existing ROMs from the manufactors are taken appart, dissected, modified and packed again to be uploaded here.
The best way to start on that is just by taking apart existing ROMs and looking through the files.
Modifiy some, repack them and check if it still works.
Repeat said process .
If you want to go deeper read up about decompiling & recompiling apk files.
Modifying bak smali code.
For creating your own kernels, just use google, so much info about that. Its not an android only topic, but a linux topic and the internet has plenty of info on that.
Good luck on your journy .
The first thing you have to do is to understand the system. This means you have to understand Linux, the kernel, the datasystem(because Android is obvisiously based on Linux).
You have to be able to understand written code or program/code yourself.
The best way to code for android is to learn java.
Read this here: http://developer.android.com/guide/index.html
Ok,thanks for the information.
But let me tell you what I already know and understand:
Android is Linux,I know what linux is,I know everything about it and i'm already using GNU Fedora and Ubuntu (I have spent countless hours reading the "about Ubuntu" and "about GNU"),In Android or Linux everything is a file and everything in the system or the apps has a file .
Now I have some questions that I need you to answer first before adding anything else:
1-Is learning Java enough?don't I need to learn any other programing languages?And if I do,then what languages will I need to learn?
2-how can I learn to build or modify an android kernel (linux)?give me a good site or something?
3-how can i learn to decompile and recompile apks and roms?
4-What will I be needing to learn in order to buid a kernel?
5-What programing langusge is the android source code written in?I think it's java,am I right?
I hope you answer these questions before adding anymore information.
Thanks in advance,and I hope it's not any trouble)
1-No, you need to compile and modify kernels etc. therefore you need to program in C(I guess)
2- Well, buy books about Linux and Kernels etc. Its quite difficult to teach it. You gotta learn yourself.
3- Decompiling and recompiling is not an option. Its like stealing - Dont modify apks without permission. If you got permission then you modify apks with the SDK(Java).
Roms are often compiled in C(I think)
4 - Books and the will to learn.
5. Android Source Code is C(like Linux), Android Apps are Java.
Quinity said:
1-No, you need to compile and modify kernels etc. therefore you need to program in C#(I guess)
2- Well, buy books about Linux and Kernels etc. Its quite difficult to teach it. You gotta learn yourself.
3- Decompiling and recompiling is not an option. Its like stealing - Dont modify apks without permission. If you got permission then you modify apks with the SDK(Java).
Roms are often compiled in C#(I think)
4 - Books and the will to learn.
5. Android Source Code is C#(like Linux), Android Apps are Java.
Click to expand...
Click to collapse
Just making sure you mean c, not c# right??
Try visiting the android website. There is a tutorial on how to get started with android development.
There is a fee that you would need to pay per year in order for your application to appear on the android market where you will be able to sell your product.
Java will be advantageous when it comes to android programming and if you know J2ME that will be a bonus as well.
ps:Learn from examples, buy a good book for beginners: “Hello, Android” and “Beginning Android“.
(i’m not a developer)
Nilurun said:
There is a fee that you would need to pay per year in order for your application to appear on the android market where you will be able to sell your product.
Click to expand...
Click to collapse
I believe it is a one time fee when you sign up, not a yearly fee.
Ok,I'm already using the Android developer website,but the whole thing takes time to read all the guidelines and do tutorials and packages.
So all i'm asking here:
What programming languages do I need to learn in order to be able to understand the native android source code and develop everything starting from kernel down to apps,I already know that I need to learn Java for apps and thanks to "Quinity" I know I need to learn C to understand the native source code.
I can easily learn C at any professional training center.The questions now are:
1-how and where can I learn to edit the Linux kernel and decompile and recompile ROM and APK files?
2-why do I even need to learn Java ME (formerly J2ME)?
I understand that Java ME is the java environment originally running on small devices with limited processors and performance such as mobile phones and smart phones,but what is the use of it when it comes to the app development,or any Android development at all?
And thanks for all the replies.
One more thing,I have to make sure what the android source code written in.And Quick answers;PLEASE.
Is it C,or C#?
C
Check out the wikipedia article, which states at the beginning:
The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore[21] media framework, SQLite relational database management system, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc.
Dark3n said:
C
Check out the wikipedia article, which states at the beginning:
The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore[21] media framework, SQLite relational database management system, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc.
Click to expand...
Click to collapse
Thanks,the article really did help a lot.
So,now I need to learn Java SE (without question),but what about Java EE and Java ME,will they be useful in the app development process,will I need them?
And what If I can't learn C (it's extremely hard to find a training center that teaches C these days),will learning C++ or C# do me any good?
I know that the source code is written in C,but is it really a big difference between the three,If I learn C# or C++ will I still be able to do everything I need to do and fully understand the code?
note that i'm on a tight schedule for now and I need to learn only the stuff I can't do without.
speeed_demon47 said:
Thanks,the article really did help a lot.
So,now I need to learn Java SE (without question),but what about Java EE and Java ME,will they be useful in the app development process,will I need them?
And what If I can't learn C (it's extremely hard to find a training center that teaches C these days),will learning C++ or C# do me any good?
I know that the source code is written in C,but is it really a big difference between the three,If I learn C# or C++ will I still be able to do everything I need to do and fully understand the code?
note that i'm on a tight schedule for now and I need to learn only the stuff I can't do without.
Click to expand...
Click to collapse
I think you are missunderstanding something here.
You should start by just learning java, the different EE ME SE etc. are still java.
The difference is that those are sets of java platforms. They bring, as does the android platform, prebuild libaries along, these contain functions (i.e. print that, create datastructure X) so you don't have to write every tiny bit of code.
Forget about those.
You want to use java on the android platform, which still uses java, but brings along its own libaries with prebuild code you can use ( See http://developer.android.com/reference/packages.html ).
So just learn java, if you want to work with android you can learn java on the android platform, this way you will already be familiar with the libaries provided by android.
I would say C# is more similar to java and C++ is more similar to C.
I don't understand what you mean with "do everything i need to do".
What do you need to do?
"Understand code".
Understanding code does require more than knowing what each line does, you will have to see the bigger picture ,not just few lines of code, to understand what is does. Depending on how the code is written (tidy or confusing), is the code commented? It might take ages to understand it.
Programming is sometimes a bit like art . Code can be beautiful or horrible
You don't have to do everything in a training center either.
The internet, time and interest is enough. There are so many tutorials and pages available...
You could have also found most of the answers by just using google...
Wikipedia article about java holds the information about the differences between EE/ME/SE etc...
Searching for terms like "difference C C sharp" etc. holds the answer to that question...
So maybe a training center is better for you to learn those programming languages, as "google skills" will certainly be required to teach you those things yourself.
What tight schedule are you on?
Dark3n said:
I think you are missunderstanding something here.
You should start by just learning java, the different EE ME SE etc. are still java.
The difference is that those are sets of java platforms. They bring, as does the android platform, prebuild libaries along, these contain functions (i.e. print that, create datastructure X) so you don't have to write every tiny bit of code.
Forget about those.
You want to use java on the android platform, which still uses java, but brings along its own libaries with prebuild code you can use ( See http://developer.android.com/reference/packages.html ).
So just learn java, if you want to work with android you can learn java on the android platform, this way you will already be familiar with the libaries provided by android.
I would say C# is more similar to java and C++ is more similar to C.
I don't understand what you mean with "do everything i need to do".
What do you need to do?
"Understand code".
Understanding code does require more than knowing what each line does, you will have to see the bigger picture ,not just few lines of code, to understand what is does. Depending on how the code is written (tidy or confusing), is the code commented? It might take ages to understand it.
Programming is sometimes a bit like art . Code can be beautiful or horrible
You don't have to do everything in a training center either.
The internet, time and interest is enough. There are so many tutorials and pages available...
You could have also found most of the answers by just using google...
Wikipedia article about java holds the information about the differences between EE/ME/SE etc...
Searching for terms like "difference C C sharp" etc. holds the answer to that question...
So maybe a training center is better for you to learn those programming languages, as "google skills" will certainly be required to teach you those things yourself.
What tight schedule are you on?
Click to expand...
Click to collapse
Yes,I already know all about java,I read the articles on wikipedia,but why would I need to learn java enterprise? Isn't it mostly used around internet applications and servers? Can't I just use the APIs if i'm going to build an app that needs internet or server connectivity?
And why would I need to learn java Micro? Doesn't android use dalvik virtual machine to run apps? I mean,java Micro is mostly used to create feature phone apps,why would I need it with android?
There's something I don't understand though,on wikipedia the article about android says this:"Applications are usually developed in the Java language using the Android Software Development Kit, but other development tools are available, including a Native Development Kit for applications or extensions in C or C++"
So,the question is;what is the difference between apps developed in java and apps developed in C or C++?
The problem about C# is that I don't know anything about it;can't find any articles on wikipedia and other sites really don't help!!!
I meant by "understanding the code",having the ability to understand the command lines,what they do,what each line is responsible for and having the ability to edit or adjust something,.....etc.
And for the tight schedule;I need to learn everything about android within 6 months (I don't need to learn C as much,but it'd be a bonus),and that's why I go to training centers,faster and more efficient than self learning.
What did u mean by "google skills"?
And what did u mean by "learn java on the android platform"?
Thanks for the help and providing quick answers.
speeed_demon47 said:
Yes,I already know all about java,I read the articles on wikipedia,but why would I need to learn java enterprise? Isn't it mostly used around internet applications and servers? Can't I just use the APIs if i'm going to build an app that needs internet or server connectivity?
And why would I need to learn java Micro? Doesn't android use dalvik virtual machine to run apps? I mean,java Micro is mostly used to create feature phone apps,why would I need it with android?
There's something I don't understand though,on wikipedia the article about android says this:"Applications are usually developed in the Java language using the Android Software Development Kit, but other development tools are available, including a Native Development Kit for applications or extensions in C or C++"
So,the question is;what is the difference between apps developed in java and apps developed in C or C++?
The problem about C# is that I don't know anything about it;can't find any articles on wikipedia and other sites really don't help!!!
I meant by "understanding the code",having the ability to understand the command lines,what they do,what each line is responsible for and having the ability to edit or adjust something,.....etc.
And for the tight schedule;I need to learn everything about android within 6 months (I don't need to learn C as much,but it'd be a bonus),and that's why I go to training centers,faster and more efficient than self learning.
What did u mean by "google skills"?
And what did u mean by "learn java on the android platform"?
Thanks for the help and providing quick answers.
Click to expand...
Click to collapse
You miss understood again...
I will try to be clearer:
I meant by google skills, that you would find most answer yourself if you just use a search engine with the right terms.
You DONT need to learn Java ME/SE etc.
You can and will only use the APIs provided by the android toolkit.
So if you already know java, google "android developement tutorial" and start build some apps to get experience.
Forget C#, you don't need that, AT ALL for android.
Android apps, only need java.
If you want to understand the deeper layers of android, those are written in C.
But "int i=0;" is a variable i with value 0 in java and in C. So if you just want to read some of the code of the deeper layers and change small bits, you don't need to take extra courses in C.
So the conclusion is, you need to understand the android architecture and be able to write apps and have experience...
I would recommend to just think of some thing and write an app for that, learning by doing. Occasionally you can read some theory about the underlying concept of what you are doing.
An example would be to write an app that sorts values the user enters.
You would use already premade sort and array functions from the android api
Something like
Code:
Array x;
x.addAll(y);
x.sort(Descending);
To get deeper knowledge you could then browse the android sourcecode and see how x.sort actually sorts the array.
I think Android application is writen in Java ?
But maybe it is not that your question?
Dark3n said:
You miss understood again...
I will try to be clearer:
I meant by google skills, that you would find most answer yourself if you just use a search engine with the right terms.
You DONT need to learn Java ME/SE etc.
You can and will only use the APIs provided by the android toolkit.
So if you already know java, google "android developement tutorial" and start build some apps to get experience.
Forget C#, you don't need that, AT ALL for android.
Android apps, only need java.
If you want to understand the deeper layers of android, those are written in C.
But "int i=0;" is a variable i with value 0 in java and in C. So if you just want to read some of the code of the deeper layers and change small bits, you don't need to take extra courses in C.
So the conclusion is, you need to understand the android architecture and be able to write apps and have experience...
I would recommend to just think of some thing and write an app for that, learning by doing. Occasionally you can read some theory about the underlying concept of what you are doing.
An example would be to write an app that sorts values the user enters.
You would use already premade sort and array functions from the android api
Something like
Code:
Array x;
x.addAll(y);
x.sort(Descending);
To get deeper knowledge you could then browse the android sourcecode and see how x.sort actually sorts the array.
Click to expand...
Click to collapse
Ok,good,thanks.
So,I don't need EE or ME,right? But if I learn them later on (maybe next year or so),would they come in handy or would they be useless?
I've been developing in Eclipse and SDK with ADT plugin,it's very helpful and I've completed most of the tutorials so far (hello world,tom cat,......etc) and started building something of my own.I've been also using Titanium app accelerator,it's really good too (still mainly eclipse but the tutorials and help are better);but so far all i've done is just copy the code and that's all,I didn't write a single line of code (maybe a few lines,but that's it).
I also started a course a week ago (learning Linux kernel),so far so good,And I found a good site to teach me image files.
But a little hung up on the programming languages section,so,conclusion;I need to learn Java Standard,would enterprise or micro be any good?
And about the native source code,will java be enough? won't I need to learn C?
Thanks for the quick responses,it's a lot of help.
HuTcHx said:
I think Android application is writen in Java ?
But maybe it is not that your question?
Click to expand...
Click to collapse
I already know that,but that's not what i'm asking about.
The enterprise edition and what not just offer different sets of libary for other platforms, aslong as long as you program for android devices you will have little use for knowledge of the other editions.
Think of it as being a specialised technican for cars. They all have engines and 4 tires and a steering wheel and all technicans can work with that, but will you work in a VW repair shop or in the Mercedes repair shop?
In this case you will work on the android platform, as long as you don't want to switch to server programming in java (Java EE) or embedded systems (Java ME), there is no need to get familiar with that.
Java SE means standart edition and basicly already included in the android libaries.
If you don't want to keep copy pasting code, try something different that has not been done in a tutorial, or modifiy a tutorial to do something else.
But there is nothing wrong with copying code, if you have written a good piece of code there is no harm in reusing it elsewhere.
The android sourcecode is a mix of java and C, the lower layers are written in C the higher ones in java.
I don't know what you want to achieve with your knowledge? To write apps you don't need to learn C.
It is difficult to master all fields, easier if you choose one.
Dark3n said:
The enterprise edition and what not just offer different sets of libary for other platforms, aslong as long as you program for android devices you will have little use for knowledge of the other editions.
Think of it as being a specialised technican for cars. They all have engines and 4 tires and a steering wheel and all technicans can work with that, but will you work in a VW repair shop or in the Mercedes repair shop?
In this case you will work on the android platform, as long as you don't want to switch to server programming in java (Java EE) or embedded systems (Java ME), there is no need to get familiar with that.
Java SE means standart edition and basicly already included in the android libaries.
If you don't want to keep copy pasting code, try something different that has not been done in a tutorial, or modifiy a tutorial to do something else.
But there is nothing wrong with copying code, if you have written a good piece of code there is no harm in reusing it elsewhere.
The android sourcecode is a mix of java and C, the lower layers are written in C the higher ones in java.
I don't know what you want to achieve with your knowledge? To write apps you don't need to learn C.
It is difficult to master all fields, easier if you choose one.
Click to expand...
Click to collapse
So,learning java enterprise isn't really important;but is it important if I want to excel in the development process?
But what's the use of learning Micro edition AT ALL when it comes to android development???
Isn't it used to develop apps for feature phones and PDAs,not smartphones?
And after I learn Java standard will I need to learn any special libraries for android? I mean,will I be able to get to writing the code right away or do I need to learn about the android files and libraries? or are they java standard already? I know I need to learn to compile the packages,but is that it?
And what about XML files,I can do them with JDK or Apache Ant,right? so,I don't need to worry about them,do I?
I'm trying to learn as much I can from the dev guide and the tutorials on the developers site,but the dev guide is too long to both read and comprehend,and that's basically a huge problem,cuz I have a job and education and I can't find time to know everything in the dev guide.
I know it'll be difficult to master all fields,but the team I'm going to work with needs someone who's able to edit the deeper layers of the code and,so I think I'll need both java and C for that job,it don't matter anyways I have time to learn both.

[APP] Wolf3d

I've attached the Windows RT binaries for NewWolf and EcWolf, both of which are Wolfenstein 3D ports.
NewWolf features OpenGL rendering, but does not have any sound support because the port uses a proprietary (ie: no source code) sound engine. To run NewWolf use the included batch file as there is an issue with 16bit color depth (the batch file will force 32bit).
more info -> http://newwolf.sourceforge.net/
EcWolf is straight up software rendered using SDL with full sound support and is very true to the original. Simply run ecwolf.exe.
more info -> http://maniacsvault.net/ecwolf/
I have also included the original Wolf3D 'demo' game files so people should be able to play this straight away. If anyone has concerns about this, let me know and I'll remove the game data.
These are also on the SVN repo, so feel free to pull it from there if you like.
Cheers!
The original game files were shareware I think, I dont think anyone can complain about you throwing in shareware files for an old game.
Nice work yet again. I was just about to ask if you had considered doom, but it seems you've already done it
Offtopic.
SixSixSevenSeven, i see you know a lot of about Windows RT and porting apps, and i have a Little question. I need a C Compiler for my Bachelor of Science Degree in Computer Engineering, and i don't have any laptop for running a C Compiler. I'v tried searching a C Compiler for Windows RT (I'v only seen a C# Compiler) and i want to know if will be possible to run something like gcc in Windows RT, saving money buying a laptop.
Thanks
comandospi said:
SixSixSevenSeven, i see you know a lot of about Windows RT and porting apps, and i have a Little question. I need a C Compiler for my Bachelor of Science Degree in Computer Engineering, and i don't have any laptop for running a C Compiler. I'v tried searching a C Compiler for Windows RT (I'v only seen a C# Compiler) and i want to know if will be possible to run something like gcc in Windows RT, saving money buying a laptop.
Thanks
Click to expand...
Click to collapse
Not yet. MinGW might run under the x86 emulator but anything it produces will also only run under the x86 emulator, and that emulator isnt 100% reliable and it is rather slow.
You would be best off with a laptop, sorry.
Also not really something to be discussed here.
SixSixSevenSeven said:
Not yet. MinGW might run under the x86 emulator but anything it produces will also only run under the x86 emulator, and that emulator isnt 100% reliable and it is rather slow.
You would be best off with a laptop, sorry.
Also not really something to be discussed here.
Click to expand...
Click to collapse
I tried MinGW under Win86Emu but the setup doesn't work properly. I found a Little C compiler (Tiny C Compiler) and works perfectly with Win86Emu (at least some simple code), so i think that this could save me temporarily from buying a laptop.
Sorry for asking about this here, but thanks so much for the Win86Emu idea
Already exists?
There is a Wolfenstein port in the Windows app store called Wolf.
Surface-RT said:
There is a Wolfenstein port in the Windows app store called Wolf.
Click to expand...
Click to collapse
Looks like it only has the 1st level based on the comments... a Demo of sorts I guess. These ports would allow you to play the complete game, assuming you have access to the game files. I have no idea if you could use the complete game files with this Store version.
I haven't actually tried either of these ports yet. But I am curious on whether they are an improvement over the original DOS game? I've played that a bit using DOSBox on my Surface...
domboy said:
Looks like it only has the 1st level based on the comments... a Demo of sorts I guess. These ports would allow you to play the complete game, assuming you have access to the game files. I have no idea if you could use the complete game files with this Store version.
I haven't actually tried either of these ports yet. But I am curious on whether they are an improvement over the original DOS game? I've played that a bit using DOSBox on my Surface...
Click to expand...
Click to collapse
This port is running natively, otherwise it is essentially the same as the dos version. But running natively means it requires less CPU power (no x86 + DOS emulation) which might help keep the tablet cooler and prolong battery.

App requests?

I know this is a potentially dangerous post, but I'm looking for suggestions for things to port. I make no promises that I'll be willing/able to port any suggested software.
Some ground rules before you hit 'reply'
1) Don't ask for Chrome. I won't port it. Period.
2) The source code must be available and not have any _obvious_ specific ties to non-open source code. Eg: some proprietary or closed source library which it depends on.
3) Code must be in C or C++ (I can deal with porting some assembly if needed)
4) Project must be of a _reasonable_ size for 1 person. Honestly, I do this on my own and in my spare time. Some apps can be just massively overwhelming to port. That being sad, sometimes the big ones are also easy.... so use your own judgement here.
5) Tell me why you want it ported. Whats your "use case".
6) Drivers aren't out of the question, but they generally take significantly more work.
Feel free to +1 others suggestions.
Ok.. <puts on protective gear>.. fire away!
Cheers!
Thanks for all your awesome work.
While this isn't an app, I think that the kexec kernel-mode driver idea that was tossed around earlier would be waay more useful than an individual app. Every time it was brought up somebody said "Oh, that won't be much work." And then nobody did anything :-/
So, I'm hugely grateful for the time you put in here, but I think I'd be even huger-ly grateful-er if you opened the door to other OSs.
Sent from my SCH-I535 using xda app-developers app
What would be good is:
http://ekiga.org/download-ekiga-binaries-or-source-code
But I'm pretty sure it uses some libraries not avail
I wish XNA could run on Windows RT. It'd be funny to see Terraria and Magicka on Windows RT...
Firefox would be nice, but without a Thumb-2 JITter, it's not worth it.
Would be nice to have InSSIDer. I use it a lot on my laptop, rather leave it at home.
https://github.com/metageek-llc/inSSIDer-2
Myriachan said:
I wish XNA could run on Windows RT. It'd be funny to see Terraria and Magicka on Windows RT...
Firefox would be nice, but without a Thumb-2 JITter, it's not worth it.
Click to expand...
Click to collapse
I would say to take a look at monogame. It can actually build microsoft store apps including ARM support, so coercing it into functioning on the windows desktop may be possible. Otherwise it might end up being a rule 4 :/
There are hacks out there to run terraria on MonoGame instead of XNA, most of them pretty complete but sometimes have the odd graphical glitch. A full source port to MonoGame would be far more reliable, and actually very simple, but sadly its closed source (although not obfuscated).
One of the supposedly more reliable ones: http://www.terrariaonline.com/threads/wip-monogame-terraria-terraria-for-linux.72997/
Isn't rule one covered by rule four?
SixSixSevenSeven said:
Isn't rule one covered by rule four?
Click to expand...
Click to collapse
No.
People can have bad judgement.. so I'm making an explicit point about Chrome.
Personally i Was really disappointed by the lack of a transmission remote app when i discovered métro interface!
Plus there are many utorrent app...
SO, i think TR Gui source code is available, i think there is many people interested, And i think it will not be too difficult to develop, that can be a wonderfull idea (especially for me ) to make this one
Just found one. TCPMP, this player worked great during the PocketPC/Windows Mobile era. It moved from open source to a commercial different version which is closed source but I believe the link below has the source.
http://www.hpcfactor.com/downloads/tcpmp/
This would bring about a player that supports MKV playback.
lambstone said:
Just found one. TCPMP, this player worked great during the PocketPC/Windows Mobile era. It moved from open source to a commercial different version which is closed source but I believe the link below has the source.
http://www.hpcfactor.com/downloads/tcpmp/
This would bring about a player that supports MKV playback.
Click to expand...
Click to collapse
There is no source code downloadable from that site. All the links are non-existent. Please post the source code if you have it.
Cheers!
bfosterjr said:
There is no source code downloadable from that site. All the links are non-existent. Please post the source code if you have it.
Cheers!
Click to expand...
Click to collapse
Does this help http://code.google.com/p/tcpmp-revive/source/browse/#svn/trunk
mr djé said:
Personally i Was really disappointed by the lack of a transmission remote app when i discovered métro interface!
Plus there are many utorrent app...
SO, i think TR Gui source code is available, i think there is many people interested, And i think it will not be too difficult to develop, that can be a wonderfull idea (especially for me ) to make this one
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=2101891
mr djé said:
Personally i Was really disappointed by the lack of a transmission remote app when i discovered métro interface!
Plus there are many utorrent app...
SO, i think TR Gui source code is available, i think there is many people interested, And i think it will not be too difficult to develop, that can be a wonderfull idea (especially for me ) to make this one
Click to expand...
Click to collapse
I think the problem with the current torrent apps are you either have to pay to get the ability to download files in the background, or the app doesn't support it. I'd like to see a free torrent client that allows background downloading, even if it means speed has to be throttled a bit.
To the OP what is your favorite browser? If it is not Chrome(or Chromium), do you think it is possible to port that browser? At this point I'll even take Safari as I am starting to hate all the crashes that occur for me in IE.
bigsnack said:
I think the problem with the current torrent apps are you either have to pay to get the ability to download files in the background, or the app doesn't support it. I'd like to see a free torrent client that allows background downloading, even if it means speed has to be throttled a bit.
To the OP what is your favorite browser? If it is not Chrome(or Chromium), do you think it is possible to port that browser? At this point I'll even take Safari as I am starting to hate all the crashes that occur for me in IE.
Click to expand...
Click to collapse
Safari is not open source so cannot be ported.
Chrome is a rule 4 - or in other words is too much effort for 1 man to do in a reasonable time frame.
Firefox is also a rule 4, plus its a ***** to get it to compile properly under microsoft tools apparently, plus its javascript engine is raw ARMv7 JIT whereas windows RT bugs with that and would require a THUMB2 JIT. Chrome also would have javascript issues, although in chrome you can have an interpreted javascript engine I think which would just be hideously slow in comparison.
Opera - Closed source.
The list goes on unfortunately. Browsers are complex creatures. Most will come under rule 4 though.
bigsnack said:
I think the problem with the current torrent apps are you either have to pay to get the ability to download files in the background, or the app doesn't support it. I'd like to see a free torrent client that allows background downloading, even if it means speed has to be throttled a bit.
To the OP what is your favorite browser? If it is not Chrome(or Chromium), do you think it is possible to port that browser? At this point I'll even take Safari as I am starting to hate all the crashes that occur for me in IE.
Click to expand...
Click to collapse
What the hell are you doing to get all these crashes? I have yet to have IE crash on 8 or 8.1 on RT in desktop or metro.
My only suggestion would be a gui SFTP client. This is probably the one utility I am currently missing on my Surface RT (I use ssh to remote into Linux systems both for work and personal use, point #5). To clarify, I do use the psftp client in the putty suit, and that works well enough, just takes a bit more time and effort than something like winscp. I can continue to use this if an gui alternative is not feasible.
I recall someone requesting winscp at some point in the past, so I searched around this forum and I did find a couple of people that took a stab at it, but with no results, and I haven't found a clear explanation on what the hang up was. Looking at the readme winscp appears to be written in c++ at least (point #3):
To build WinSCP you need:
- Embarcadero C++ Builder XE2 Professional.
- Copy MFC source code from Borland C++ Builder 6 Professional and
build its Unicode version (see readme_mfc.txt).
- nasm from http://www.nasm.us/
- To build 64-bit version of drag&drop shell extension, you need
Windows Platform SDK:
http://msdn.microsoft.com/en-us/windows/bb980924
Click to expand...
Click to collapse
I am unsure if the aforementioned Windows Platform SDK is available for Windows RT, or if it is even needed since Windows RT is not 64-bit.
Is nasm the problem? It looks to be an x86/x64 assembler... which of course wouldn't work on ARM... unless I just don't get what an assembler is...
Not being much of a coder I also don't know if one can import a Borland C++ project into Visual Studio, so maybe that is also a problem too.
So I guess I'm not sure on a lot of the points on the ground rules list...
domboy said:
My only suggestion would be a gui SFTP client. This is probably the one utility I am currently missing on my Surface RT (I use ssh to remote into Linux systems both for work and personal use, point #5). To clarify, I do use the psftp client in the putty suit, and that works well enough, just takes a bit more time and effort than something like winscp. I can continue to use this if an gui alternative is not feasible.
I recall someone requesting winscp at some point in the past, so I searched around this forum and I did find a couple of people that took a stab at it, but with no results, and I haven't found a clear explanation on what the hang up was. Looking at the readme winscp appears to be written in c++ at least (point #3):
I am unsure if the aforementioned Windows Platform SDK is available for Windows RT, or if it is even needed since Windows RT is not 64-bit.
Is nasm the problem? It looks to be an x86/x64 assembler... which of course wouldn't work on ARM... unless I just don't get what an assembler is...
Not being much of a coder I also don't know if one can import a Borland C++ project into Visual Studio, so maybe that is also a problem too.
So I guess I'm not sure on a lot of the points on the ground rules list...
Click to expand...
Click to collapse
Borland C++ is an alternative set of 3rd part C++ tools. Would take a bit of work to get a borland project to compile it under microsoft tools.
Nasm is an x86/x64 assembler yes. Assembly language is pretty much the lowest level of programming possible before writing in raw hex or binary. It is *HIGHLY* CPU dependent. Specifically the set of commands available in assembly is the plain text form of the exact instruction set the CPU has available which for x86 is different from ARM. The fact that nasm is required means that the project will have assembly in it, therefore an RT port will not be undertaken (one of the rules in the OP).
Sorry man, its proprietary tools and parts of it are unportable anyway. Doesnt mean another SFTP client can't be ported, just this one.
Here's my wishlist. I've poked at some of them, but I don't really have time to finish any of them.
WinPCap - Iirc, the biggest issue was that it was written targeting an older version of NDIS. The usecase would be to provide network support for BOCHS.
QEmu - There's a build of QEmu that builds on MSVC called WinQEmu, but it's dynarec recompiles to x86 only. I believe the official QEmu repo doesn't support MSVC, and I don't know if it can recompile to THUMB-2.
A good IRC client - X-Chat and mIRC run poorly under the emulator, and the few .net clients I've tried are meh. X-Chat has too many GCC-specific requirements, and mIRC isn't open source, I just want a good IRC client.
An X Server - I've been unable to find an X server that builds with MSVC, or anything short of Cygwin for that matter, but I'd love to have one.
Calibre is a good eBook manager I think this is the correct source code https://code.launchpad.net/calibre
I'm not good with this source code stuff so if its to much you dont need to make a port but if you can it would be appreciated thanks
Sent from my SGH-M919 using Tapatalk 4
cx1 said:
What the hell are you doing to get all these crashes? I have yet to have IE crash on 8 or 8.1 on RT in desktop or metro.
Click to expand...
Click to collapse
Browsing news sites and/or using Spotify.

Categories

Resources