Building an App Builder - how do they do it? - android

The internet is full of solutions where someone with no coding experience can design an app, and then have it deployed to their phones via another app. So for example you can log on to appsheet, create all the parameters for an application, then download appsheet to your phone. from there, you log into your appsheet account, and download any of the apps you have created.Does anyone know how this is accomplished?
My use case is that I have an app that I would like to offer to Universities, but would like each universities' mobile application to be custom built for their needs. I have developed web, android and ios apps in the past, and have a Software Engineering background, so I am looking for the right methodology to accomplish something like this. Are there any specific frameworks or technologies you would advise me look at to accomplish this tasking? If you have any questions or concerns for me, please do not hesitate to ask!

I work at AppSheet. There are two basic approaches an app builder can follow: (a) act as a code generator, or (b) implement an intepreter. In the former case, it spits out code that gets compiled into an executable package that can be installed and run on a device. In the latter case, the "app" you define is meta-data in a higher-level definition that is interpreted in a host wrapper app. Each has its strengths and weaknesses. AppSheet uses the latter approach.

My bet is that they just have one universal, configurable app which they configure for your specific needs by generating a config file or something like that, and then packaging it all up into an apk.

Your idea is great but that is not possible. We cannot imagine every scenario to build such app. We have to imagine for each scenario and have to code for such scenarios.

Related

Making a App for tablets with certain requirements

I need to create a app that will run across Android and IOS, although i would like to avoid the native languages of both and only use JS/HTML/CSS, after digging a lot online i think that the solution would be to use Phonegap and Ionic Framework
The app is not complicated i just have to create simple drag and drop games that the user can review at any point and make changes to them.
The whole point is for a medic to create profiles for the patients and be able to consult them at any time.
Now my question is simple: will this do enough? or should i look into anything else?
Phonegap or Cordova are good solutions for you, then you have to build your UI with HTML. For drag & drop you could use jQueryUI
In my opinion, you have to go through with the PhoneGap/Cordova plugins
also, and go through with the which IDE is used for Development the Application like Xamarin,NetBeans etc.

Python - Does Kivy implements activities in the Android apps?

As we all know, when developing an Android app in native Java, we use activities. I was wondering that, in developing Android apps in Python(with Kivy), does Kivy implements activities for the apps in itself or not? because I don't see any activity implementation on the sample codes.
If it doesn't implement activities, Do we lose performance or any functionality in the application compared to coding in native Java?
Simply put, you can use Activities (starting them using pyjnius), but not really define them, at least, it's not usually the way one work with kivy.
Kivy doesn't adjust its way of working for targetted platform, it uses its own systems, and make them work there. For what i know the advantages of separating Activities on android is just a way to make your code more neatly organized, and doesn't imply performance changes. It can allow you to start your app in various ways (from a share, for example) but you can do that with p4a/buildozer too, by dispatching messages about the intent, if you need to. With kivy, you'll organise your code like you would do for any python project, using modules.
Kivy is a great tool for developing Android Apps. The best advantage of using Kivy is that it is cross platform and the same project can be used to publish apps on mutti-platforms.
However , it has some performance related disadvantages(as do most cross-platform tools like unity , cocos etc). If you're developing only for Android , I'd suggest taking a look into development tools which use Java. This will help create a smaller APK file which in turn helps in better user retention.
I guess you are real loyal fan of Python, but I have to tell you about its advantage and disadvantage.
Advantages
Pure python and its almightiness is in your hand.
Relatively simple to deploy with buildozer without any need to dive too deep into the details of particular platform.
You can run your app on desktop also, so there is no need to install some extra emulators/VMs to get it work
Disadvantages
Not that much information in Internet, even on stackoverflow
Pretty messy documentation
No obvious way to test the application
Not obvious machanisms of placing widgets, especially in built in layouts, which causes situations like: you want place widget in the center of it's parent, but kivy places it anywhere but not where you want it to be.
Official examples are quite ugly, so you may get false vision of how your application could look like.

How do I convert an iGoogle gadget into an Android widget?

I'm trying to recreate this progress bar clock gadget I built in iGoogle as a widget for Android devices.
It seems like it should be pretty straightforward, especially considering the code is only 75 lines, but I have very little experience with developing in Android - even more-so when considering that I would like it to be a widget.
Hopefully Google will develop (if they somehow aren't already) a translation tool to accomplish this task, but until this, I'm out of ideas.
So here are some questions:
Are there any conversion tools for this yet? Something that would allow you use a program and/or a web service to point to the XML file used for the iGoogle gadget and have the program/service return back the necessary project files needed fro Android apps?
I'm not sure if this approach mentioned above is at all possible, but I'm sure that an Android app can be developed to perform the same way as it does on iGoogle - it's pretty basic Javascript + CSS syntax.
In any case, where should I start and what tutorials (if any) exist with regards to this specific request of translating iGoogle gadgets into Android apps (preferably avoiding the "iframe" type of app framework that just points to the mobile version of a webpage).
Are my assumptions $| intentions out of scope here? I feel like this is an easily doable project via the traditional means of using Androids SDK with Eclipse, for example. I tried messing around with the online GUI that Google had for developing Android apps, but the programming interface was like Visual Basic for 3rd graders - it just wasn't too intuitive either.
Also, any other suggestions on what steps I could take to execute this task would be greatly appreciated. I'm just guessing on how this could be done potentially, but if anyone has done something like this already or has insight towards this conversion process that's more valuable than pure speculation as I was doing above, please answer back with some suggestions as to how to accomplish this iGoogle Gadget -> Android Application conversion process.
I found another somewhat similar question on SO, but it doesn't have the same end result that I'm looking for: iGoogle Gadget on Android Phone as APP or Widget
Thanks a bunch for any help!
So far there is no conversion tool that allows converting to an Android wiget a preexisting widget written for another system. You have to rewrite it.
I know some code generators exist, but I don't know them. They won't take the gadget you are referring to as a source, but maybe they can help you to redesign it for Android. This requires checking.

How to create an android plugin with views, activities and objects

So... I'm trying to create a plugin for one of my apps. This plugin would require several views, images, an activity and a parser for CharSequences... Ideally, this plugin would be downloadable from the Android Market.
I understand how to create a library, but that would need to be included in the application.
I understand how to create an app as a service and just call it via intents, but I need direct access to objects and code that is neither parceable nor serializable.
What I have been looking at is eyes-free TTS. With their implementation, the developer includes a small TTS_library_stub.jar file in their app, which looks like it defines a lot of the necessary classes/objects.
So my question is, how would I go about building something like this and generating this "stub" .jar file, which would be included in my app? I've been trying to work my way through the TTS code, but it's a massive codebase, and I'm having trouble finding what I'm looking for.
Any help would be massively appreciated :)
The service and the app need to have the same sharedUserId in the manifest and be signed with the same key. Then the app and service can share eachothers assests, classloader and even run on the same thread. I have never included part of the GUI in a service, so maybe that is a limitation...not sure.
If there is a limitation, you must be able to work around it. Look at OpenIntents. It is open source, it is a service and you can download that from the Market. It provides a GUI file browser to any app that uses its intents.
Didn't full understand what you needed, but thought this might help.
If you want android library to be downloaded from market, It has to be standalone android application. (not android library project!). Then you can upload it to market, download it to phone and communicate with it via intent(which this library can handle) or service(aidl) or provider(the data from library) and perhaps receiver, but I never used it in that way.
If you would design your app for an OSGi environment like apache felix it might be possible to load libraries at runtime.
In their presentation they described how the whole concept is working.
Since only APKs can be shared in the android market you would need to write your own "update mechanism" which downloads your OSGi bundles (your plugins) and deploys them to felix.

Is it possible to use Android scripts created with ASE as typical application for Android (e.g. written in Java)?

I am very very new to Android. I was encouraged to take a closer look at Android when I heard about possbility to write applications on Android in scripting languages like Python. This sounds great and in fact works great.
I did some experiments and everything looks very interesting. I have noticed that I can either write my scripts on Android or create script file on my computer and then copy them to Android ase/scripts folder. This is somehow different (as far as I know) from process of creating application for Android in Java (when you create code, compile it to .apk and install on Android).
To be more specific I want to know:
what are limitations (if any) of script-based applications on Android?
is it possible to ship apps written in scripitng languages to Android Market and let other users install them without requirement to install ASE?
is there some way to create more complicated, multi-file projects in scripting languages on Android?
Thanks for any hints. Also please feel free to correct me if I made any error or wrong assumption in my question - as I wrote, I am very new to Android.
what are limitations (if any) of
script-based applications on Android?
I would flip the question around. Scripts can only execute what is native to their language plus the things exposed by the Android facade. As such, you are not creating full user interfaces and the like -- at most, you have access to some pre-packaged dialogs (e.g., getPassword()). So, for scripting purposes, ASE is very slick, but you are not creating applications, IMHO.
is it possible to ship apps written in
scripitng languages to Android Market
and let other users install them
without requirement to install ASE?
Not presently. It is something that is being worked on.
is there some way to create more
complicated, multi-file projects in
scripting languages on Android?
Ummmm...you could try whatever sort of "include" construct there is in your language of choice.
Although I have not personally done so, it appears possible to compile your python scripts into an .apk. Take a peek at the instructions for sharing scripts on the [Android-Scripting Wiki][1]
[1]: http://code.google.com/p/android-scripting/wiki/SharingScripts"Android Scripting Wiki"

Categories

Resources