Discussion Forums  >  Basics, How it Works, Is it free?

Replies: 5    Views: 147

Becky
I hate code!
Profile
Posts: 269
Reg: Aug 08, 2012
NYC
6,140
03/19/15 11:08 PM (4 years ago)

Android Apps???

I'm looking to start converting my iPhone apps into Android apps and I'm thinking it can't be that difficult...right? Is there anything that I should know before I dive right in or shall I just dive right in? I think I'm weirded out because I've always been a mac/iPhone user. Any info would be sooo appreciative!
 
Dusko
Veteran developer
Profile
Posts: 998
Reg: Oct 13, 2012
Beograd
22,680
like
03/20/15 02:56 AM (4 years ago)
>I'm thinking it can't be that difficult...right

Both yes and no. If you have been using only plugins that are available for both platforms, chances are that you will not have many problems in converting. If you have been using plugins that exist only for iOS, then

oh well, yeah, of course, right... ... ...

you will have MANY problems in converting from iOS to Android. Some things that are so easy on iOS are not currently available on Android. You shall either have to skip on the feature or wait for someone to develop the Android plugin or commission creation of a plugin specifically for you purposes.

Within the last year I have been privately writing plugins for both sides of the coins, both for iOS and for Android, for clients. In one case, I had to convert the entire app of some 300 screens from iOS to Android. What should have been an easy port turned into three weeks of hard manual labor. For iOS they used the HTML plugin to show pages on their sites and what would be more natural than to use the same HTML plugin on the Android side? It turns out that in version 2.0 of BT that plugin worked normally for both platforms, but in version 3.0 David Book changed things on his own and made the Android plugin virtually unusable. It cannot read images from HTML pages, for instance, and will force you to download the page each time instead of showing it outright.

The problem is so severe that Smug created his own version of BT HTML plugin and (fortunately) made it available to everyone for a small amount of money. It works just as it should and so I manually re-coded some 200 pages of that app and now it is OK.

Did I have to do that manually? No, I could have dived into the server code in PHP and converted the HTML plugin into Smug HTML on the fly, only that I didn't as that was a one time job.

You will also have problems with any other plugin that exists for iOS and has no counterpart in Android. If you have used Aussiedra's iOS plugin to show videos on iPhone, you will have to use CMCOFFEE's plugin for the same thing on Android. They won't even have identical control panels, so more problems are on the way. As I said, either do it manually, or write / commission a piece of software to port parameters from one control panel to another control panel.

Finally, there will be a case where no Android counterpart of a plugin exists. For instance, there are no Twitter and Facebook plugins on the Android side, so when one of my clients needed it, he had to pay to develop these two plugins from scratch. He could have afforded that because his client had budget sufficient to bear the brunt of such cost, and you may not be in that situation.

Or, if you are converting a larger number of apps that use mostly the same plugins, you may want to finance that cost in view of future profits that a multitude of apps is going to bring you (one day).

In an ideal world, each and every plugin in the BT market should have both Android and iOS parts ready when being published. Then you would not even have to pose your question, you would just publish two versions of the apps all day long.

Alas, that is not the case. Most developers do not learn both Java and Objective-C for the fun of it, they want to be paid for development, so usually it is an either-or situation. There are very few plugin developers that routinely publish plugins for both platforms. Chris1 and Susane come to mind, CMCOFFE and Smug could do that if they wanted to and I could do that too except that I prefer to develop for clients directly. (I am sure there are others and I apologize for not mentioning them, but that is not the point.)

The long term solution would be to change the code on the server and instead of this

SAMPLE JSON Data
------------------------
{"itemId":"343434", "itemType":"Das_video_playlist",
"itemNickname":"Video", "navBarTitleText":"Video",
"DasVideoURL":"http://gdata.youtube.com/feeds/api/playlists/6F688A114397EEAE",
"DasVideolistTitleFontColor": "#000000"}

insert this

JSON Data
------------------------
{
"itemId": "948A6C3DB67AA468853926F",
"itemType": "CM_awlPro",
"itemNickname": "apro",
"navBarTitleText": "apro",
"youtubeKey": "your_youtube-key",
"ytplaylist": "HPcpp4e3JVpXbtgyD-k-nCmwpbbMIHOh",
"isGrid": "false",
"numOfColumns": "3",
"changeThumbSize": "false",
"thumbHeight": "20",
"thumbWidth": "20"
}

But that is for David Book to decide and implement, not for us, users of the system.

To cut the long story short, just dive into and yell here in the forums when you have to!

ADDED THREE DAYS LATER: Republished on my blog

http://duskosavic.com/blog/programming/how-to-convert-an-existing-buzztouch-app-from-ios-to-android/
 
bigPaul
Lost but trying
Profile
Posts: 103
Reg: Mar 08, 2013
Darwin
4,530
like
03/20/15 07:04 AM (4 years ago)
As Dusko suggests, it could be easy or hard, largely dependent on what plugins you are using and how big the app is.

Setting up your Android development platform should be relatively easy with some new tutorials and posts here in the forum.

If you have only used plugins that are dual platform, it will simply involve downloading the Android package and away you go with some debugging!

Any plugin that is iOS only will need to be either omitted or replaced by an Android equivalent(if available or self/paid coded), so essentially if you are not looking to fork out for code writing, you will unfortunately have to 'dress down' the app.

Given that, you will probably need to create a duplicate app for android. If it is less than 20 or so screens, it is probably just as easy to reconstruct a new app from scratch. Otherwise if it is quite large, you could use the app copier plugin(self hosted only) to duplicate the app and then deconstruct it(remove or replace iOS plugins.

It could also be possible to download the android package of your current app into Studio and delete the iOS components and modify the configuration file, but I fear that would involve a caffeine addiction and loss of hair!
 
Becky
I hate code!
Profile
Posts: 269
Reg: Aug 08, 2012
NYC
6,140
like
03/20/15 11:39 AM (4 years ago)
Thank you, very good info. Looks like whether or not I modify the configuration file, I will be pulling my hair out. Tons of screens and plugins that aren't compatible for both systems and plugins that don't exist for Android.

I like to think of it this way, too much work is better than no work although the thought of these not being completely interchangeable doesn't escape me. Good thing I love coffee.

Thank you both!
 
LA
Aspiring developer
Profile
Posts: 3270
Reg: Aug 16, 2012
Jerseyville, IL
42,800
like
03/22/15 05:29 AM (4 years ago)
You can do it @Becky! It just takes time and the understanding that iPHONE and Android are totally different.



LA
 
Becky
I hate code!
Profile
Posts: 269
Reg: Aug 08, 2012
NYC
6,140
like
03/22/15 01:04 PM (4 years ago)
I don't have time and I don't have the patience for understanding but I'm gonna do it anyways :))) Thanks, LA!
 

Login + Screen Name Required to Post

pointerLogin to participate so you can start earning points. Once you're logged in (and have a screen name entered in your profile), you can subscribe to topics, follow users, and start learning how to make apps like the pros.