Hot answers tagged

60

I am not a lawyer. There's a special word for people who take anonymous legal advice from the Internet - "fool". Do a risk analysis - a) you don't write the software. outcome: Nothing. b) you do write the software. outcome #1: Sony doesn't notice and/or doesn't care. This might be a case of the "shallow pockets" defense - in their eyes you're not ...


51

No. Most applications from large developers with real, industrial grade copy protection appear in torrents, cracked, within days of release. It is extremely doubtful that a smaller developer can match that. Trying to will just waste your time, leaving less time for you to develop features/apps that make money. You may want to do trivial work to keep "...


51

In my opinion, that's absolutely not how it's meant. And it's a violation of DRY. The idea is that the entity / domain object in the middle is modeled to represent the domain as good and as convenient as possible. It is in the center of everything and everything can depend on it since the domain itself doesn't change most of the time. If your database on ...


39

This article sheds some light on the situation. The most pertinent link within that article is this. So you've got a massive install base with lots of programmers who know the language and it's widely taught at universities. C++ was dropped from my school's curriculum, Java is still here. Java has Java ME which has a massive install base on other cellphones. ...


34

Short version : working with C++ on Android is possible and easier with each Android SDK/NDK version, but it's harder than working with Java. Long version : For each version, Google adds more functionalities to Android Native Development Kit and makes it more and more independant on the Java code. Read http://developer.android.com/sdk/ndk/overview.html ...


34

I am neither a lawyer nor an accountant. What I have done is to register an LLC. You can register an LLC in your state for relatively cheap (hundreds) and you can set it up so that income goes directly to yourself and is taxed as your regular income (it won't be double-taxed like in a normal corp). The LLC will be liable for any suits brought against it, ...


32

It is generally true for any public API, yes. Once you expose an API to the public and people start to build applications that depend on that API, it becomes extremely difficult to change the API because doing so will break all those applications. That tends to be both a difficult technical problem and a difficult political problem. Of course, it is ...


30

Should I spend time preventing piracy of my app? You are asking the wrong question. Technical safeguards such as proguard are a must but are trying to solve the problem the hard way. The first question should be "Does my app contain something that really needs protecting?" such as a complex or proprietary algorithm. If so the best solution is to move this ...


25

Adding a web service layer gives you an opportunity to make your client more lightweight, both in terms of the required CPU power and the bandwidth used during the processing. Both factors are extremely important to end-users: Using less CPU increases the battery life, Using less bandwidth reduces monthly payments for users with metered plans By ...


21

There are well-established patterns for attributing the libraries you use. In general, you put this attribution in the same place where you'd put your copyright notice. In a desktop application: Often there is a menu item “Help > About”, which displays a small info window with the application name, version number, copyright, and developer contact. This ...


20

Android does not play as nicely with other frameworks as it could. Its recommended style of development assumes you build everything from its API, without other libraries. The UI layer is very tightly coupled to the model. This style is ideal for writing smaller, modular apps, not for complex applications. You need to give some thought as to whether you ...


20

For this to work, some kind of logic the app uses needs to be under your control. And then without that part of logic the app won't work and you can show a message: "your app is out of date, please download the new version to continue use." Consider a messenger app where traffic goes through your servers. Just refuse to deliver messages of clients using an ...


20

Do I really have to make 24 use cases? Only if everything you write is CRUD. Refer to the diagram below: Your assertion is that you will have six different entities, and 4 methods (Create, Read, Update and Delete) for each entity. But that is only true in the yellow circle in the middle of the diagram (the Entities layer). It is pointless to create 24 ...


19

I'm working on several Sencha Touch Apps for Android using Phonegap and the results are dissapointing. The UI experience on iOS devices is vastly superior to Android. On iOS devices, everything is smooth (carousels, sliders everything), but on Android, it's all a bit laggy and unresponsive. Update I have done a bit more research and it seems that the iOS ...


18

This is a kind of supplementary answer, since one thing that seems to have been overlooked in answers so far, concerns what is actually cross-platform. According to Xamarin themselves that is basically your business logic, not your UI or any hardware control such as GPS, audio, address book and so on. Those will have to be written specifically for each ...


18

I'll hazard a guess that Google choose Java for familiarity, if nothing else. Many of Google's projects revolve at least concepts of Java schematics (GWT for example). In addition, it's a language widely taught in technical schools (unlike say, Javascript (which Android also zealously supports)). Java's certainly not the best language for a mobile device in ...


18

If you are the sole copyright holder (i.e., the owner), you can do anything you want with the code, including doing a derivative version of the code where the only change is to the license. Licenses are just descriptions of the conditions placed by the owner(s) on the non-owning users of the code. They do not constrain the owner. When there is multiple ...


18

It heavily depends on what kind of syncing you need. Periodic If your app is a news app that publishes posts at a certain time every day(lets say at 7.45 AM every day), then you run a periodic task in a background service, say at 8 AM. e.g.: Drippler. They notify me once every day(around 6.30 PM). I believe they use a periodic task. Event Triggered If ...


17

The answer greatly depends upon the legal jurisdiction you live within. But let's take the easy considerations first. As brought up in the comments: what happens when your device breaks or your device injects malware into your team's development stream? So then you need to ask: Who pays to fix your device? Who is responsible to replace your device if ...


16

Personally I suggest to study Java first so you won't spend a lot of time googling this and googling that. That will kill your productivity. And if I'm allowed to suggest some books then I suggest Head First Android Development and/or Programming Android. On the other hand and since you are proficient in C and knowledgeable in C++, iOS development should ...


16

Android applications are fundamentally built around Model-View-Controller (MVC) - MVP sounds like the same thing, although I've not heard the term before. Activities fill the role of Controller, XML Views are just that (although you can build them programmatically in the Activity - it's just easier and simpler to do it in XML), and the Model you write ...


16

Eclipse creates just empty methods that return null (hence "stub"). The comments are inserted to remind the developer that he'll probably want to do something in those methods, otherwise why should they exist? You're supposed to delete the comments when you've done that. If you see those comments all over the place, then either (if the actually contain ...


16

(String ...) is an array of parameters of type String, where as String[] is a single parameter. Now here String[] can full fill the same purpose here but (String ...) provides more readability and easiness to use. It also provides an option that we can pass multiple array of String rather than a single one using String[].


15

Linux I think you would want to use a Linux based OS for Developing Android applications seeing as how Android is a Linux Based OS, it's open source, it's free, and can run on a partition next to windows, and I think Mac Os as well (don't quote me on that though). it's been a while since I opened up eclipse on my Linux box but I remember it being fairly ...


15

It should not be your responsibility to decide what users need or want to run on their devices. The best way to handle the situation you describe is to notify users that a critical security bug fix has been released and that everybody should update the app.


15

Compilers need two things to generate performant code: information and resources. JIT compilers have way more information at their disposal than AOT compilers. Static analysis is impossible in the general case (nearly everything interesting you would want to know about a program can be reduced to either the Halting Problem or Rice's Theorem), and hard even ...


14

There's a chart that shows the share of every Android version, use this to identify which versions have a significant share, and which don't. Going with just the latest version isn't a good idea most of the time.


14

Disclosure: I work for appMobi. There are many similarities between the two, in fact some of appMobi's functions are built on PhoneGap. Fundamentally, they both encapsulate HTML5/CSS3/JS into a webview that is exposed to the user from a native "Container". They both offer an API that lets you access the device's OS in a way that is impossible for a web app ...


14

(It is customary to preface legal advice on the internet with a disclaimer that one is not a lawyer and you should consult a professional. So here it is: I am not a lawyer. You should consult a real lawyer to be sure.) Anybody can bring suit against anyone else, for pretty much anything. Winning such a lawsuit eventually is a different matter, but where the ...


13

view product information and create orders Sounds like stuff well within the capability of HTML 5 (and the related technologies usually mentioned in the same breath). Write a rich Web application, and you immediately support any device with a browser.


Only top voted, non community-wiki answers of a minimum length are eligible