Android application design starting point - android

I have just starting learning Android development. I am familiar with the Java and Adobe Flex UI. I have basic design curiosity regarding the android development.
What could be the ideal design to develop the app. (Lets say, I have 4-6 different tab)
I have all the wire-frame available. which could be my starting point.
I wanted to use JSON and mongoDB for connectivity purpose ?
Is there any framework available for android development (MVC) ?
Generalized functionalists nice to have. eg. Email or updates for the application to notify.
I am currently going through the tutorial but thats not really helpful in terms of designing the whole application.
Please help me.
thanks,

I think you first just need to take some time and have a good read on Google's own sites.
http://developer.android.com/index.html
Another good place for tutorials is
http://www.vogella.com/articles/Android/
There is no ideal design. Your starting point, is the site above.
Communication between your app and a server is mostly done by JSON or XML. You can't directly access remote databases (Maybe you can with some tricks, but you don't want to.)
Android is a framework, and it is based on MVC.
No idea what you're even asking here.
Good luck and try to make any future questions a lot more specific to programming problems.

Related

Designing a beautiful Android app

I'm a new Android developer and I need to create an Android application which looks like Apple's App store (on both phone and tablet).
I'm a bit familiar with Native layout designer in Eclipse (ADT) and I find it really hard to design such an amazing UI.
I've searched a lot and I've found some web-based UI frameworks such as Phonegap and Chocolatechip-UI. Are these frameworks capable of designing such apps or not? Or do you suggest something else?
Thnx in advance
This question does not have a right or wrong answer. It really depends on how complex your UI is. How sleek you want it to be.
If your UI is pretty but simple and does not require very complex animations you could go for PhoneGap. however, if you have got very complex UI and want very sleek animations I suggest you use the native APIs.
This however, may change in the near future as web technology is improving really fast :)

Starting point for app creating, where to start

I am looking to start writing apps for mobile devices. I know a little about this subjec, and I am proficient in both java and python. However, before jumping into creating apps I wanted to get the community's input on a question I have not yet found the answer to:
How/Where should I begin?
I understand this question is fairly general/basic for a community that focuses on solving/debugging complex programs, but if there is a recommended tutorial (or specific platform) that will help a beginner(such as myself), it would greatly reduce the frustration and amount of monotonous questions asked on this forum and others.
Regards
Coursera is offering 3 courses all using android development which started last week. That would be an excellent starting point for anyone:
https://www.coursera.org/specialization/mobilecloudcomputing/2
How/Where should I begin?
I don't know about you, but I often learn by example more than reading. You mentioned that you're proficient in java so thats a great start. After you understand the Android SDK it's really only the UI good practices you need to learn. So here's my suggestion.
Start off with something super simple. Let's say, create your own version of a calculator. Something that can add, subtract, multiply, and divide. This should be dirty, ugly, but works correctly.
After doing this, take a look at some other android calculators on the play store. Check out Simple Loan Calculator. I use this example because it offers a lot of android UI components. ViewPager, ActionBar, etc. Download this app, take a look at it, and try to mimic it. This should provide an idea on how to work with the android UI components.
What's next? After you have done these two apps you should be relatively ready to tackle your own project.
HTML apps are easy to port across multiple mobile platforms. I have set up an Android HTML template as a starting point. You can just import this project into Eclipse and take a look at that.
https://github.com/jakewp11/HTML5_Android_Template
Here is my experience for ios,
There are three things that I consider as pillars
Objective C
Memory managment
Design patterns
The first one looks obvious but I'd stress on learning concepts like protocols, categories, extensions. As a beginner I thought that learning the syntax was enough, but time and again I had to jump back to the language concepts to understand what's going.
The memory managment , the most talked and confusing subject and now since we have automatic referenc counting to make things simpler and often new Dev skips learning memory concepts (I did it). So I suggest you to have an idea what actually happens under the hood of arc " the manual memory managment"
The design patters,
When I started off , to pass data and control , what I used to do was achieve every thing through the only design patten I knew (target action) . I lack the knowledge of design patters didn't how easily I could achive better results with less code.
Some resources:
Dev.apple.com
http://www.raywenderlich.com (one of my best tutorials are here, you can find one on design patterns)
http://rypress.com/tutorials/objective-c/
And yes , the sample projects at Dev.apple are the best tutors.

jQquery Mobile site project for categorised notes - sanity check please?

I am asking for your advice and a sanity check, please. For a couple of years I have thought about building a mobile site for my own purposes (initially) that will allow me consistent interface on the web and on a mobile phone. My initial target is Android 4 and above.
The central idea is to make notes via web interface. It is easy to
edit on a full PC. Basic formatting is necessary - bold, italic,
lists. I should have some basic editing / adding capability from the phone.
Possibly I might need to add images. This at a later stage.
I will need to use tables.
View these categorised notes on my phone when I need to access that information quickly.
Information should be searchable.
I should be able to categorise that information both hierarchically and by labels.
On the phone the last copy of the information should be available even when there is no internet access. That is the key bit of this project - clear, well structured information, easily available when needed.
So far I have done some 7 websites 6 - 9 years ago and this year I did a responsive design interface with jQuery and HTML5. I have access to Apache on a linux hosting site. I have looked into jQuery Mobile. I think jQuery mobile should be great for my front-end. From my past work with LAMP servers I think I have to have a database backend to this project. What I have looked into so far suggests that the best would be to invest some time in learning Ruby on Rails (which looks very interesting to me) and use that as a back end interface with a database. What database I should use, I don't know. I have in the past used mySQL, also programmed Access and a bit DB2. I have heard a lot of good stuff about postgres. However considering the mobile phone, I think I should go with SQLite probably? What should be the general mechanism for updating the phone from the net?
How does the above look?
Maybe there are some projects which already do something like this?
I don't think I should use some big CMS systems with their bloat and all, because I really want this thing to work for me. Same goes for generic note taking systems such as Evernote. So I am wanting to build it from the ground up, unless there is some similar lightweight project that I could build upon. I am not in a particular hurry, but I am about to get started soon.
A great type of answer for me would be one which tells what major components I should use for this project. It also would be good to know if I am overlooking some important bits.
I appreciate that what I am asking is a large question, but I am not expecting a Wikipedia in response. A sanity check and pointers in the right direction is what I need.
Thank you for your time and thoughts.
What a wall of text... 1.-7. are all achievable by using jquery mobile and HTML5 and a good database architecture as backend. I don't see any BIG problems in your idea. What database you use is up to you, your requirements are not that special, that it would require some specialized product. Any established database backend should do the job.
For updating the content on your phone take a look on HTML Offline Cache and implement an update feature in your Frontend.

projecting / starting medical information app on Android

I would like to create a custom open source information management application, that I could adapt to practical needs of a psychiatrist. (and also would really like to avoid inventing the wheel). Could someone advise me what would be a good way to start? I have some amateur programming experience (see below), but I have little experience with java and eclipse (which I have set up with Android SDK plugin on my linux PC).
What I would like to achieve is a simple app where I could relatively easily re-program/rearrange information presenting screens. I would like the major development stages to be something like:
Basic framework of the app is done Main information is added
through the programming environment
basic formatting (bold, color, lists) should be supported
I imagine this would be through HTML/CSS markup Hierarchical (not
too deep) screens with concise information about conditions,
treatments; easy, not too cumbersome navigation is a must.
Possibility to attach own notes from android device
on every piece of information (e.g. on medical condition, on medication,
list of differential diagnoses, etc)
A desktop application that allows for easy adding and editing
of the content
initially could be even sqlite manager or something similar
possibility for adding images,
possibility to add rating scales, which would calculate scores
maybe also possibility to print through some android print driver
* in essence I envision this as a sort of an integrated website with a relatively simple database behind it (sqlite?) running on android. My models would be epocrates and medscape apps, but the content would be more specific to everyday psychiatric practice. It would include aspects of psychological therapies as well.
In about a years time, I think, the content would be interesting enough to see whether the app should go on the market.
My (limited) experience:
I am a MD - a Psychiatrist. I have some amateur development experience (php, html, css, Perl, bash, sed, sql, Access and some time ago - AS/400). I would like to start an app that I could modify as I go - in order to have the most useful info at my fingertips, when I need it in my work. I have considered some databases (e.g. HandDB) but my experience with them is that you get very constricted with their user interface and this hinders fast information retrieval when you need it. Adding information can be clumsy as well.
Why I am asking for help here
Most of tasks above seem pretty standard. I imagine that people with lots of programming experience here, probably would be able to point me towards some information that would help me to get started.
Many thanks for considering this :)
Are you going to develop this app? Everything you mentioned can be easily done by reading the android documentation. Although if its you doing the coding i recommend buying a book
You will find a lot of samples and other support in the android doc
Printing can be also setup using Google Cloud print
If you want to open source your application you can always use google code.
You have asked a really broad question here. But i guess the above information is good to get you started.

Best practices for developing bigger applications on Android

I've already written some small Android Applications, most of them in one Activity and nearly no data that should be persistent on the device.
Now I'm writing an application that needs more Activities and I'm a bit puzzled about how to organize all this. My app will download some data parse it show it to the user and then show other activities depending on the data and the user interaction. Some of that data could be cached, some of it has to be downloaded every time. Some of that data should not be downloaded freshly at the moment the orientation changes, but it should on the moment the activity is created...
Another thing I'm confused about are things like a httpClient. I now for example create a new httpclient for every activity, the same thing for locationlisteners.
Are there books, a blogs or documentations with patterns, examples and advice on organizing larger apps build on android? Everything I found until now are get startet tutorials leaving me alone after 60 lines of code...
I would be very happy if some of you could provide some good resources.
Check out the Application Fundamentals if you haven't already. It's got a wealth of in-depth information. Then you can branch out to the more specific guides like Designing for Performance or Supporting Multiple Screens, which a large app would certainly have to deal with.
Also, here are some deeper specifics on Activity Design.
Google actually has a ton of awesome doc on this stuff.
I'd suggest taking a look at existing open-source Android applications and learn from how they solved the problems you are facing.
For instance, I learned quite a few tricks from reading Foursquare Android App source code. I'd highly recommend reading source-code like reading a tutorial/book.

Categories

Resources