Left-handed game users on an Android application - java

We are building an Android application for a scientific research and while in the final stages of the application, the researches came up with the question of left-handed users. The application consists of few screens in landscape mode and there is one screen with a game and there is a joystick in the right-hand side of the screen. This raised our wonder about the way that left-handed people use applications which feature games.
Is there any need to flip the screen (mirror image) in order for them to use? Or does left-handed users use gaming applications with the same controls for right-handed users? And if they don't - is there any tool available for android development in order to do this fix efficiently?

Related

libGDX as a "launcher" app

I have made a light weight java web-server serving html files and static content (made with pure java library nanohttpd), i have successfully made a javaFX launcher window that has a single button, clicking button simply runs the server in the background and opens the localhost URL in Android/PC browser (I was unsuccessful in making an IOS version using javaFX)
I am thinking of using libGDX as "launcher window" because of IOS support and access to mobile specific hardware like SMS/GPS which javaFX don't have.
I am targeting IOS/Android/PC, I'd like to ask libGDX developers how possible is this given my target platforms?
Yes you can
There's a catch though, you may have to build the UI the game dev way
I've made a game or two using it and had rather steep learning curve in the beginning to get a hold on to how it worked. For example you'll have to provide the images for button, background and also, the pressed view of the button... like that. But your app is not a game. So you won't have to worry that much.
Once you learned how to place them in the screen successfully, there is not much to worry about because the API provides everything you need to carry on from there.
Also I found enough resources/tutorials online enough to make a game from ground up. So you'll definitely can.
And there's very little to worry about your multi-platform problem.

Android app appearing different on real device vs emulator

Just coding a small app which currently has a bunch of textviews all constrained together.
When running in the emulator with the same specs as the device I'm using (Galaxy Tab A) it runs perfectly fine and outputs the same as the design view in Android Studio.
However when i run the same app on the actual device the app appears to be zoomed in with the bottom and right edges cropped.
Any ideas what might be causing this?
Thanks for any help
Android powers hundreds of device types with several different screen sizes, ranging from small phones to large TV sets. Therefore, it’s important that you design your application to be compatible with all screen sizes so it’s available to as many users as possible. It must optimize the user experience for each screen configuration.
Checkout this awesome tutorial about Designing for Multiple Screens for more details.
Starting with Android 1.6 (API Level 4), Android provides support for
multiple screen sizes and densities, reflecting the many different
screen configurations that a device may have. You can use features of
the Android system to optimize your application's user interface for
each screen configuration and ensure that your application not only
renders properly, but provides the best user experience possible on
each screen.
Check this android official document for Supporting Multiple Screens to get more information about it.

Android simulate touch on other program

As u know, there are many solutions and codes on stackoverflow for simulating touch on your own app you are developing.
So my question is that i wanna touch a view on other application with my own application.
How can we do this?
Just imagine i wanna click on X,Y position of the screen each X seconds.
Generally speaking, you can't.
You are welcome to write an AccessibilityService. However, this has only limited ability to manipulate other apps, and it requires users to not only install your app but agree to allow your app to have wide access to all their existing app's UIs.

Integrating multimedia with LibGDX

According to the LibGDX web page:
Android applications can have multiple activities. Libgdx games should usually only consist of a single activity. Different screens of the game are implemented within libgdx, not as separate activities. The reason for this is that creating a new Activity also implies creating a new OpenGL context, which is time consuming and also means that all graphical resources have to be reloaded.
However, this isn't impossible to do - just undesirable.
I'm building an app that is designed to hold a few games built in LibGDX, as well as some information alongside it - video/audio, text with illustrations, and so on, describing the development of the games.
Is it a better idea to build this as a native android application that launches and tears down LibGDX whenever the user wants to play a game? Or should I write the entire app through LibGDX and do try and do the non-game stuff using UI libraries and so on?
I'm sorry I can't nail this down to a more specific question. I'm really interested to know before I embark down the wrong road.
The consensus in a linked Reddit thread here is that setting up and tearing down a LibGDX activity isn't such a huge overhead, particularly if the games are small (which they are in my case).
I'm going to opt for this solution, and simply shut down the activity whenever the user stops playing a game.

How do I develop Java games for phones?

How do I begin developing J2ME games for mobile phones?
Are any libraries available that can render pixel fonts for text? - for text games
Are 2D graphic libraries available that can draw animated bitmaps? - for isometric and tiled games
Any are 3D engines available with texture mapping & lighting? -- for racing and flying simulators
And regarding screen sizes:
What screen size to choose initially for good market penetration?
How to manage game source code, in different screen sizes? Make separate branches?
I'm new to J2ME programming, so any links you can give me to start off would be great.
Game Programming Crash Course to begin developing simple bitmap games.
Screen size of 240x320 pixels is where most j2me-enabled phones are these days.
Obviously, touchscreen phones usually have bigger screens than this. A VGA size of 480x640 is just around the corner for high-end phones.
Different screen sizes are usually handled by having generic code that can handle any screen size and can modify layout depending on in-Jar configuration files. You then simply make several jar files, all containing the same compiled code but different values in the configuration files.
For 3D graphics, a lot of phones these days support http://www.jcp.org/en/jsr/detail?id=184.
Recent Sony-Ericsson phones also have http://www.jcp.org/en/jsr/detail?id=239 which should be easier to use if you already know OpenGL. 3D performances vary widly between phones that contain a hardware accelerator chip and those that don't.
Animated bitmaps on J2ME usually means making you're own redrawing thread to refresh the screen. The only image format officially supported by the MIDP specification is PNG.
Because of this last fact, if you want to create your own pixel font, you are pretty much going to need to have each character in a PNG image.
You might want to look at LWUIT, an open source library published by Sun.
I know this isn't a direct answer to your question, but I think J2ME is slowly on the decline, and Android is taking its place. You may want to take a look at the iPhone as well, even though it's not Java. For the iPhone, you're looking at 480x320 screen size and you can use Cocos2D for the 2D games.
Also check out Kevin Glass's website, which has a lot of notes about 3-way instantaneous deployment to Applet, Android, and iPhone. More details are here.
There's this incredible list of open source J2ME libraries that do all sorts of things, like UI, Graphics, Games, 3D, Bluetooth, SMS, IM, Math, Security, Databases, XML .. even Dev Tools.
Java ME Open Source Software - ngPhone

Categories