Help write a Beginner's Guide To Developing Android for a chance at your share in $10,000 of prizes.

Your mission, should you choose to accept it, is to guide developers through learning to code their first Android application.

Throughout four rounds of competition, a series of twelve article outlines/topics - each focusing on a different aspect of Android development - will be released here on the contest page. Compete with fellow CodeProject members for prizes and glory by writing and submitting your best articles for each of the twelve topics.

Judges will select their favourites (one from each topic) to win and be included in a CodeProject "Beginner's Guide to Developing Android". Once completed, the 12-part tutorial series will help guide developers with little or no previous knowledge through the process of developing an Android app from scratch.

**Be sure to subscribe to the message board at the bottom of this page to receive notifications of important contest announcements**

The Loot - $10,000 in Total Prizes

1 Grand Prize - $2,000

At the end of the contest one lucky winner will take home a cash prize of $2000 (USD) for their outstanding contributions to the challenge and guiding beginner Android developers.

2 Runner Up Prizes - $750 each

At the end of the contest two lucky winners will each take home a cash prize of $750 (USD) for their outstanding contributions to the challenge and guiding beginner Android developers.

12 Article Prizes - $500 each

The authors of the 12 winning articles will each take home a cash prize of $500 (USD).

5 Spot Prizes - $100 each 15 Dell Venue 8 (16GB) Tablets

The winning authors of articles 10, 11 and 12 wil each take home a Dell Venue 8 Tablet in addition to the regular $500 prize in this final round.

We've also added a Bonus Wild Card category (details below) where you can submit a tutorial on any Android topic you wish, as long as it builds upon the foundation of the first 12 articles in this series and is appropriate for beginners. The top 12 Wild Card Tutorials will each take home a Dell Venue 8 Tablet (pending availability).*

The challenge consists of a series of four rounds that each span a three-week period. At the beginning of each round, three article topics/outlines will be published on this page. Contestants have until the round deadline to write and submit as many of that round's articles as they wish.

The number of articles you write in a given round is completely up to you: one, two or three - the choice is yours. Prizes will be awarded to the best articles in each of the 12 different topics.

To ensure your article is judged, make sure to submit it in the "Android Tutorial Contest" subsection within the "Android" section and at the top of your article text make it clear which article you are writing (i.e. "Article #4").

Bonus Android Wild Card Category (**Each of the 12 authors that submitted a Wild Card article entry will be awarded a tablet**)

Is there a topic we missed? Let us know what tutorial YOU think should be included in a Beginner's Guide to Android Development and write a beginner's tutorial or "how-to" article on any Android topic that builds upon the foundation set by the 12 articles in the series and is appropriate for beginners.

*(Tablets will be awarded pending availability in a winner's country. Alternative prizes may be issued where devices are not available. Approximate Retail Value of Dell Venue 8 (16GB) tablet is $199 USD.)

At the end of each round, CodeProject judges will choose their favourite article from each of the three topics released in that round, to be included in the final CodeProject Beginner's Guide to Android and to win one of the twelve Article Prizes. At the end of the contest, one author will be selected to win Grand Prize and two authors will be selected to win the Runner Up Prizes for their dedication and outstanding contributions to the contest and overall Beginner's Guide to Android tutorial series.

Prizes will be awarded based on how closely an entry adheres to the conditions of entry, including

how clear, pertinent, simple and enjoyable the entry is;

how comprehensively and concisely the entry explains the development topics outlined in each Round

the overall execution, and presentation of an entry itself; and

how effectively the participant contributes to the overall goal of teaching beginner Android developers.

No you only have to submit at least one of the three articles outlined in any given round to compete for an Article Prize. Think of each of the twelve articles as its own mini-competition (three in each round). We certainly encourage you to try and submit two or all three of the articles in a round, but if you prefer to focus on a single article topic in each round then you may do so.

2. Can I submit an article after its round deadline has passed?

Yes. Finishing and submitting an article you missed in an earlier round can help increase your chances of winning the Grand Prize or Runner Up Prizes, but it won't be considered for one of the twelve $500 Article Prizes.

3. Do I have to follow the topic descriptions exactly?

No… but you shouldn’t stray too far either. If you feel the need to go into more detail on something we missed then by all means include it. Just remember to keep on track with the main focus of the outlined topics and explain them in the clearest and most pertinent manner possible as this is a factor in judging.

4. Can I link to outside resources and other websites in my article?

Yes, but you should avoid it where possible. There are many resources out there that cover beginner Android topics in great detail, and while it may be tempting to simply link to these, the strongest articles and tutorials will explain the necessary technical information within the article itself.

It’s best practice to avoid linking en masse to outside resources. Remember, we're trying to build a complete beginner's guide to Android on CodeProject - not a table of contents that links to different places all over the web.

Kick start the learning journey to Android development with an introduction to Android, a comparison with other mobile platforms, followed by a high-level overview of Android architecture and the application components.

Current Participants

Software developer par excellence,sometime artist, teacher, musician, husband, father and half-life 2 player (in no particular order either of preference or ability)
Started programming aged about 16 on a Commodore Pet.
Self-taught 6500 assembler - wrote Missile Command on the Pet (impressive, if I say so myself, on a text-only screen!)
Progressed to BBC Micro - wrote a number of prize-winning programs - including the best graphics application in one line of basic (it drew 6 multicoloured spheres viewed in perspective)
Trained with the MET Police as a COBOL programmer
Wrote platform game PooperPig which was top of the Ceefax Charts for a while in the UK
Did a number of software dev roles in COBOL
Progressed to Atari ST - learned 68000 assembler & write masked sprite engine.
Worked at Atari ST User magazine as Technical Editor - and was editor of Atari ST World for a while.
Moved on to IBM Mid range for work - working as team leader then project manager
Emigrated to Aus.
Learned RPG programming on the job (by having frequent coffee breaks with the wife!!)
Moved around a few RPG sites
Wrote for PC User magazine - was Shareware Magazine editor for a while.
Organised the first large-scale usage of the Internet in Australia through PC User magazine.
Moved from RPG to Delphi 1
Developed large applications in Delphi before moving on to VB .Net and C#
Became I.T. Manager - realised how boring paper pushing can be
And now I pretty much do .Net development in the daytime, while redeveloping PooperPig for the mobile market at night.

Universidad de las Ciencias Informáticas (UCI-2008)

Taset was born a few years ago, in a place whose name doesn't really matter. Ever since he first played the dazzlingly astonishing games of tetris and digger, he realized that becoming a programmer his goal to pursue was, and later join the light and open side of the source he would.

Started coding at early years with MSX-BASIC for the Z80 processor, just for the fun sake of it. Then met Borland's Turbo Pascal and C++ later on in his life. One day he got serious about it and went to college to get a degree in anything that was related to computers and the fine art of cranking programs out for them (some snobs call it Software Development —all with the cap letters, neon lights and such).

A gloomy afternoon in the spring of 2004, he heard from a friend about the website at www.codeproject.com and his fate was, for good, sealed to doom.

I am into software Development for less than a year and i have participated in 2 contests here at Codeproject:-Intel App Innovation Contest 2012 and Windows Azure Developer Challenge and been finalist at App Innovation contest App Submission award winner as well won two spot prizes for Azure Developer Challenge.I am also a finalist at Intel Perceptual Challenge Stage 2 with 6 entries nominated.I also won 2nd prize for Ultrabook article contest from CodeProject
Link:-
http://www.codeproject.com/Articles/523105/Ultrabook-Development-My-Way

I like to explore different aspects of technology. Try new things, and get delighted. My interests are programming language, and Imaging. But its not hard to work on other things also. Algorithms delight me over a coffee break.

I basically code in C++, but JAVA is not so alien for me. I know few scripting languages also. Basically I feel that knowing a programing language is just a matter of getting introduced to it.

Debdatta Basu is a student at Indian Institute of Technology, Roorkee, currently pursuing his Bachelor's Degree in Electronics and Communication Engineering. He has four years of experience with C++, C#, Computer Graphics, and Parallel Programming.

gasshopper.iics is a group of like minded programmers and learners in codeproject. The basic objective is to keep in touch and be notified while a member contributes an article, to check out with technology and share what we know. We are the "students" of codeproject.

This group is managed by Rupam Das, an active author here. Other Notable members include Ranjan who extends his helping hands to invaluable number of authors in their articles and writes some great articles himself.

Rupam Das is mentor of Grasshopper Network,founder and CEO of Integrated Ideas Consultancy Services, a research consultancy firm in India. He has been part of projects in several technologies including Matlab, C#, Android, OpenCV, Drupal, Omnet++, legacy C, vb, gcc, NS-2, Arduino, Raspberry-PI. Off late he has made peace with the fact that he loves C# more than anything else but is still struck in legacy style of coding.
Rupam loves algorithm and prefers Image processing, Artificial Intelligence and Bio-medical Engineering over other technologies.

He is frustrated with his poor writing and "grammer" skills but happy that coding polishes these frustrations.

Kevin's introduction to computing was when studying O Level Maths in Belfast, NI.
His first computer was a Science of Cambridge (Sinclair) MK14 with 512 bytes of RAM and a hexadecimal keyboard. He is the creator of Oraperl, the first database-enabled version of Perl, which eventually led to the better-known DBI module.

Madhur is Technology Lead by profession having around 9+ yrs of experience in IT industry working on Microsoft Technologies. Apart from Microsoft Technologies, he also likes to work on Mobile Development in Android.

His Technical expertise include .Net technologies including MVC, WebAPI, Azure.

Apart from coding, he like to play Xbox Games, strum guitar or read books.

Prilvesh is a Front end and Back end developer who holds certificates from Google , Microsoft and Oracle who Specializes in Web development and automation using Python and PHP.
He has experience designing developing and building Api's and secure platforms that can handle enterprise level transactions with encryption.

He often simplifies complex problems and solves them through processes and procedures that are efficient and easily understandable even by non programmers including management.

Around 10 years of professional software development experience in analysis, design, development, testing and implementation of enterprise web applications for healthcare domain with good exposure to object-oriented design, software architectures, design patterns, test-driven development and agile practices.

Dreams to change the world and use creative tech solutions for mankind.
Completed BSC on Computer Science and Engineering from Khulna University in December, 2013. Leading own startup named WizadApps which works on future generation technologies. Besides acting as Lead Regional Android Course Training Co-ordinator of GDG Dhaka. Has interest on pattern recognition, embedded system, robotics and AI. As a Tech enthusiast always like to do code, develop creative things, brainstorming innovations, help people about programming and inspire them with new ideas to build.

Robert Oschler is a veteran artificial intelligence, robotics, natural language processing, and speech recognition programmer. His latest love is C#/.NET programming, especially on the Windows Phone platform. When not writing code you can find him playing guitar or watching the latest videos on MSDN's Channel 9. He is also a member of the incredible Nokia DVLUP program and owes much of his affection for Windows Phone programming to the wonderfully talented and enthusiastic Nokia Ambassadors.

I am an expert in Artificial Intelligence (AI) and Blockchain and have always worked as Director of Software Development for the largest companies in America.
I have developed software for the American Red Cross, Microsoft, MySpace.com, Quicken (Intuit), Mellon Bank, U.S. Army, U.S. Navy, Franklin Templeton, Pepsi, Universal Studios, Ryder Systems, etc.

In my spare time as a developer, I've created several small apps for Linux and a minimal plain-text journal for Android called Blip Journal. Now I am also working with composer Caleb Hugo to create educational, musical games such as Upbeat Bird and the Circle of Fifths Infinite 2048 game.

Android Tutorial Contest Terms & Conditions

These rules (and the CodeProject® Terms of Use and the CodeProject Contributors Agreement) govern the Android Tutorial Contest (the "Contest") and set out the terms and conditions between CodeProject and its affiliates ("CodeProject" or "us/we") and each participant ("participant", "or "you"). A submission to this Contest constitutes your acceptance of these Official Contest Rules (the "Rules").

1. How to Enter: CodeProject is offering the Contest and will award Prizes (as defined below) based on the results of judging all valid entries against the criteria established in these Rules.

The Contest begins on 14 July 2014 at 12AM and ends on October 5 2014 at 11:59:59 PM US Eastern Standard Time (“Contest Period”). CodeProject’s clock is the official time for the Contest. All entries must be submitted during this period in order to qualify.

To enter the Contest, submit an article to the "Android Tutorial Contest" subsection, within the "Android" section" of CodeProject.com's "Mobile" chapter, that discusses one of the twelve beginner Android development topics outlined on the contest page (located at: http://www.codeproject.com/Competitions/757/Android-Tutorial-Contest.aspx). Three new development topics (that are to be discussed in the Contest article entries) will be released on contest page at the beginning of each new Round throughout the Contest. Entries must be submitted by the end of their corresponding Round to be eligible for that Round’s Prizes.

No purchase is necessary to enter the Contest or to be eligible to win a Prize.

We are not responsible for lost, illegible, incomplete, mutilated or stolen entries; errors appearing within these Rules, in any Contest related advertisements or other materials; or other errors of any kind whether mechanical, human, electronic or otherwise. Entries that are late, illegible, incomplete, unreadable, damaged, delayed, lost, tampered with, incomprehensible, forged, mutilated, misdirected, inaccurate, unintelligible or otherwise not in compliance with these Rules will be disqualified. You must provide all of the requested information to submit a valid entry. Only those who live in jurisdictions in which this Contest is legal may enter.

Prizes may be withheld or awarded to another eligible registrant if these Rules are breached.

Prizes may not be exactly as shown. A reasonable US$ equivalent in lieu of the Prize may also be awarded at the sole discretion of CodeProject.

Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.

Eligibility: This Contest is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence. Residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. All national and local laws and regulations of the participant’s country of residence apply. Residents of countries under U.S. embargo are not eligible to enter. Employees, officers and representatives (and members of their immediate families and those living in the same household of each) of CodeProject, its parents, subsidiaries and affiliated companies, advertising and promotion agencies, and any company involved in the design, execution, production of this Contest ("Contest entities") are ineligible. CodeProject reserves the right to verify participant eligibility at any time and all participants may be required to provide verification of eligibility. Void where prohibited. You must enroll or be enrolled as a member of Codeproject.com to be eligible to win a Prize in this Contest.

3. Determination of winners:
Up to twenty (20) Prizes will be awarded, but only a valid entry in compliance with these Rules is eligible to win a Prize. Eligible entries will be judged by CodeProject judges at the end of each Round and at the end of the Contest Period. Articles will be judged based on the following elements:

how clear, pertinent, simple and enjoyable the entry is;

how comprehensively and concisely the entry explains the development topics outlined in each Round;

the overall execution, and presentation of an entry itself; and

how effectively the participant contributes to the overall goal of teaching beginner Android developers.

In addition, the votes and comments each submission receives on the CodeProject website may be taken into account. Judges decisions are final. You may withdraw your submission at any time by notifying CodeProject. Your right to win a Prize is terminated if a submission is withdrawn.

Winners will be notified by email following selection and may also be announced in the Daily Build newsletter or other sections of CodeProject.com. We shall have no liability for any winner notification that is lost, intercepted or not received by the potential winner for any reason and we are not obligated to leave voice mail, answering machine or other message. Proof of response by a potential winner does not constitute proof of receipt by us.

All winners will be notified via email. If after seven (7) days of the second notification to the winner no acknowledgement or response is received, the Prize is forfeited, and CodeProject will select another winner.

Each winner acknowledges that, if and to the extent that CodeProject is legally obligated to provide a third party with information about any Prize claimed by a winner, CodeProject shall be entitled to do so.

4. Ownership and Publicity: CodeProject does not claim ownership of your submission to the Contest (please see the “Ownership” section in the CodeProject Contributors Agreement), but by submitting an entry, you grant CodeProject, its affiliated companies and necessary sub-licensees a worldwide, perpetual, royalty-free, irrevocable, non-exclusive, fully assignable and transferable right and license, to edit, adapt, translate, reformat your submission, to post your submission (e.g. publish, display, perform, digitally perform) anywhere on our Site, to do what CodeProject feels it needs to do to manage and update the Site, to make and maintain back-up and archival copies, and to make your submission available to End Users in accordance with these Rules, CodeProject’s Contributors Agreement, and the specific EULA that you select.

By participating in the Contest, you expressly allow CodeProject to use and publish, in any medium or format, your name, city and country of residence, voice, statements, video, photographs and other likenesses in connection with any promotion, advertising or publicity without further consideration or notice to you. Any participant’s personal information may be used by CodeProject in order to conduct the Contest. By participating in the Contest, the participant agrees to the use of the participant’s personal information in accordance with CodeProject’s privacy policy, which can be found at http://www.codeproject.com/info/privacy.aspx.

5. Participant Warranties:

By submitting an entry to the Contest, you warrant that your submission:

is a new article or a new version of an article and has not been published previously;

does not contain any content that infringes on any third party rights, including Intellectual Property (IP) rights, and that you own or otherwise have all rights necessary to make your submission, including any and all IP rights;

does not disclose any information which would constitute a violation of any confidentiality obligation;

does not violate any agreement that you have with any third party; and

does not contain any viruses, worms, spyware, or other components or instructions that are malicious, deceptive, or designed to limit or harm the functionality of a computer or computer system.

6. Prizes:

As described below, there will be up to twenty (20) Contest prizes (“Prize” or “Prizes”) awarded: up to one (1) Grand Prize, up to two (2) Runner Up Prizes, up to twelve (12) Article Prizes, and up to five (5) Spot Prizes. The winner of each prize will be selected at the sole discretion of CodeProject judges.

One (1) Grand Prize: A cash Prize of two thousand ($2,000) USD.

Two (2) Runner Up Prizes: A cash prize of seven hundred and fifty ($750) USD.

Twelve (12) Article Prizes: A cash prize of five hundred ($500) USD.

Five (5) Spot Prizes: A cash prize of one hundred ($100) USD to be awarded for participating in up to five (5) Spot Challenges that may be issued throughout the Contest.

The total approximate retail value (“ARV”) of all Prizes will not exceed ten thousand ($10,000) USD. All applicable federal, state, and local tax laws apply. The value for any prize is based on the ARV at the beginning of the Contest Period. Because the ARV for any Prize may fluctuate, CodeProject has the sole right to determine the value of any Prize, or its cash equivalent, at the time that any prize is awarded.

Substitution or transfer of Prizes is not allowed. In CodeProject’s sole discretion, it may award a substitute prize of equal or greater value. The winner accepts responsibility for all federal, state and local taxes and fees in connection with the Prizes. If you are a potential winner, we may require you to sign an Affidavit of Eligibility, Liability/Publicity Release and a W-9 tax form or W-8 BEN tax form within seven (7) business days of notification. In certain countries, such as Canada, a winner may be required to correctly answer a skill testing question before becoming eligible to claim a Prize.

Apart from any Prize that may be awarded as part of the Contest, no compensation (monetary or otherwise) will be paid for your Contest submission. CodeProject is not responsible for Contest entries not received due to lost, failed, delayed or interrupted connections or miscommunications, or other electronic malfunctions. CodeProject is not responsible for incorrect or inaccurate entry information, whether caused by you or any other persons or by any of the equipment or programming associated with or utilized in the Contest.

The Prize will be shipped to the winner’s residence using standard delivery. CodeProject is not responsible for a Prize if it is lost, stolen or damaged during or after shipping, and it will not be replaced by CodeProject.

7. Warranties and Disclaimers: Prizes come with the standard manufacture warranty only (if applicable), but Prizes are awarded “AS IS”. To the fullest extent allowable by law, CodeProject specifically disclaims any representations or warranties, express or implied, regarding the Contest or the Prizes including any implied warranty of merchantability or fitness for a particular purpose and implied warranties arising from course of dealing or course of performance.

8. Release of Liability, Issues of Law and Indemnity: By participating in the Contest, all participants release CodeProject, its affiliates, partners, subsidiaries, officers, directors, agents, employees and all entities associated with the development and execution of this promotion from any and all liability with respect to and in any way arising from participating in this promotion, acceptance or use of a Prize. CodeProject assumes no responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the Contest is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the Contest is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the Contest including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the Contest or to be violating the letter or spirit of the Rules or is otherwise acting in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the Contest web site or to undermine the legitimate operation of this Contest. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the Contest including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this Contest or from downloading any material from the Contest website where applicable. All participants agree to fully indemnify and hold harmless CodeProject from any and all claims by third parties relating to the Contest without limitation.

9. Generally: CodeProject may make changes to these Rules at any time without notice to you. Participating in the Contest or accepting a Prize will constitute acceptance of the revised rules. These Rules prevail in the event of any conflict or inconsistency with any other communications, including advertising or promotional materials.

All trade names, trademarks, registered trademarks, product names and company names or logos mentioned or displayed in connection with the Contest are the property of their respective owners and may not be used in any manner whatsoever without the express written consent of their respective owners.

If, for reasons beyond CodeProject’s control (including, but not limited to, tampering or computer virus infection), the Contest is not capable of running as originally planned, CodeProject, at its sole discretion reserves the right to cancel or modify the Contest, without liability or further notice. CodeProject will not be responsible for lost, late, misdirected, damaged, or illicit submissions, or for Internet, computer hardware and software, phone, and other technical errors, omissions malfunctions, and delays. Entries are void if they contain material typographical or other errors. All entrants agree to comply fully with each provision in these Rules. Any person attempting to defraud or in any way tamper with this Contest and any person who does not comply with these Rules, will be ineligible for any Prize(s) and may be prosecuted to the fullest extent of the law.

Discussions

We are pleased to announce that Ranjan.D has been selected as the competition's $2,000 Grand Prize winner for his outstanding contributions in guiding beginner Android devs. Not to be outdone, both Peter Leow and Grasshopper.iics will each take home a $750 prize for their excellent articles and contributions.

All Round 4 article winners are posted on the page above as well, and a total of 12 different authors submitted a entry to the Wild Card category so you'll each take home one of the Intel-powered Dell Venue 8 tablets.

We'll be in touch with all competition winners via email over the next few days to arrange prize payouts and deliveries, be sure to watch your inbox for more details.

Your final chance at a share of $10,000 in cash prizes and one of 15 Intel-powered Dell Venue 8 Android tablets is this upcoming Sunday. Submit your Android tutorials by the 11:59 p.m. (ET) deadline on October 5 for your chance to win.

In addition to the three main topics outlined in Round 4 (Android Services, Animation/Graphics, and Android App Monetization), there is also a bonus wild card category where you can write a beginner's Android tutorial on any topic we missed or you feel needs some extra attention. The top 12 wild card entries will each win a Dell Venue 8 tablet.

Looks like you are badly having good free time, pasting your scream and tears everywhere. Rather than whining like a baby, be a man, write your knowledge as an article and tell us how stuff should be done.

Quote:

Sorry to say, but would like to know that do you really have any Android Developer among the judges?

Hell, no. Codeproject was waiting for since 1998 for someone to join their site in Sept, 2014 for judging every article published over last 16 years.

Quote:

The article which is actually meant for beginners talks about rooting

What has Rooting got to do with beginner? Even a non programmer grade 10 phone user knows what is rooting.

Quote:

Secondly, "SQLite is Android specific" really???

Not really, when you care to read the whole sentence

Quote:

SQLite is Android specific, i.e. this database is not interoperable with other relational databased like MySQL. Flat Files and XML are very much interoperable. Their data can be imported and exported to and from any other database

Quote:

Plus it is full of spelling mistakes - configureation, powerd, emphesize, Creading

1) There are no other articles on internet which provides an android java class that can be used for insert/delete/update/select for virtually any tables
2) He will also not tell that there are no articles which shows generic record management ( insert/update/delete and select) with File and XML databases.
3) Op will also not tell you that by keeping the data in external directory, you can easily download it and view in SQLite browser, which is the objective.
4) Op will also not tell that he found no other tutorial for instance that explains how easily complex datatypes or arrays can be returned from WebServices or accessed from Android.

2. I very well know that the editor does not helps much with spelling checking but that does not means you are free to type 'SQLite' as 'SQlLite' no spell checker will ever help you on that.

3. There are certain guidelines that must be followed like avoid paths like data/data... it doesn't works on older devices and there is no guarantee from Google that it will keep working in future too.

4. In your article you talk about creating a database using 'SQLite Browser' and include it in the app, but you have left the most widely used option, that is to create a database and tables programmatically.

5. If you create a database programmatically the android system creates 2 more tables inside your database which you have not mentioned in your article. And if an app is to ship with a pre-populated database then those 2 tables should also be created.

I'm sure you are not even aware of the 2 tables which I'm talking about they are - SQLITE_SEQUENCE and ANDROID_METADATA. Both these tables have some significance.

Lastly -

Quote:

no other "article" written by gems like you tells why a String can be passed as integer in SQLite

'Type Affinity' is a well known feature of SQLite which might be something new for you but not for everyone.

If you create a database programmatically the android system creates 2 more tables inside your database which you have not mentioned in your article. And if an app is to ship with a pre-populated database then those 2 tables should also be created.

I'm sure you are not even aware of the 2 tables which I'm talking about they are - SQLITE_SEQUENCE and ANDROID_METADATA. Both these tables have some significance.

O Vogella, O Tamada, such idiots thou both are. Should have learn't that without mention of ANDROID_METADATA your piece of whatever would not be Good.

Quote:

Type Affinity' is a well known feature of SQLite which might be something new for you but not for everyone.

I again do not see any of these top tutorials talking about them! Forget top tutorials, even Android developers site don't talk about them.http://developer.android.com/guide/topics/data/data-storage.html#db[^]
Ofcourse, this has to be a nonsense feature to maneuver your code around because everyone knows, so no one mentions. Oh wait, has to be useless if covered by me!

Knowing type affinity was one thing and utilizing to create a reusable database interface is another. Over the years mobile game writers know how game engine works, yet very few could create games like Angry Birds. Now don't jump into conclusion that I am trying to compare myself with Rovio. I am drawing attention to difference between knowing and applying.

Quote:

In your article you talk about creating a database using 'SQLite Browser' and include it in the app, but you have left the most widely used option, that is to create a database and tables programmatically.

Quote:

the most widely used option

Yes Windows XP falls in that category. Surely new perspective and demonstrating how SQLite works with Browser is a Sin. I admit.

Now the more persistent problem:

Quote:

There are certain guidelines that must be followed like avoid paths like data/data... it doesn't works on older devices and there is no guarantee from Google that it will keep working in future too.

All I wish to say is that you have defeated the entire purpose of this Tutorial Contest by CodeProject.

I thought CodeProject was running this contest as they are trying to build the best library of articles and information for beginners and obviously they were not happy or satisfied with the existing articles or tutorials present on the web.

But according to you the Top Tutorials are those by Vogella and others... then what's the point of your article.

You should have simply included all these links in your article with a caption - 'Top Tutorials - Read Them' this would have saved your time and that of all the readers too.

If Vogella and others have missed something that doesn't means the winning article on CodeProject should also miss it... Or if thousands of posts and other articles repeat the same mistake, so should you.

And your link to an article on Memory leak mentions about leaks due to 'long-lived reference to Context' which won't be the case to retrieve the dataDir to a variable.

Merely posting a few links from all over the web to confuse every one, won't prove you right. Go ahead try to retrieve the path as I mentioned and as recommended by Google and see for your self whether it leaks.

All I wish to say is that you have defeated the entire purpose of this Tutorial Contest by CodeProject.

What would be absolutely brilliant would be to have you provide what you feel are sensible updates to the article so that Grasshopper.iics can incorporate them. Doing this would be the absolute best thing possible to ensure our original idea is maintained.

You're obviously passionate about this, not to mention proficient enough to provide accurate and helpful feedback and updates.

In regards to the issue with the judging we are looking at articles that cover topics comprehensively and provide a solid background for someone starting out. We *hope* that the articles are all following best programming practices but if there's a hardcoded path here, or a slightly ambiguity there, we balance it (if we spot it - we're not perfect) against the overall article.

And for what it's worth, yes we do have Android developers on the judging panel

Of course awareness is a virtue gifted to you by God. So important and significant are these two tables for beginners that all other Google First Page Tutorials talks about them.
1) http://developer.android.com/training/basics/data-storage/databases.html[^]

O Vogella, O Tamada, such idiots thou both are. Should have learn't that without mention of ANDROID_METADATA your piece of whatever would not be Good.

Op:

Quote:

I thought CodeProject was running this contest as they are trying to build the best library of articles and information for beginners and obviously they were not happy or satisfied with the existing articles or tutorials present on the web.

I leave the rest on reader to decide on the logical maturity of posters. Somebody whining and crying and shouting saying "You are wrong". Then you present the links to support yourself. He says you would have better posted the links itself.

Quote:

Merely posting a few links from all over the web to confuse every one, won't prove you right.

I think you have never heard of the term "References". Right? All those who lives in a world of "self supermanity" finds it hard to listen to others.

Quote:

When I posted here I had a point to prove which I think is now done.

Yes absolutely done.You have proven yourself to be one of the greatest commentator and narrator of Android. CLAPS CLAPS.

I have also had a point to prove.

That coding doesn't have to be "CONVENTIONAL", it doesn't have to be what book says, it can be "FUN", innovative. After one year This particular article will be one single most important resource on Android data handling. New programmers will do away with nonsense KEY-VALUE pair based SQLite mapping. They will know how to model their db code in reusable model.

One last thing, O lord of knowledge in Android:

When you get time, read a bit about teleinformatic, Medical transcription, telecom billing to name a few to know why in enterprise applications we prefer external directories instead of internal to save data. I know you will say "you have knowledge of all and do not need any other things to know". But still.

Let me assure you what you know is incomplete. I never claim to be perfect nor I can be. Had there been no human error factor, never we would have had things like 'Revision', 'Version'.

Anyone reading through these posts will know it's not about knowledge, it's ego, it's self obsessiveness and a sadist desire to downplay somebody's work was only your points of the post.

If you are man enough do write your knowledge into an article, publish and slap me hard with "look this is how it is done". Till then stop crying like a toddler.