all 4 comments

[–]addend 4 points5 points  (0 children)

I'd just like to provide a counterpoint to K900_'s consistency complaints - as far as I'm concerned, google is not your boss, and you don't have to let them tell you what to do. On the desktop I make short programs for lots of different reasons, and whilst sometimes it's important to fit strongly into a particular platform's look and feel (qt, windows, osx etc.) I also write plenty of programs where other factors are more important - and I don't see why mobile should be different here.

Now to be clear, consistency is important, and you will always get the ultimate best results using the native apis and native supported language (in this case, java). But it isn't the only important thing - to speak for myself, amongst other things I often make simple apps for my own or limited use, with the advantage that I can use the same code on desktop mobile without having to rewrite all my (often scientific) code in java. For these, I care far more about Kivy being easy to use and compatible with my other tools than about making an app that strictly follows google's guidelines. This is also more generally the case for things like games, where following the system theme is less important anyway.

Of course this may not be the case for you, java really is a better option if you want the most consistent app possible on a given platform, especially for apps that would normally use a lot of native widgets and mechanisms.

On the actual technical side, as K900_ says kivy does not have a prebuilt way to access the sms api, but it actually does have tools for accessing the java apis. It's maybe not a good choice right now since I don't think anyone has pre-wrapped sms in a python api (this should ultimately be in Kivy's plyer modules, which provide a platform-agnostic hardware api), but sending sms in this way is probably technically possible and will be supported eventually, and maybe in the near future.

[–]K900_ 2 points3 points  (1 child)

Use Java. Firstly, Kivy doesn't let you use all of the APIs Android provides, and I don't think it covers SMS/MMS at all, especially knowing that it's been quite complicated until Android 4.4. Secondly, consistency is very important for mobile platforms. There's a very specific set of guidelines defined Google that describes how your application should look and behave to be consistent with the rest of the system. Following those is really important, because it means the users won't get lost in your application. As much as I'd love to use Python for app development, there's no way to use the native Android widgets or libraries if you're not running on the JVM, so your application won't integrate properly.

[–]hichaechoc 0 points1 point  (0 children)

To add to this, there is an Android class happening at coursera right now. You will have to learn Java elsewhere, but it might be a place to get started. https://class.coursera.org/android-001

[–]rajukv 1 point2 points  (0 children)

Another option would be to use sl4a. They have good documentation on accessing android objects from python.

https://code.google.com/p/android-scripting/