J2ME app to access incoming call - Where to start? - java

Here's my requirement:
I often receive calls from unidentified numbers on my mobile phones. I would like an application which would use a reference list like this, and show me the carrier name and the area of origin along with the number on screen.
Mobile make : Sony Ericsson
Model : C902
Operating System: Propreitary
J2ME: MIDP 2.0
Here are my questions:
Is it possible to do something like this? I have installed a lot of java apps on my mobile, and all of them have to be launched seperately, can be run in the background, but they never seem to access anything native.
If it is possible, which area of J2Me should I start with, for creating an application that achieves the above requirement?
If it is not possbile, what are my alternatives?

I'm pretty sure this isn't possible. I dabbled in J2ME for a while, and came to the conclusion that it's basically just a big joke hard to do anything meaningful. Sorry.

can be run in the background? yes using Push Registry. access anything native? it depends on which native thing you want to access.
It is not possible.
On this model, you don't have alternatives, but on Symbian you can try Qt with help of Qt Mobility Project

Related

java.lang.NoClassDefFound error while running app

I was trying to run an application on my phone, when I got this error:
"This application caused an error and may not function correctly.
java.lang.NoClassDefFound
Error:
com/nokia/mid/ui/lcdui/DisplayStateListener"
Can anyone tell me how can I fix this error?
I am a noob to Java and I have just started learning it at my school. Basically, I am working to make an application compatible with my phone. I will be really grateful to you if you could guide me on how can I proceed.
Here is the link to the file: http://msoft9.com/site_down-java-apps.xhtml?get-file=1648
It looks like the application is using the socalled NokiaUI API.
This is a rather old API developed by Nokia containing User-Interface functionality for various things, such as keeping the screen alive or making the MIDlet use the whole screen (FullScreen). It was developed in the MIDP1.0 days before things like FullScreen became possible in MIDP2.0
I'm guessing that DisplayStateListener is a class in NokiaUI.
Your phone apparently doesn't support NokiaUI. Not all phones does. It is supported by other brands than Nokia though. I know that Sony Ericsson phones support the NokiaUI API.
Even today NokiaUI is still used by JavaME developers, because it is (surprisingly/sadly) still the only way to keep the screen alive. But mostly you won't notice it is used, because developers naturally use a try/catch block to utilize it.
That's obviously not what the developers has done in your case.
But you can probably find another version of the MIDlet that doesn't use NokiaUI.
More about NokiaUI API:
http://developer.nokia.com/community/wiki/Nokia_UI_API

Java ME on Siemens CX70

I have very old Siemens CX70 in working state and just don't want to throw it out. My idea is to use its math power and peripherals (GSM module, USB, Camera and screen) to build some simple applications for home use (multichannel termometer, timer and cheap security system - for examples).
I know I should use Java ME and IDE (I love Netbeans, for example). Can you tell me what I need more to start developing? I know Java well, I just need to make an environment to developing, debug and deploy. Mobile library documentation will be very helpful too.
Thanks.
There are so many online tutorials about this topic that the only right thing to do is to refer you to google.com
Search after "getting started with j2me".
However, there's something else you should know upfront before getting too excited.
The security model in JavaME will prevent you from doing much useful stuff, in relation to some of the things you mention.
Every time you try to access certain things in the phone, like e.g. the camera, or send SMS, or read/write a file on SD card, etc etc - the phone will show a popup "This app is trying to access camera. Allow this?". And the app will only continue after a manual click on Yes.
As you can imagine, this of course renders a lot of ideas useless.
In order to prevent these popups, you can sign your app with a certificate you buy from Thawte or Verisign. But as that'll cost you $300 a year, it's not the way most sparetime hobby developers chooses.
Personally, I found another way, but it requires you to use a phone from Sony Ericsson.
Because the old Sony Ericsson phones can be patched in order to remove the Java security. After doing this on one of my old phones, I've been having fun making apps like the ones you mention. For example, an app that keeps an eye on my home when we're out, by taking a picture every second. If it detects a difference in the picture, it sends me an MMS with the picture. :-)
I have searched a long time for patching options for other brands, but I just can't find anything useful. Nokia should supposedly also be patchable, but I just can't find anything useful about it.
So in short: If you'd like to make some sparetime hobby apps on a phone like that, you should either find a Sony Ericsson phone and patch it - or go dig up an old used Android device.
Good luck.

Where to start writing a simple java app for a mobile platform?

//Backstory
i have a LG Rumor Touch phone, and it comes with a couple social media apps that are just awful to use, and restrictive as far as features.
//Question
Ive worked with people before making iphone apps who would write basically like a "wrapper" that would just invoke a browser window inside the app to load a site where the app actually ran, im looking to do something similar but using java, but am wanting some advice as to where to get started.
Take a look at PhoneGap, the Android version looks like a good fit for what you are trying to accomplish, since you mentioned Java in the tag.
I dont know enough about the LG Touch OS development... so I apologize if off track
Here is an Android Quick Start

Video training program

I am looking to create a video training program which records videos - via webcam, user screen capture and captures sound. Now the main problem is that I need a cross-platform (mac and windows) solutions.
I know its possible to use flash to record webcam + audio. But its not possible to record the user's screen via flash.
So am wonder if I should use Java (which i believe will work on mac & windows). I do not want to develop to separate versions because of the cost involved in developing two versions.
Please guide me as I am new to this.
Thank you.
UPDATE
Hello again,
I had a look at the following site: www.screencast-o-matic.com or www.screentoaster.com. I see that they have developed a java applet which helps interact with Windows/Mac to record the screen.
I am wondering how to go about developing something like that and integrating it with Flash (for webcam and audio recording).
Is this a better idea?
This is not an answer to your question, but I strongly recommend against using video for educational programmes. Our company delivers university courses on-line, and we long ago learned that video feeds are only effective under particular scenarios. In general, a talking head is a waste of bandwidth. You're much better off to put together a well designed powerpoint presentation, record a voice-over (and edit it!) and then assemble the whole thing as a flash presentation. This is a non-trivial amount of work, but it provides a much more interesting product for the student.
When to use video:
1) When you are demonstrating something dynamic - Mechanics or Chemistry for example.
2) When you are acting out a scenario or case as an illustration -- For example, threat de-escalation techniques for high school teachers.
When you solve the screen recording problem, seriously consider whether you need full motion or if you can get away with stills. Often the motion is distracting, and a still with good voice over can be more effective. (Hint: Replace mouse pointers with something HUGE before recording -- Like Fox did with hockey pucks)
Try CamStudio. I don't know, if it works on Mac, but on windows, it's the best solution I know. It's open source, so you can use it's source code, if you want to :)
If you're looking to build an application that does all of the recording and screen capture itself, then you might consider using Adobe AIR (essentially, Flash running on the desktop) in combination with Merapi. Merapi is essentially a bridge between Adobe AIR and Java. So for example, for your project, you might use Java to handle the lower-level (but still cross-platform) stuff you can't do natively in AIR, and use Merapi to wire the Java application to your AIR UI.
This is by no means a simple project. Lets get that said and out the way. There are open source (and cross-platform) options for each element, but nothing (I know of) that will do everything for you.
I think the "cleanest" option would be to use Flash for webcam and audio, as you said, and run a VNC server to send the screen video... The only closed-platform code will be the VNC launching code. That should be pretty simple to maintain!
That raises a problem because most people are behind NAT firewalls these days. Setting up port forwarding is a pain in the behind. I've used an app called Gitso before which allows people to connect to me and send their desktop to my screen (for tech support). Its VNC-based and all it really does is add another layer on top of the VNC connection so rather than me connecting to them, they connect to me. That makes the whole business of port forwarding a non-issue.
And once you've recorded everything, there's the final issue of syncing it all back together... Might not be so hard.
Well, Camtasia provides the solution to get your problem done. It can record the onscreen activity and also the webcam video and put them in the same player template. Another screen recorder DemoCreator can publish the screen recording as Flash movie, but can not record the webcam.

symbian application as background process

is it possible to create java application that will
work as background process on symbian smartphones?
You can approximate it but J2ME (the version of java on mobile phones) may not be the right technology to do this.
starting a MIDlet (a Java application for mobile phones) when the phone is switched on is tricky at best without coding a small Symbian OS C++ module that will start it for you. If you want to try anyway, look at the PushRegistry class in the MIDP specs
(http://java.sun.com/javame/reference/apis/jsr118/). The Content Handling API might provide some way to do it too (http://java.sun.com/javame/reference/apis/jsr211). When you are ready to give up, do it in C++.
Backgrounding a MIDlet isn't hard. The phone's "menu" key will do it for you. Programatically, Canvas.setCurrent(null) has a good chance of working. Trying to trick the phone by providing a fully transparent GUI and not handling any keypad activity will absolutely not work. Creating and starting a separate Thread in the MIDlet should allow you to keep something running even after your overload of MIDlet.pauseApp() has been called by the application management system.
The real issue is that the MIDlet will not have any Inter Process Communication system unless you make one. The usual way of doing that is a loopback socket connection over which you transfer data. Not a nice or efficient way of simulating IPC. Sharing a RMS record can only be done from within the same MIDlet suite (you can package several MIDlets into the same .jar file), I think. The code to create a provider/consumer data flow over a file connection is even uglier and will raise security issues.
Without any more information about what you want to use it for, my answer is : maybe but you should probably not try.
You will have in-built MIDP support for background MIDlets in MIDP 3.0 (http://jcp.org/en/jsr/detail?id=271). Don't hold your breath for devices to appear, however - might be some time.
(Note that a few Symbian OS devices have more than just MIDP - the S-E p990 for instance, https://developer.sonyericsson.com/site/global/products/phonegallery/p990/p_p990.jsp).
As already pointed out, it might be helpful to have more information on what product functionality you are trying to implement - often more than one way to skin a cat.

Categories