How to freeze an android tablet on specific app? - android

I'm new to android development and working on a project called Arithland ATM. Arithland is a competition and I want to make a real machine similar to ATM which work with the competition score instead of money. My question is how to program android tablet to run just specific app I made and people can't close the app and go inside the android and other parts of the tablet like setting or google apps or camera or ....
I know it is possible because I saw such tablets in H&M which is a clothes shopping and they used tablets for survey.
then I put the tablet inside a physical case and it becomes something similar to ATM. note that I don't want to use a core and monitor and keyboard and other hardware to make this, I just want to make it by android tablet because of some reasons.
EDIT:
I found this link very helpful: Set up Single-Purpose Devices
special thanks to #csm_dev

Look at Screen Pinning on Security in Settings.

Related

Android Layout resize and multiple emulations

I am going to create an app for devices with Android OS 2.1 and higher. As many developer I met layout problems and after reading about that in the official android documentation I decided to follow a way; I created 6 directory one for every screen density (ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi). What I want to know is if I did it right, I know that layout could be not exact at 100% but could I'll meet serious problems doing that?What I should do?
The second problem is checking app in many devices in the same time, I use Android Studio and I am able to create devices and use emulators but there is a plugin or a website or something else I can use to test quickly the app in tens of Android devices without set all manually?
Thanks in advance!

Two screens/monitors with Android?

I want to develop an Android application which uses two screens to display information. For example: One screens shows the app, the other screen some information about the current app status.
My question: Does android support two monitors/screens? How would you build up such a device and project?
From API level 17, android supports this
Here is the link
https://developer.android.com/reference/android/app/Presentation
It is now possible for an APP to independently draw different content on primary and secondary displays. Secondary displays can be an HDMI screen or a wireless display.
Some devices do. For example the HTC Evo has a micro-HDMI output that you can send to a TV but the functionality is not built into the Android core so you would need to use the proprietary extensions.
You can only do it using widgets.
There is no other way. I have researched on this and there happens to be lot of problems. One company has successfully done it but they could not port two opengl instances.
Look at Kyocera Echo and Dual-screen SDK for Gingerbread!

Android Phone & Tablet compatibility

Simple question,
I make an application for my phone (android froyo).
Is it will run on android froyo tablet ?
Or I must make some modification to make it work on tablet ?
Simple answer: It may run on the tablet - try.
Not so simple answer: It depends on whether you use some features of the phone and whether those features are available in your tablet. For example, if your tablet does not have GPS and you are developing location aware applications, that obviously is not going to work. Another thing to take care of would be the usability of the application. Your UI would most probably be designed with the phone's form factor in mind. That may not look exactly appealing on a large screen device like the tablet.
So long as you use the appropriate <supports-screen> tags in your Manifest.xml file, yes. However, I'd strongly suggest you go about making a tablet UI, because users don't like phone UIs stretched on a tablet screen. This document might help you with that.

How to determine if an Android device has a touchscreen?

I'm spending considerable time in making my UI to work with keyboard input only. But in the end I'm not sure whether I can rely on the assumption that Android devices all have touch screens.
Is there a way to determine if an Android device has a touch screen?
You should research the existing devices and read the Android Compatibility Definition Document (CDD) and decide for yourself.
I have spent some considerable time trying to figure out this problem for myself. The posters above are correct that Android already powers some non-touch devices and will power Google TV in the near future, but as it currently stands, the CDD specifically requires that ALL Android devices MUST have a touchscreen.
Basically, the Android Compatibility program was created to hedge against the sort of fragmentation issues you're worrying about now. It lists a bunch of requirements, and if a device does not meet those requirements, it does not get access to Android Market. These requirements include a touchscreen, wireless communication, bluetooth, a camera, and much more.
If you research those tablets and netbooks, you will find that not a single one carries the Android Market. Augen recently tried to pull a fast one with their new GENTOUCH 78 tablet, but had to rescind their claims that the tablet would carry Android Market after being shot down by the Android Compatibility Team.
So, if you are only distributing your app through Android Market, you have nothing to worry about until Google changes the CDD. But if you'd like to offer your app on other app stores or as a direct download, then you'll have to worry about your key mode navigation issues.
If it's any consolation, I have found that many, many apps have the exact same problem; they are impossible to use without a touchscreen. Many of them also have serious issues with focus and the soft keyboard. Sometimes the keyboard stays up when it should be hidden. Sometimes you can't get the keyboard to pop up no matter how many times you click on an EditText. IMO, the Android framework does not handle these things all that well.
Given all that, it will certainly be interesting to see how Google TV fits into all this. Will they update the CDD to be compatible with their set-top boxes? Will they use a different SDK and CDD for Google TV implementations? Will they ignore the Compatibility Program altogether when it comes to Google TV? Your guess is as good as mine.
Update:
It seems that someone at Google has finally come forward and admitted that Android is not ready to run on a tablet:
http://phandroid.com/2010/09/10/shocker-google-says-android-not-meant-for-tablets-in-its-current-state/
To me, this says that Google was not prepared for the accelerated adoption of the Android OS and has not adequately roadmapped the future of the platform. Supporting screens larger than 480x800 is barely possible, and Samsung was only able to do it by working closely with Google on the Galaxy Tab. So I'm not so sure we need to worry about non-touchscreen devices in the near future. They'll be here eventually, I'm sure, but when they do arrive we may see a separate app market just for those, or some altered filtering scheme on the existing market, a new CDD, who knows.
To me, this says that Google is still playing it by ear, and we'll just have to do the same.
All the phones so far have touch screens, but there is no promise that they must.
However there are lots of netbooks, notebooks, and soon to be TVs that have no touch screen.
However these devices have mice. From what I've seen, the mouse input gets pumped through the touch system so MouseDown is ACTION_DOWN, etc... (Don't know about right click though)
Are you targetting just the phones? Android is appearing on many devices including TV's I've no idea if new libs will be released to isolate parts of the devices from each other, but if you want a broader audience I'd suggest keeping the keyboard input available if you are
Google TV (GTV) is the most popular Android notouch device (as of the time this answer is composed). However, there are several devices that will call for notouch renderings if you have "notouch" resources (e.g. a directory like res/layout-notouch/ )
To accommodate notouch devices, made sure that focus will cause a visual selection indicator, and (for GTV) that keystroke listeners are in place for the directional-pad center button. Using default widgets and themes will often accomplish much of this automatically. If you make your own buttons, you need background 9-patches for focused and focused+pressed.
Running on a GTV is a good test environment to make sure that notouch works well, and GTV has an emulator now, though it runs only on Linux/x86.

Creating Android UI like HTC Sense

Do you have any idea what's the starting point to develop an UI for Android OS, similar with HTC SenseUI ?
Can I create that on top of Android or I need to get the Android source code ?
Thank you.
Florin Matincă
You'd need to modify the Android OS to some extent, but since Android is open source, that's not a problem.
The problem is getting it installed on phones - if you've noticed, the only companies that have custom UIs are also phone manufacturers, so they can just ship their phones with it installed. Also, if a new version of Android comes out, you'd need to get the new source, and modify most of it again.
Distribution would be a serious problem...
HTC Sense consist of a variety of functions.
Some like the Lock Screen can be implemented as normal programs. The start screen for programs can as well.
The systems setting for example can't be easily replaced without going into the android source code.
I have to disagree with xil3, there are some realy popular home screen replacements out there not restricted to a certain brand.
ADW.Launcher
LauncherPro
HelixLauncher
HelixLauncher2
All four are available on market place and therefor the distribution is simple.
HelixLauncher (and 2) are based on the Launcher from android itself, for which the sources are available as a git repository. This means you could use these sources to start your own Home Screen replacement.
So have fun!

Categories

Resources