make APK with specific information - android

my question about publish project to my customers but should be each customer get specific APK with own information inside the APP.
My APP not necessary connect to internet then will be predefined for each customer.
this mean Main Activity appears with information and image of each customer and rest of APP working same as all customer.
please help to found solution.

If you don't want to connect the application to the internet and still want to verify, you can always use mobile numbers.
But anything hardcoded at the client side is not safe, as the information for those users can be leaked.

Related

How to develop a basic online ordering app?

I need a small clarity regarding developing an android app. Basically the idea is to build an app where the user can select the items(eg.books), after selecting, he will be taken to next activity where he can choose the number of items(say 2). After selecting he will be taken to another activity where he is given option to pay online. After the payment, the seller(that is me) should generate a bill containing the details provided by the user.
So my doubt is, how to know what items has he selected and the details(how do I receive that info) he had entered and how do I generate a bill back to him?
Please help me with this.
I just need an idea of how to implement it.
Thank you!
Create a server application with a database to store the details of customer purchase. Server application cold be a web application and you can connect your application with android app by using web services or http connection. For any temporary storage in app,use sqlite database for android.

How to save an app's information permanently on the phone?

Currently I'm working on app which allows user to use promotion code to get free stuff. The promo code can be used only once for every device. So even if user uninstalls the app and installs it again, he or she cannot use the code again to get free stuff.
However, my problem is I need to implement this on the client's side (i.e., on the phone itself). Apparently SharedPreferences cannot solve this issue, but saving some file on external storage seems quite fragile to me. Is there any good solution to the above problem?
Both iOS & Android apps run within a sandboxed environment and do not let you create or read files out of the environment. This means that you cannot do this. The only way you can achieve this is by reading some unique identifier from the device and storing this info on the server side.
please use webservice and save user information in server
user_id
user_password
user_promocode
and etc.
please apply webservice on your application to solve your problem.

Which storage option for preserving app data in android?

I do not want the data that is fed into the android app by the user to go away when the app is uninstalled or the device is lost/disposed. What I necessarily want is - data has to be tied to a user account rather than a device where the user can install the app from any other android device by logging into his account using his login credentials and see all the data that was entered in the past from an old/other device. Please suggest a storage option that would best fit for this scenario.
This is a very generic question and I think someone might vote to close it but I will still attempt a generic answer.
Essentially you want the data saved on some external data storage (not on device). So the obvious thing is a server. You will need to set up a machine and run a server on it which can communicate with your app. Also you will need to have unique id for each user (authentication?) which will link user-data with the user, so that if user uninstalls and reinstalls your app, the app can then download the user's data from the server to the mobile device on which the app is running.
For the server you can look at Amazon AWS, Google App Engine, Heroku etc. You can set up a minimal server at one of these places, maybe set a DB there (SQL/ NoSQL) and get a unique URL so that the app can ping the server (so static IP obviously). Then your app can send network requests to your server fetch data for a user and save it to the app whenever the user wants it (say on reinstall, device change, monthly etc).
Hope this helps!
Google is working on Google Cloud Save as a simple way to save data to the cloud on an Android app. There is no backend programming needed.
It's in closed beta now, so that's not super helpful right away, but it might open up to the public soon.

Send text to app (not specific phone number)

I don't know if this is even possible, couldn't find anything usefull on the internet.
I wanted to make an app, that me and some of my friends could send a message trough "my app" and that everyone who has that app, receive the message, without using a phone number.
So basically, same as WhatsApp GroupConversation, but then without using a phone number.
Is this even possible?
If it is possible, could you put me on the right track to start with.
Hope I am clear enough, if not, tell me :)
Edit:
This just pops up in my head (didn't look on internet yet), but what I want, is a kind of a shoutbox.
This is possible, in fact WhatsApp does not use your phone number for this at all.
You simply provide your phone number to asure a unique ID and proof that you are indeed in possession of this phone with the validation SMS.
From there on, your phone number isn't even used anymore.
You can go 2 ways with this;
Create a simple webservice with a database on which you just save and request messages. Maybe make a little difference between get all or get latest message. Anyone, hooking into the group, can just fetch the same data. With the use of GCM push notifications, you can make this pretty instant.
Use XMPP, which is a chat protocol kinda all the chats use. Whatsapp, Google talk, FB messenger... This will provide you with instant messaging just like any other chat app or program you know.
Option 2 is by far the best in final functionality, but be warned that XMPP is quite complex and error prone.
You can look into the asmack and asmackx libraries for Android, which will give you the basic functionality with ease. Going a bit deeper, you'll have to dig into the protocol and really get to know it though.
ps. For both you'll need your own server, however with asmack(x) you are also allowed to use Google's Talk servers for free. Communication will go through your Gmail account. Basically with this you just make your own version of Google Talk.
It is possible by implementing server-client architecture. Your app will use a common database for all the users. whenever an user install your app, he will achieve an unique user ID. if anyone uninstall it, his id will be destroyed. You can track the users from those ID in database. You don't need phone numbers.

how to secure a app to make a closed beta in android?

i need to know how can i secure my app to make a close beta?
i want to send my app to some people so that they can test it. but i dont want them to share the .apk with other people and just use it some days. so i need to implement some kind of trial/beta mode.
i need something, that the app e.g. only runs 7 days or so. how to do this?
There are a few ways to ensure security:
Get a server, and have a server side authentication based on a unique device ID, like an IMEI or MAC address. Any device which does not belong to your testers will not be listed on your server, and you can stop the app from running.
If possible, have each person come to you and install the apk yourself, instead of mailing it to them
Create a trial system. Store the date on which the person first accessed your app from the device, and stop letting him use it n days later. If you store this on a server along with the unique ID, it'll be safer, as if it is stored in the shared preferences or something, the user could get around it by clearing the data or uninstalling and reinstalling the app.
Obfuscate your code using a tool like ProGuard. This will add an extra layer of security incase someone decompiles your app
Note that these are only a few suggestions, and none of them are 100% secure. AFAIK, there is no way to ensure 100% security, short having having the devices locked in a lead room, and letting in the testers one at a time. And there is a way to get around that too, I bet.
Use hockeyapp, there's nothing easier to distribute your app to a closed group of people.

Categories

Resources