One pic one word Starter Kit

One pic one word Starter Kit

Released 4 years ago , Last update 4 years ago

A starter kit for picture based quiz games. Add your images, configure the levels and you are ready to go. Includes integration with Admob, Chartboost and Facebook.

Using the starter kit you can build an image trivia game for Android. It can be used to create games such as "Guess the movie", "Guess the actor" and other trivia games.


  • Each level is configured with an image, the word (solution), an additional text to show above the image, optional hints (revealed using coins). Each level can be configured to depend on previous level completion (dependsOn attribute)
  • Each level can be published on Facebook wall (user receives coins for publishing at least once). At 20, 50 and 100 levels milestones an additional dialog appears to user and offers coins for publishing the achievement on Facebook wall
  • Easy to configure JSON file for levels. The kit also contains a tool that converts a template excel to JSON format, for your convenience.
  • Has two in-app purchase items included. Define it in the Google Play Console and it is ready to use
  • Every 3 levels a transition ad from Admob is shown (with Chartboost back-up)
  • Banners from Admob are displayed at the bottom of the screen on Main Activity and on Choose level Activity.
  • Level list Activity that shows the status for each level (Completed, Available or Locked)
  • Many options to help user solve a level by spending coins : show correct letter (character), remove incorrect letters, skip level, show hints.

Based on the source for Logo Quiz

This kit is based on the source code for Logo Quiz, a popular published app on the Google Play store. You can check out the app here.


14 day 14-day money-back guarantee


Application License

  • Perpetual license

  • 1 application

  • Can distribute binary products only

  • Commercial use

  • 1 month support

Need custom services for this product? Get a quote


  1. Main Activity - first activity , displays current level number(which can be pressed to choose another available level), PLAY button , More Apps button(you have to define them on ChartBoost site) and a banner on bottom

  2. Scene Activity - the activity where all the action takes place. Displays level data : image, word letters as buttons representing a pool of letters from which to choose the correct word representing the four images. Depending on device's screen the activity uses a ObjectsResizeManager to ensure a better fitting of buttons and images inside screen limits. Handles facebook publishing of status containing first image from a level, number of word letters and pool letters available. Facebook status message also contains a link to application. All images deliverd with facebook message must be available on external server.

  3. OptionsActivity - if the user has enough coins he can access helping options : to delete up to three incorrect letters from letter pool, to show a correct letter in a corect position,to show one or two hints

  4. SuccessActivity - displays the corect word and coins received.

  5. InAppActivity - displays ways to earn more coins

  6. HintActivity - displays hints for each level

  7. assets

    • images - folder all the pics used bye the application.
    • large.json, normal.json, small.json, xlarge.json - preferred dimensions for different screen sizes (used as a starting point since every dimension is then calculated) levels.json - file containing data for all levels - pictures, web locations for each image, word for each level, pool of letter for each level.

    { "name" : "OnePicOneWord", "path" : "images",//folder in assets where pictures are kept "nolevels" : 5,//total levels number "alphabet" : "ABCDEFGHIJKLMNOPQRSTUVWXYZ ",//alphabet used for generating pool of letters "allownegative" : false,//allow negative coins amount "showhints" : false,//use hints feature "additionallevels_from":5,//if you want to offer users to buy additional levels , for now it is not used and should use the total level number. "levels" : //definitions for levels image used, label, word [{ "id" : 1, "label" : "1", "specific" : { "image" : "andreyarshavin.jpg", "path" : "", "word" : "ARSHAVIN", "hints" : ["test","test1"], //hints "pool" : "", //if nothing is specified randomly generates a pool of letters from alphabet "depends": -1, //shows that it depends on previous level completion "imageText":"Andrey ..."// text that is displayed above the image } },

  8. Application uses facebookSDK. This bundle contains facebookSDK under the license terms provided by Facebook, but you can also download the latest version from Facebook. Facebook usage can be inhibited from strings.xml useFacebook value

Setup / installation

If you use Eclipse then Simply import the project in your workspace and customize application.Make sure you import FacebookSDK and use it as a library in main project : right click on main project (TemplateGoogle) > Properties > Android > Library, remove any library > Apply, add FacebookSDK>Apply

Customize OneWordOnePic

For each independent quiz application you'll have to do the following: 1. Change icons the folowing icons and place them under the appropriate folders: icon.png - is the icon displayed in the upper menu of the Level Page iclauncher - is the application's icon displyed on phone's applications list. For each of the following folders different sizes must be provided: res\drawable-hdpi - 72px res\drawable-ldpi - 36px res\drawable-mdpi - 48px res\drawable-xhdpi - 96px 2. Change labels in res\values\strings.xml appname skuinapp100 skuinapp300 maintitle msgfacebookcaption msgfacebooklink msgfacebookimageurl – for better performance (not to upload from phone) images are kept on a separate web location under the same name as in assets\images. For the moment only the first image from the four is displayed) application_id(facebook) – KeyHash is logged when SceneActivity can take it from there and put it on Facebook App settings

  1. Change Admob, ChartBoost ids in strings.xml interface if you want, change PREFS_NAME constant in the same file with a name specific to the new application.

  2. Change images in assets\images

  3. Change levels json in assets\levels.json

  4. Change Package Name and Project Name (from com.tedrasoft.whatwordpics to for example)

  5. Usage of Google Play IAP is configurable from AppConstants useIAP constant.


  • What is One Pic One Word?

One Pic One Word is a framework for image based quizzes. It can have as many levels as you want, each level consisting in one image , a correct answer and a pool of letters(characters) from which to choose the letters composing the answer. All levels are packed inside the application The letter(character) pool is randomly generated.

  • How can I customize it?

You must change application name, application package, icons, levels, facebook id if you want to integrate with facebook, skus for inapps, admob and chartboost ids from strings.xml. You can find details in attached readme file.

  • How many characters(letters) can the answer have?

This is configurable from AppConstants interface :

             public static final int WORD_MAX_SIZE=16;

But I strongly recommend not to have more than 16 in order to have the displayed OK on the screen (single row)

  • How many letters can we have in the pool:

    This is configurable from AppConstants interface :

        public static final int ROW_POOL_SIZE = 9;

    This number defines how many buttons can be on each POOL row. We have two rows but on each row one element is reserved for other purposes ( for facebook or options). So if ROWPOOLSIZE is 9 then the total available letters to choose from (pool size) will be 2(9-1) = 16. If ROWPOOLSIZE = 8 then total pool size is 2(8-1) = 14

  • What ads provider can be used ?

The app is already integrated with Admob interstitials every 3 levels and banners on first screen and Choose Level screen, with ChartBoost backup. You can change the ids in strings.xml

<string name="admob_unit_id">ca-app-pub-5151156112378356/2728239824</string>
<string name="banner_admob_id">ca-app-pub-5151156112378356/1251506629</string>
<string name="chartboost_id">5242b10616ba478749000013</string>
<string name="chartboost_sig">42891c0de2f74e2c1419c42c29420f013aad2dd9</string>
  • Can I use inapps?

Yes, make sure that you set useIAP entry in strings.xml to true. Make sure that sku name defined in strings.xml match the ones that you define in google console. Also make sure you put the correct Base64-encoded RSA public key in strings.xml. You can find this key in google console,inside your app definition , in Service & APIs tab.

  <string name="sku_inapp_100">template100coins</string>
 <string name="sku_inapp_300">template300coins</string>
 <string name="google_base64EncodedPublicKey">your application google key for in app purchase</string>

For defining the inapps items on google console check the attached Howtoin-app.docx Remember to activate each item! Rememeber that it could take several hours before your inapps are available and active on google play.

  • Can I integrate with facebook?

The aplication is already integrated with facebook. You have to define a Facebook application (see sample screenshots from my own app – facebook folder), then put the facebook application id in strings.xml

     <!-- TODO replace this with your own facebook app id-->

    <string name="applicationId">facebook app id</string>

Also make sure that you have set the following entry to true:

 <string name="useFacebook">true</string>

If you use different keys for debugging and production then you must add all the keyhash values in facebook definition (see the log entry for KeyHash displayed when SceneActivity starts)
  • How can I put my own levels?

You must change the levels.json. The simplest method is to use the excel template and ExcelParser provided with the kit. This way you can fill all data in excel and easily generate the json.

2 licenses, starting from From » $99.99 View Licenses

Get A Quote

What do you need?
  • Custom development
  • Integration
  • Customization / Reskinning
  • Consultation
When do you need it?
  • Soon
  • Next week
  • Next month
  • Anytime

Thanks for getting in touch!

Your quote details have been received and we'll get back to you soon.

or Get a quote

for customization or integration services

Or enter your name and Email
No comments have been posted yet.