Questions regarding Windows/Android development (Java:APK/JAR) - java

I'm planning to write a software (with GUI and sounds) that should run under Android and Windows 7/8
I guess the best approach for this is to use Java?
I am new to Android and Java development so my questions are:
-So can I use one development platform to create both (APK & JAR), namely Java?
-As far as I understand for Android I need to compile (from same source?) a .APK file and for Windows a .JAR file ?
(The .JAR will run in the Java Runtime that is installed in Windows)
-If I use Java what would be the best IDE, something like Google's Android Studio (will it allow to create .JAR?) or Oracle's JDK (Java SE Development Kit) ?
thank you

I don't think it is possible to write an app that will run on both OS's, since all GUI components are part of different frameworks (Android SDK for Android, SWT/Swing/... on Windows), and not compatible with all OS's.
You best bet is probably a web-based app. You can run it in the browser on dektop and either on a mobile browser on Android, or package it as a fullscreen WebView running your web app. The best part is it would also work on iOS.
You could also write your app for desktop in Swing and then convert it to an Android app, you can find questions on StackOverflow on the subject, such as this one.
Hope this helps ;)

Related

how to write an android app with languages other than java

my title is a little different than what i try to say, i couldnt exactly tell what i mean.
as far as i know we develop android apps with android studio(and there were support for other ide s like eclipse before) you code it and make a gui app with drag and drop.
recently i tried to open source code of few android apps like whatsapp. i extracted the classes.dex file and checked the source code. it was written with java. but when i google "whatsapp" it says it is written with erlang.
my question is, how the code written with erlang turns to a java code? as far as i know you can make android apps with c++ too. since we dont have a translator for languages, how is this being possible?
WhatsApps backend is written in Erlang, not the app
https://www.quora.com/Is-WhatsApp-fully-written-in-Erlang
Android uses the Java Virtual Machine (JVM) runtime. To run Android apps on a phone you either need to write them in a JVM language (Java, Kotlin, Scala), or write them in another language and that has a rumtime interpreter on the device (Javascript + Android Webview, Flutter + Flutter Runtime)
You can write your app in just c++, but then you won't have any of the Android SDK available to you. You'd have to rebuild the entire view plaform (among other things). Flutter does this.
If you have more specific questions I'd be happy to answer them

Is it possible to run a java program inside a C# on a windows phone?

I'm in 2nd year of bachelor and working on my final project which is on the end of 3rd year.. But the project is on Java. I want to make it run in my laptop and on my phone. But I have a Microsoft Lumia 640. And I know how to create apps for my phone just in C#. Is it possible to design a mini software, and run it inside a C# app in my phone?
No, natively Windows Phone doesn't support Java but you can take a look to codename one where in their manifesto says that you will able to make mobile application for any platform only using java.
If you habe the java application as a jar lib you can use ikvm (a jvm for .net) and then you can theoretically run java bin code on the windows phone... you will need to take a look because maybe the issue will be how to deploy that jar to your phone at runtime

Can I create windows phone applications using java

I have learnt android application programming. My command is with java.
Some sites provides their sdk for multi platform development, but i am not getting them
Xamarin can develop androids app using c#. Is reverse possible?
Can i develop windows app using java? If yes how?
Yes, you can. Codename One is an SDK that will allow you to create Android, iOS, RIM, and Windows mobile apps all by using native Java.
Source
yes you can develop windows app using java , actually the main point of java is that you can run it on multiple platform (write-once-run-everywhere) ,i can't get what you mean with how, you build jar file from your app so you can run it everywhere that has jdk or jre
and about android , yes you can write it using c# ,i hope this link will be helpfull.

java to access webcam and pen tablet (standalone app vs applet)

i need to develop in java an application that accesses local resources, mainly a webcam, and possibly a wacom bamboo pen tablet. It should take pictures and notes and then post them to a web server.
The ways i can think of are:
use applets
use some kind of standalone app created via JavaFx (or swing or similar)
Which way would you go about it? Are applets considered a viable/secure way to achieve this?
Thanks
I would go the standalone app route. I always turn Java off in my browsers because I can never remember which specific version has security bugs.
If you build it as a desktop app I think you could quite easily convert it to be an applet later on if you wanted.

How to create Java app for Android. Questions [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I'd like to create Java app that should work on both Android and Windows
.
I created JAR Java app on Eclipse Classic 3.7.1.
It works okay on Windows with Java 6 VM (http://www.java.com).
BTW, I tryed j2me app for mobile phone on Windows.
It does not work. Hmm....
I 've installed Jbed 1.20 on Android Emulator.
That j2me app started okay there.
But my own Eclipse's jar did not run.
It said that "no Midlet name" in it.
Well, it seems I should develop j2me midlets for Android.
Is it right?
I have installed J2ME_Runner 2.0.3.7 plugin in my Eclipse.
But I can't create j2me app.
I tryed the following
1) I created Java project. Then I created "File-new-others-j2me midlet".
The Eclipse indicates that the following strings are invalid:
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
2) Next I tryed
file-new-project-J2me midlet suite.
I typed project name but I can fill the next screen.
There are empty "Group" and "Device". Dead end.
Questions.
How to create j2me midlet in Eclipse Classic for ANdroid 2.2 or 3.0?
Is it possible to run Java SE Jar files on Android?
What should I install to develop j2me midlets?
What is the better tool: Eclipse or NEtBeans?
BTW, I looked at J2ME "HelloWorld" source code.
Why it is so different than Java SE source code.
What? Java SE and ME source codes are not compatible?
Thanks.
I don't think there is an answer to your question. Java is not everything. You will not be able to create a GUI app that works on both Android and Java Desktop.
What you can do is to separate your application core library codes and your application GUI. The core library can be shared for both Android and Java Desktop application. However, you will need to implement GUI for Android and Java Desktop separately.
I believe J2ME is an old technology. Since most smart phone OSs have their own APIs and they perform much better than J2ME, there are less attention to this technology.
If you really want to have an application which run on any platform, you should considering making a web application. All you need is web browser but, of course, you will not be able to access system functionalities of your phone or OS.
I am not exactly sure, what you want to achieve.
Sure..there are probably J2ME emulators for both, Android and Windows, but I fail to see the point in using J2ME in either Android or Windows. Programming an App for both seems hard to me due to the different capabilities of each platform (Screen resolution, input device, ...)
Maybe there is also a misunderstanding: Android is a Mobile Device that features Java, but not in the way like some mobile devices that support JavaME. On Android mostly everything(e.g. Launcher, MailClient, Dialer, AppDrawer, ...) is built to run on the DalvikVM (The JVM on Android), not just some Games/Tools.
The DalvikVM provides nearly the same featureset as a desktop JavaVM, in fact you compile your class-files with a standard JavaSE compiler. You can use the same JAR libraries with Android and PC (as long as they don't use native code). So there is no need to use J2ME.
BUT: For some tasks (e.g. UI, device access) you have to distinguish between the 2 platforms, so it'll be hard to write an complete app that runs on both. But it is possible to create a JAR library with the Algorithms(maybe even the Listeners for the UI), which can be used by both, Android and PC - so you just have to build the UI for each platform seperatly.
For some hints, check out google for some Android tutorials, there are pretty good ones out there.
As for your second question: Eclipse! I never used NetBeans, so I can't tell which one is better, but there is the ADT, a plugin for AndroidDevelopment available, which is very powerful (I dare even say non-optional, even if you can develop for Android by just using Notepad and the Console)
J2ME apps won't work on PC, J2SE apps won't work on mobile phones. MIDlets are meant to be running on mobile phones so there's no way to run them on PC without emulators.
Back in old times I was developing J2ME apps in NetBeans with Wireless Toolkit tool. If you need to make MIDlets you will get all you need with that set.
Hint: developing rich feature MIDlets which should run properly on thousands of Java phones is a pain in the arse. Keep that in mind if you really want to start developing in native J2ME.

Categories