| Interface and Description | 
|---|
| com.codename1.cloud.BindTarget
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.list.CellRenderer
 this interface was added for ContainerList which is now deprecated. Use GenericListCellRenderer 
 or ListCellRenderer instead 
 | 
| java.lang.Cloneable
 clone isn't supported in Codename One, this interface is here strictly for compilation purposes 
 | 
| com.codename1.cloud.CloudResponse
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| com.codename1.cloud.CustomProperty
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| com.codename1.javascript.JSFunction | 
| com.codename1.ui.scene.NodePainter
 For internal use only 
 | 
| com.codename1.codescan.ScanResult
 Use the cn1-codescanner cn1lib. 
 | 
| Class and Description | 
|---|
| com.codename1.components.Ads
 we recommend developers check out newer ad options in the cn1lib section of the Codename One website 
 | 
| com.codename1.ui.scene.Bounds
 For Internal use only 
 | 
| java.lang.invoke.CallSite
 these classes are used internally for Lambda compatibility 
 | 
| com.codename1.ui.scene.Camera
 For internal use only. 
 | 
| com.codename1.charts.compat.Canvas | 
| com.codename1.cloud.CloudImageProperty
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| com.codename1.cloud.CloudListModel
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| com.codename1.cloud.CloudObject
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| com.codename1.cloud.CloudPersona
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| com.codename1.cloud.CloudStorage
 this API is targeted for removal due to changes in Google App Engine API support 
 | 
| com.codename1.codescan.CodeScanner
 Use the cn1-codescanner cn1lib. 
 | 
| com.codename1.ui.list.ContainerList
 the performance of ContainerList is worse than the performance of List or Container. The API/behaviors
 are problematic and we don't think its the right choice for any project. It is our recommendation that you use
 Container, InfiniteContainer etc. 
 | 
| com.codename1.ui.layouts.CoordinateLayout
 the usage of this layout is strongly discouraged as elements will not adapt to the right position/size 
 | 
| com.codename1.util.CStringBuilder
 we will be moving to the proper string builder very soon 
 | 
| java.text.DateFormat
 this class has many issues in iOS and other platforms, please use the L10NManager 
 | 
| com.codename1.ui.spinner.DateSpinner
 use Picker instead 
 | 
| com.codename1.ui.spinner.DateTimeSpinner
 use Picker instead 
 | 
| com.codename1.ui.plaf.DefaultLookAndFeel
 this class is still crucial for some features in Codename One. The deprecation is here to indicate 
 our desire to reduce usage/reliance on this class. 
 | 
| com.codename1.components.FloatingHint
 this class is superceded by  
TextComponent which includes a more thorough implementation of the functionality and improved API | 
| com.codename1.ui.spinner.GenericSpinner
 use Picker instead 
 | 
| com.codename1.location.GeofenceManager.Listener
 For internal use only. 
 | 
| com.codename1.ui.util.GlassTutorial
 interaction dialog is a superior way for displaying these types of tutorials 
 | 
| com.codename1.ui.html.HTMLComponent
 this component includes some customizability advantages but its probably better for 99% of the use
 cases to use the WebBrowser Component from the Components package. That component works with the native
 browser when applicable which is a far superior approach. 
 | 
| com.codename1.ui.html.HTMLUtils
 the HTML package is no longer used or maintained and may be removed in a future revision 
 | 
| com.codename1.io.services.ImageDownloadService
 this class uses an unconventional storage mechanism and has many issues, we recommend
 replacing it with the simpler and more powerful URLImage or Util.dowloadFileTo* calls. 
 | 
| com.codename1.javascript.JavascriptContext
 Use  
BrowserComponent.execute(java.lang.String) directly. | 
| com.codename1.javascript.JSObject
 Use  
BrowserComponent.createJSProxy(java.lang.String) to create a Javascript proxy object instead. | 
| java.lang.invoke.LambdaMetafactory
 these classes are used internally for Lambda compatibility 
 | 
| com.codename1.facebook.ui.LikeButton
 This functionality is no longer possible open a BrowserComponent 
 with the link instead, this class will be removed in next version 
 | 
| com.codename1.ui.plaf.LookAndFeel
 this class is still crucial for some features in Codename One. The deprecation is here to indicate 
 our desire to reduce usage/reliance on this class. 
 | 
| com.codename1.maps.MapComponent
 we highly recommend migrating to the native maps cn1lib 
 | 
| com.codename1.components.MasterDetail
 this was a half baked idea that made it into the public API 
 | 
| java.lang.invoke.MethodHandle
 these classes are used internally for Lambda compatibility 
 | 
| java.lang.invoke.MethodHandles
 these classes are used internally for Lambda compatibility 
 | 
| java.lang.invoke.MethodType
 these classes are used internally for Lambda compatibility 
 | 
| com.codename1.ui.layouts.mig.MigLayout
 this is currently an experimental integration and has known bugs
 do not rely on this layout for production 
 | 
| com.codename1.ui.scene.Node
 For internal use only. 
 | 
| com.codename1.charts.util.NumberFormat
 this is an internal implementation class 
 | 
| com.codename1.ui.spinner.NumericSpinner
 use Picker instead 
 | 
| com.codename1.components.OnOffSwitch
 Use new  
Switch class instead as it conforms to the latest platform looks and feels. | 
| com.codename1.charts.compat.Paint | 
| com.codename1.charts.compat.PathMeasure | 
| com.codename1.ui.scene.PerspectiveCamera
 Internal use only 
 | 
| com.codename1.ui.scene.Point3D
 For internal use only 
 | 
| com.codename1.ui.scene.Scene
 For internal use only 
 | 
| com.codename1.ui.SideMenuBar
 this class is still used internally but code should be migrated to use the 
               
Toolbar | 
| java.text.SimpleDateFormat
 this class has many issues in iOS and other platforms, please use the L10NManager 
 | 
| com.codename1.db.ThreadSafeDatabase
 platform specific nuances prevented this approach from working out, we improved the native iOS support for thread safety instead 
 | 
| com.codename1.ui.spinner.TimeSpinner
 use Picker instead 
 | 
| com.codename1.components.WebBrowser
 Use 
BrowserComponent instead. The original purpose of this class was to work as an interim solution for platforms where BrowserComponent isn't supported however all currently supported platforms work with BrowserComponent so there is no real reason to use this class | 
| com.codename1.io.gzip.ZStream
 Not for public use in the future. 
 | 
| Exceptions and Description | 
|---|
| com.codename1.cloud.CloudException
 the cloud storage API is no longer supported, we recommend switching to a solution such as parse4cn1 
 | 
| Field and Description | 
|---|
| com.codename1.ui.layouts.BorderLayout.CENTER_BEHAVIOR_TOTAL_BELLOW
 Deprecated due to spelling mistake, use CENTER_BEHAVIOR_TOTAL_BELOW 
 | 
| Method and Description | 
|---|
| com.codename1.io.ConnectionRequest.addArgument(String, byte[])
 use the version that accepts a string instead 
 | 
| com.codename1.ui.Form.addCommand(Command)
 Please use  
Toolbar.addCommandToLeftBar(com.codename1.ui.Command) or similar methods | 
| com.codename1.ui.Form.addCommand(Command, int)
 Please use  
Toolbar.addCommandToLeftBar(com.codename1.ui.Command) or similar methods | 
| com.codename1.ui.Font.addContrast(byte)
 bitmap font functionality is now deprecated 
 | 
| com.codename1.ui.Calendar.addDataChangeListener(DataChangedListener)
 use #addDataChangedListener(DataChangedListener) instead 
 | 
| com.codename1.ui.TextArea.addDataChangeListener(DataChangedListener)
 use #addDataChangedListener(DataChangedListener) instead 
 | 
| com.codename1.ui.TextField.addInputMode(String, Hashtable, boolean)
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.Tabs.addTab(Button, Component)
 should use radio button as an argument 
 | 
| com.codename1.ui.Tabs.addTabsFocusListener(FocusListener)
 use addSelectionListener instead 
 | 
| com.codename1.charts.renderers.XYMultipleSeriesRenderer.addTextLabel(double, String)
 use addXTextLabel instead 
 | 
| com.codename1.io.Oauth2.authenticate()
 use createAuthComponent or showAuthentication which work
 asynchronously and adapt better to different platforms 
 | 
| com.codename1.ui.validation.Validator.bindDataListener(Component)
 this method was exposed by accident, constraint implicitly calls it and you don't need to 
 call it directly. It will be made protected in a future update to Codename One! 
 | 
| com.codename1.properties.PropertyBase.bindGlobalGetListener(PropertyChangeListener)
 Usage of this method isn't recommended, it's designed for internal use 
 | 
| com.codename1.properties.PropertyBase.bindGlobalSetListener(PropertyChangeListener)
 Usage of this method isn't recommended, it's designed for internal use 
 | 
| com.codename1.properties.UiBinding.bindInteger(Property<Integer, ? extends Object>, TextArea)
 this code was experimental we will use the more generic Adapter/bind framework 
 | 
| com.codename1.ui.Component.bindProperty(String, BindTarget)
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.properties.UiBinding.bindString(Property<String, ? extends Object>, TextArea)
 this code was experimental we will use the more generic Adapter/bind framework 
 | 
| com.codename1.components.MasterDetail.bindTabletLandscapeMaster(Form, Container, Component, Component, String, Image)
 this was a half baked idea that made it into the public API 
 | 
| com.codename1.ui.layouts.LayeredLayout.LayeredLayoutConstraint.Inset.changeUnits(byte) | 
| com.codename1.ui.layouts.LayeredLayout.LayeredLayoutConstraint.Inset.changeUnits(byte, Component) | 
| com.codename1.ui.Font.clearBitmapCache()
 bitmap font functionality is now deprecated 
 | 
| com.codename1.charts.renderers.XYMultipleSeriesRenderer.clearTextLabels()
 use clearXTextLabels instead 
 | 
| com.codename1.util.MathUtil.copysign(double, double)
 Please update your code to use copySign 
 | 
| com.codename1.components.FileEncodedImageAsync.create(String, byte[], int, int)
 use the version that accepts a name and a placeholderImage 
 | 
| com.codename1.ui.Container.createAnimateLayoutFadeAndWait(int, int)
 this was added by mistake! 
 | 
| com.codename1.ui.Font.createBitmapFont(Image, int[], int[], String)
 bitmap font functionality is now deprecated 
 | 
| com.codename1.ui.Font.createBitmapFont(String, Image, int[], int[], String)
 bitmap font functionality is now deprecated 
 | 
| com.codename1.ui.Calendar.createDay()
 override  
createDayComponent() instead | 
| com.codename1.ui.animations.CommonTransitions.createFastSlide(int, boolean, int)
 this is not faster than slide on modern devices, you should use that  
CommonTransitions.createSlide(int, boolean, int) | 
| com.codename1.ui.animations.CommonTransitions.createFastSlide(int, boolean, int, boolean)
 this is not faster than slide on modern devices, you should use that  
CommonTransitions.createSlide(int, boolean, int, boolean) | 
| com.codename1.ui.Image.createImage(Object)
 this method is deprecated as a warning! Don't use this method unless you actually
 know what you are doing, if you are invoking this method without understanding the distinction
 between native image and Codename One image then you are using the wrong method. 
 | 
| com.codename1.ui.Image.createIndexed(int, int, int[], byte[])
 try to avoid using indexed images explicitly 
 | 
| com.codename1.ui.Display.createMediaRecorder(MediaRecorderBuilder)
 use MediaRecorderBuilder#build() 
 | 
| com.codename1.media.MediaManager.createMediaRecorder(String)
 see createMediaRecorder(String path, String mimeType) instead 
 | 
| com.codename1.ui.Display.createMediaRecorder(String) | 
| com.codename1.ui.EncodedImage.createMulti(int[], byte[][])
 this method is meant for internal use only, it would be very expensive to use
 this method for real applications. Its here for simulators and development purposes where 
 screen DPI/resolution can vary significantly in runtime (something that just doesn't happen on devices). 
 | 
| com.codename1.ui.tree.Tree.createNodeComponent(Object, int)
 replaced with createNode, bindNodeListener and setNodeIcon 
 | 
| com.codename1.ui.plaf.Border.createRoundBorder(int, int)
 the performance of round rect borders is REALLY slow, we recommend people use image borders 
 which are faster, more portable and better looking 
 | 
| com.codename1.ui.plaf.Border.createRoundBorder(int, int, boolean)
 the performance of round rect borders is REALLY slow, we recommend people use image borders 
 which are faster, more portable and better looking 
 | 
| com.codename1.ui.plaf.Border.createRoundBorder(int, int, int)
 the performance of round rect borders is REALLY slow, we recommend people use image borders 
 which are faster, more portable and better looking 
 | 
| com.codename1.ui.plaf.Border.createRoundBorder(int, int, int, boolean)
 the performance of round rect borders is REALLY slow, we recommend people use image borders 
 which are faster, more portable and better looking 
 | 
| com.codename1.ui.plaf.Border.createUndelineBorder(float)
 due to a spelling mistake. Use  
Border.createUnderlineBorder(float thickness) | 
| com.codename1.ui.plaf.Border.createUndelineBorder(int)
 due to a spelling mistake. Use  
Border.createUnderlineBorder(int thickness) | 
| com.codename1.cloud.CloudStorage.deleteAllCloudFilesBefore(long, String, String)
 this API is currently deprecated due to Googles cloud storage deprection 
 | 
| com.codename1.cloud.CloudStorage.deleteAllCloudFilesForUser()
 this API is currently deprecated due to Googles cloud storage deprection 
 | 
| com.codename1.media.MediaManager.deleteAudioBuffer(String)
 Prefer to use  
MediaManager.releaseAudioBuffer(java.lang.String) | 
| com.codename1.cloud.CloudStorage.deleteCloudFile(String)
 this API is currently deprecated due to Googles cloud storage deprection 
 | 
| java.lang.Class.desiredAssertionStatus()
 Not supported 
 | 
| com.codename1.ui.Image.dispose()
 SERIOUSLY, DON'T INVOKE THIS METHOD UNLESS YOU KNOW WHAT YOU ARE DOING IT WILL CAUSE PLATFORM SPECIFC CRASHES OTHERWISE. IF YOU INVOKED THIS METHOD YOU ARE PROBABLY MAKING A MISTAKE 
 | 
| com.codename1.ui.plaf.LookAndFeel.drawButton(Graphics, Button)
 this method is no longer used by the implementation, we shifted code away to improve performance 
 | 
| com.codename1.ui.plaf.DefaultLookAndFeel.drawButton(Graphics, Button)
 this method is no longer used by the implementation, we shifted code away to improve performance 
 | 
| com.codename1.ui.plaf.LookAndFeel.drawLabel(Graphics, Label)
 this method is no longer used by the implementation, we shifted code away to improve performance 
 | 
| com.codename1.ui.plaf.DefaultLookAndFeel.drawLabel(Graphics, Label)
 this method is no longer used by the implementation, we shifted code away to improve performance 
 | 
| com.codename1.io.Util.encodeBody(byte[])
 use encodeUrl(char[]) instead 
 | 
| com.codename1.io.Util.encodeUrl(byte[])
 use encodeUrl(char[]) instead 
 | 
| com.codename1.ui.BrowserComponent.exposeInJavaScript(Object, String)
 this doesn't work in most platforms see issue 459 for details, use the setBrowserNavigationCallback
 method instead 
 | 
| com.codename1.testing.TestReporting.finishedTestCase(UnitTest, boolean)
 this method is no longer invoked by the testing framework; please use  
TestReporting.finishedTestCase(String, boolean) | 
| com.codename1.ui.Display.flashBacklight(int)
 this refers to functionality of devices that are no longer sold, not to the devices "flash" 
 | 
| com.codename1.ui.Container.flushReplace()
 this method is no longer used in the new animation framework 
 | 
| java.lang.Class.forName(String)
 don't use this method for anything important since class names are obfuscated on the device! 
 | 
| com.codename1.ui.TextArea.getAbsoluteAlignment()
 this method is redundant and no longer used 
 | 
| com.codename1.components.OnOffSwitch.getActionListeners()
 use the version that returns a collection 
 | 
| com.codename1.ui.list.ContainerList.getActionListeners()
 use getListeners instead 
 | 
| com.codename1.ui.Button.getActionListeners()
 use getListeners instead 
 | 
| com.codename1.ui.List.getActionListeners()
 use getListeners instead 
 | 
| com.codename1.ui.Label.getAlignment()
 use Style.getAlignment instead 
 | 
| com.codename1.ui.TextArea.getAlignment()
 use Style.getAlignment instead 
 | 
| com.codename1.contacts.ContactsManager.getAllContacts(boolean, boolean, boolean, boolean, boolean, boolean)
 this method was incorrectly introduced use getContacts instead 
 | 
| com.codename1.io.rest.RequestBuilder.getAsBytesAsync(Callback<Response<byte[]>>) | 
| com.codename1.io.rest.RequestBuilder.getAsJsonMap(SuccessCallback<Response<Map>>) | 
| com.codename1.io.rest.RequestBuilder.getAsJsonMap(SuccessCallback<Response<Map>>, FailureCallback<? extends Object>) | 
| com.codename1.io.rest.RequestBuilder.getAsJsonMapAsync(Callback<Response<Map>>) | 
| com.codename1.io.rest.RequestBuilder.getAsStringAsync(Callback<Response<String>>)
 please use  
RequestBuilder.fetchAsString(com.codename1.util.OnComplete) instead | 
| com.codename1.charts.renderers.XYMultipleSeriesRenderer.getBarsSpacing()
 use getBarSpacing instead 
 | 
| com.codename1.ui.Component.getBindablePropertyNames()
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Component.getBindablePropertyTypes()
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Font.getBitmapFont(String)
 bitmap font functionality is now deprecated 
 | 
| com.codename1.ui.Component.getBoundPropertyValue(String)
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.BrowserComponent.getBrowserNavigationCallback()
 Call  
BrowserComponent.fireBrowserNavigationCallbacks(java.lang.String) to determine whether navigation should occur for a particulr URL. | 
| java.lang.Class.getCanonicalName()
 don't use this method for anything important since class names are obfuscated on the device! 
 | 
| com.codename1.xml.Element.getChildren()
 this uses the old vector API instead of the more modern Collection/List 
 | 
| com.codename1.ui.Component.getCloudBoundProperty()
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Component.getCloudDestinationProperty()
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Display.getCodeScanner()
 Use the cn1-codescanner cn1lib. 
 | 
| com.codename1.ui.Display.getCommandBehavior()
 we recommend migrating to the  
Toolbar API. When using the toolbar the command
 behavior can't be manipulated | 
| com.codename1.ui.Form.getCommandCount()
 Please use  
Container.getComponentCount() or similar methods | 
| com.codename1.components.InfiniteScrollAdapter.getComponentLimit()
 this feature has some inherent problems and doesn't work as expected 
 | 
| com.codename1.ui.TextField.getDefaultChangeInputModeKey()
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.TextField.getDefaultInputModeOrder()
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.layouts.mig.UnitValue.getDefaultUnit() | 
| com.codename1.ui.Display.getDefaultVirtualKeyboard()
 this method is only used in feature phones and has no modern equivalent 
 | 
| com.codename1.push.Push.getDeviceKey()
 this method sends a push using the old push servers which will be retired, you need to switch
 to getPushKey() 
 | 
| com.codename1.ui.plaf.Border.getEmpty()
 use createEmpty instead 
 | 
| java.lang.Class.getEnclosingConstructor()
 Not supported 
 | 
| java.lang.Class.getEnclosingMethod()
 Not supported 
 | 
| com.codename1.ui.CN.getFileLastModifiedFile(String)
 this API requires additional privacy permissions on iOS
     and might cause problems with iOS submissions 
 | 
| com.codename1.ui.plaf.Border.getFocusedInstance()
 use the getSelectedStyle() method in the component class 
 | 
| java.lang.Class.getGenericInterfaces()
 Not supported 
 | 
| com.codename1.payment.Purchase.getInAppPurchase(boolean)
 use the version that takes no arguments 
 | 
| com.codename1.ui.Display.getInAppPurchase(boolean)
 use the version that accepts no arguments, the physical goods purchase is always
 manual payment if applicable 
 | 
| com.codename1.ui.TextField.getInputMode()
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.util.BigDecimal.getInstance(BigInteger, int)
 This method is not part of the JDK's  
BigDecimal class and its presence is historical, 
 as the first implementation of Codename One's BigDecimal class was ported from BouncyCastle, which is different
 than the JDK's BigDecimal class in that is optimizes binary arithmetic. The implementation of this method
 is counter-intuitive since it performs a bitwise left shift on value before scaling it.  Use BigDecimal(com.codename1.util.BigInteger, int)
 instead if you just want to convert a BigInteger into a BigDecimal.  Do not rely on this method
 as it will be removed in a future version of Codename One.. | 
| com.codename1.ui.Transform.getInverse()
 Use  
Transform.getInverse(com.codename1.ui.Transform) instead. | 
| com.codename1.ui.Display.getKeyCode(int)
 this method doesn't work properly across device and is mocked up here
 mostly for the case of unit testing. Do not use it for anything other than that! Do
 not rely on getKeyCode(GAME_*) == keyCodeFromKeyEvent, this will never actually happen! 
 | 
| com.codename1.charts.renderers.XYMultipleSeriesRenderer.getLabelFormat()
 use getXLabelFormat and getYLabelFormat instead 
 | 
| com.codename1.io.FileSystemStorage.getLastModified(String)
 this API requires additional privacy permissions on iOS
     and might cause problems with iOS submissions 
 | 
| com.codename1.facebook.Post.getLinkName()
 use getName() instead 
 | 
| com.codename1.components.Switch.getListeners()
 This will be removed in a future version. 
 | 
| com.codename1.ui.util.EventDispatcher.getListenerVector()
 use getListenerCollection instead, this method will now be VERY SLOW 
 | 
| com.codename1.io.Log.getLogContent()
 this was practical in old J2ME devices but hasn't been maintained in ages, use sendLog() instead 
 | 
| com.codename1.location.Location.getLongtitude()
 use getLongitude 
 | 
| com.codename1.ui.plaf.Style.getMarginValue(boolean, int) | 
| com.codename1.media.MediaManager.getMediaRecorderingMimeType()
 see getAvailableRecordingMimeTypes() instead 
 | 
| com.codename1.ui.Display.getMediaRecorderingMimeType()
 see getAvailableRecordingMimeTypes() instead 
 | 
| com.codename1.ui.plaf.LookAndFeel.getMenuBarClass()
 this is no longer supported, Toolbar should be used as 
 the extension point 
 | 
| java.lang.Class.getName()
 don't use this method for anything important since class names are obfuscated on the device! 
 | 
| com.codename1.ui.plaf.Style.getPaddingValue(boolean, int) | 
| com.codename1.ui.Component.getPreferredSizeStr()
 This method is primarily for use by the GUI builder.  Use  
Component.getPreferredSize() to find
 the preferred size of a component. | 
| com.codename1.ui.layouts.LayeredLayout.LayeredLayoutConstraint.getReferenceBox(Container, Component)
 Use {@link #getReferenceBox(com.codename1.ui.Container) 
 | 
| com.codename1.ui.layouts.LayeredLayout.LayeredLayoutConstraint.getReferenceBox(Container, Component, Rectangle) | 
| com.codename1.ui.plaf.UIManager.getResourceBundle()
 this method uses the old resource bundle hashtable, use the new getBundle() method 
 | 
| com.codename1.io.ConnectionRequest.getResposeCode()
 misspelled method name please use getResponseCode 
 | 
| com.codename1.ui.Label.getShiftMillimeters() | 
| com.codename1.ui.Display.getShowDuringEditBehavior()
 this method isn't applicable in modern devices 
 | 
| java.lang.Class.getSimpleName()
 don't use this method for anything important since class names are obfuscated on the device! 
 | 
| com.codename1.ui.Display.getSupportedVirtualKeyboard()
 this method is only used in feature phones and has no modern equivalent 
 | 
| com.codename1.ui.Component.getTabIndex()
 This method is used internally when querying the traversal order of the form.  Use  
Component.getPreferredTabIndex() to get the preferred tab index. | 
| com.codename1.ui.Form.getTitleArea()
 this method was exposed to allow some hacks, you are advised not to use it. 
 There are some alternatives such as command behavior (thru Display or the theme constants) 
 | 
| com.codename1.social.FacebookConnect.getToken()
 use getAccessToken instead 
 | 
| com.codename1.ui.Graphics.getTransform()
 Use  
Graphics.getTransform(com.codename1.ui.Transform) instead. | 
| com.codename1.io.Log.getUniqueDeviceId()
 this will no longer work. Use  
Log.getUniqueDeviceKey() | 
| com.codename1.cloud.CloudStorage.getUrlForCloudFileId(String)
 this API is currently deprecated due to Googles cloud storage deprection 
 | 
| com.codename1.ui.Display.getVirtualKeyboardListener() | 
| com.codename1.charts.renderers.DefaultRenderer.getZoomRate() | 
| com.codename1.ui.Form.grabAnimationLock()
 this is effectively invalidated by the newer animation framework 
 | 
| com.codename1.ui.util.Effects.growShrink(Component, int)
 use Component.growShrink instead 
 | 
| com.codename1.io.rest.RequestBuilder.gzip()
 this API was implemented incorrectly 
 | 
| com.codename1.ui.Display.init(Object)
 this method is invoked internally do not invoke it! 
 | 
| com.codename1.capture.VideoCaptureConstraints.init(VideoCaptureConstraints.Compiler)
 Called by the platform.  For internal use only. 
 | 
| java.lang.Throwable.initCause(Throwable)
 DO NOT USE THIS METHOD, its here just to get the compiler working and isn't intended for use 
 | 
| com.codename1.ui.TextField.insertChars(String)
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.Tabs.insertTab(Component, Component, int)
 should use radio button as an argument 
 | 
| com.codename1.io.Util.instanceofByteArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.io.Util.instanceofDoubleArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.io.Util.instanceofFloatArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.io.Util.instanceofIntArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.io.Util.instanceofLongArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.io.Util.instanceofObjArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.io.Util.instanceofShortArray(Object)
 this method serves as a temporary workaround for an XMLVM bug and will be removed 
 once the bug is fixed 
 | 
| com.codename1.social.FacebookConnect.inviteFriends(String, String)
 The Facebook SDK no longer supports app invites. https://developers.facebook.com/blog/post/2017/11/07/changes-developer-offerings/ 
 | 
| com.codename1.social.FacebookConnect.inviteFriends(String, String, Callback)
 The Facebook SDK no longer supports app invites https://developers.facebook.com/blog/post/2017/11/07/changes-developer-offerings/ 
 | 
| com.codename1.ui.layouts.BorderLayout.isAbsoluteCenter()
 use center behavior instead 
 | 
| com.codename1.ui.util.Resources.isAnimation(String)
 animations are no longer distinguished from images in the resource file, use Image.isAnimation instead 
 | 
| com.codename1.ui.Display.isBuiltinSoundAvailable(String)
 this isn't supported on most platforms 
 | 
| com.codename1.ui.TextField.isChangeInputMode(int)
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.charts.renderers.DefaultRenderer.isClickEnabled() | 
| com.codename1.ui.Component.isDragRegion(int, int)
 replaced with getDragRegionStatus 
 | 
| com.codename1.ui.Form.isDragRegion(int, int)
 this method was replaced by getDragRegionStatus 
 | 
| com.codename1.charts.renderers.DefaultRenderer.isExternalZoomEnabled() | 
| com.codename1.charts.renderers.XYSeriesRenderer.isFillBelowLine()
 Use  
XYSeriesRenderer.getFillOutsideLine() instead. | 
| com.codename1.contacts.ContactsManager.isGetAllContactsFast()
 this method was incorrectly introduced and isn't static use isAllContactsFast instead 
 | 
| com.codename1.ui.TextField.isImmediateInputMode(String)
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.io.JSONParser.isIncludeNulls()
 Use  
JSONParser.isIncludeNullsInstance() instead. | 
| java.lang.Class.isLocalClass()
 Not supported 
 | 
| com.codename1.social.FacebookConnect.isLoggedIn()
 use isUserLoggedIn() instead 
 | 
| com.codename1.ui.SideMenuBar.isMenuOpen()
 this code references functionality that is no longer supported and currently always returns false 
 | 
| com.codename1.ui.Display.isNativeCommands()
 use getCommandBehavior() == Display.COMMAND_BEHAVIOR_NATIVE 
 | 
| com.codename1.charts.renderers.DefaultRenderer.isPanEnabled() | 
| com.codename1.io.Socket.isServerSocketSupported()
 server sockets are only supported on Android and Desktop and as such 
 we recommend against using them 
 | 
| com.codename1.ui.plaf.LookAndFeel.isTouchMenus()
 use Display.getCommandBehavior() == Display.COMMAND_BEHAVIOR_TOUCH_MENU 
 | 
| com.codename1.payment.Purchase.isUnsubscribeSupported()
 use  
Purchase.isManageSubscriptionsSupported() instead | 
| com.codename1.io.JSONParser.isUseBoolean()
 Use  
JSONParser.isUseBooleanInstance() instead. | 
| com.codename1.io.JSONParser.isUseLongs()
 Use  
JSONParser.isUseLongsInstance() to check whether the current JSONParser uses longs. | 
| com.codename1.ui.TextField.isUseNativeTextInput()
 this API is no longer useful and should be avoided 
 | 
| com.codename1.ui.Display.isVirtualKeyboardShowing()
 this method was only relevant for feature phones. 
 You should use  
TextArea.isEditing() instead. | 
| com.codename1.charts.renderers.DefaultRenderer.isZoomButtonsVisible() | 
| com.codename1.charts.renderers.DefaultRenderer.isZoomEnabled() | 
| com.codename1.payment.PurchaseCallback.itemRefunded(String)
 This callback is no longer used.  Use the Receipts API to check if the user currently "owns" a product.  See https://www.codenameone.com/blog/intro-to-in-app-purchase.html for a guide
 into how to set up in-app purchase for all scenarios including subscriptions. 
 | 
| com.codename1.ui.layouts.mig.Grid.layout(int[], UnitValue, UnitValue, boolean, boolean)
 since 5.0 Last boolean is not needed and is gotten from the
 new  
net.miginfocom.layout.ComponentWrapper#getContentBias()
 instead; | 
| com.codename1.io.Socket.listen(int, Class)
 server sockets are only supported on Android and Desktop and as such 
 we recommend against using them 
 | 
| com.codename1.social.FacebookConnect.login()
 use doLogin 
 | 
| com.codename1.social.FacebookConnect.logout()
 use doLogout instead 
 | 
| com.codename1.ui.Display.notifyStatusBar(String, String, String, boolean, boolean)
 there is a new version of this method with a slightly improved
 signature 
 | 
| com.codename1.ui.Display.notifyStatusBar(String, String, String, boolean, boolean, Hashtable)
 use scheduleLocalNotification instead 
 | 
| com.codename1.ui.Display.numAlphaLevels()
 this method isn't implemented in most modern devices 
 | 
| com.codename1.ui.Display.numColors()
 this method isn't implemented in most modern devices 
 | 
| com.codename1.ui.Display.openImageGallery(ActionListener)
 see openGallery instead 
 | 
| com.codename1.ui.Component.paintIntersectingComponentsAbove(Graphics)
 For internal use only 
 | 
| com.codename1.io.JSONParser.parse(Reader)
 use the new parseJSON instead 
 | 
| com.codename1.ui.Dialog.placeButtonCommands(Command[])
 this method shouldn't be invoked externally, it should have been private 
 | 
| com.codename1.ui.Display.playBuiltinSound(String)
 this isn't supported on most platforms 
 | 
| com.codename1.payment.Purchase.postReceipt(String, String, String, long, String)
 For internal implementation use only. 
 | 
| com.codename1.cloud.CloudStorage.refresh(CloudObject[])
 this feature is no longer supported 
 | 
| com.codename1.ui.TextArea.registerAsInputDevice()
 Don't call this method directly, unless you really know what you're doing.  It is used
 primarily by implementation APIs. 
 | 
| com.codename1.ui.Display.registerPush(Hashtable, boolean)
 use  
Display.registerPush() the Android push id should be set with the build hint gcm.sender_id which will work for Chrome JavaScript builds too | 
| com.codename1.ui.Display.registerPush(String, boolean)
 use  
Display.registerPush() the Android push id should be set with the build hint gcm.sender_id which will work for Chrome JavaScript builds too | 
| com.codename1.ui.Display.registerVirtualKeyboard(VirtualKeyboardInterface)
 this method is only used in feature phones and has no modern equivalent 
 | 
| com.codename1.ui.Form.releaseAnimationLock()
 this is effectively invalidated by the newer animation framework 
 | 
| com.codename1.ui.Calendar.removeDataChangeListener(DataChangedListener)
 use #removeDataChangedListener(DataChangedListener) instead 
 | 
| com.codename1.ui.TextArea.removeDataChangeListener(DataChangedListener)
 use #removeDataChangedListener(DataChangedListener) instead 
 | 
| com.codename1.ui.Tabs.removeTabsFocusListener(FocusListener)
 use addSelectionListener instead 
 | 
| com.codename1.ui.Graphics.rotate(float)
 The behaviour of this method is inconsistent with the rest of the API, in that it doesn't
 take into account the current Graphics context's translation.  Rotation is performed around the Screen's origin
 rather than the current Graphics context's translated origin.  Prefer to use  
Graphics.rotateRadians(float) 
 which pivots around the context's translated origin. | 
| com.codename1.ui.Graphics.rotate(float, int, int)
 The behaviour of this method is inconsistent with the rest of the API, in that the pivotX and pivotY parameters
 are expressed in absolute screen coordinates and don't take into account the current Graphics context's translation.  Prefer
 to use  
Graphics.rotateRadians(float, int, int) whose pivot coordinates are relative to the current translation. | 
| com.codename1.io.Properties.save(OutputStream, String)
 This method ignores any  
IOException thrown while
             writing -- use Properties.store(java.io.OutputStream, java.lang.String) instead for better exception
             handling. | 
| com.codename1.util.MathUtil.scalbn(double, int)
 Please update your code to use scalb 
 | 
| com.codename1.ui.Image.scale(int, int)
 scale should return an image rather than modify the image in place
 use scaled(int, int) instead 
 | 
| com.codename1.messaging.Message.sendMessageViaCloud(String, String, String, String, String)
 this functionality is retired and no longer works. You can use the sendgrid cn1lib or similar libraries 
 | 
| com.codename1.messaging.Message.sendMessageViaCloudSync(String, String, String, String, String)
 this functionality is retired and no longer works. You can use the sendgrid cn1lib or similar libraries 
 | 
| com.codename1.push.Push.sendPushMessage(String, String, boolean, String, String, String)
 this method sends a push using the old push servers which will be retired, you need to switch
 to the equivalent method that accepts a push token 
 | 
| com.codename1.push.Push.sendPushMessage(String, String, boolean, String, String, String, int, String...)
 Please use new builder syntax with  
Push.send() which includes parameters for new platforms such as UWP. | 
| com.codename1.push.Push.sendPushMessage(String, String, boolean, String, String, String, String, String, String, String)
 this method sends a push using the old push servers which will be retired, you need to switch
 to the equivalent method that accepts a push token 
 | 
| com.codename1.push.Push.sendPushMessage(String, String, String, boolean, String, String, String)
 Please use new builder syntax with  
Push.send() which includes parameters for new platforms such as UWP. | 
| com.codename1.push.Push.sendPushMessage(String, String, String, boolean, String, String, String, String, String, String, String)
 Please use new builder syntax with  
Push.send() which includes parameters for new platforms such as UWP. | 
| com.codename1.push.Push.sendPushMessageAsync(String, String, boolean, String, String, String)
 this method sends a push using the old push servers which will be retired, you need to switch
 to the equivalent method that accepts a push token 
 | 
| com.codename1.push.Push.sendPushMessageAsync(String, String, boolean, String, String, String, String, String, String, String)
 this method sends a push using the old push servers which will be retired, you need to switch
 to the equivalent method that accepts a push token 
 | 
| com.codename1.push.Push.sendPushMessageAsync(String, String, String, boolean, String, String, String)
 Please use new builder syntax with  
Push.sendAsync() which includes parameters for new platforms such as UWP. | 
| com.codename1.push.Push.sendPushMessageAsync(String, String, String, boolean, String, String, String, String, String, String, String)
 Please use new builder syntax with  
Push.sendAsync() which includes parameters for new platforms such as UWP. | 
| com.codename1.ui.layouts.BorderLayout.setAbsoluteCenter(boolean)
 use center behavior instead 
 | 
| com.codename1.push.PushContent.setActionId(String)
 For internal use only. 
 | 
| com.codename1.ui.Label.setAlignment(int)
 use Style.setAlignment instead 
 | 
| com.codename1.ui.Button.setAlignment(int)
 use the Style alignment instead 
 | 
| com.codename1.ui.TextArea.setAlignment(int)
 use Style.setAlignment instead 
 | 
| com.codename1.ui.Form.setBgImage(Image)
 Use the style directly 
 | 
| com.codename1.push.PushContent.setBody(String)
 For internal use only 
 | 
| com.codename1.ui.Component.setBoundPropertyValue(String, Object)
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.BrowserComponent.setBrowserNavigationCallback(BrowserNavigationCallback)
 Use {@link #addBrowserNavigationCallback(com.codename1.ui.events.BrowserNavigationCallback) Instead 
 | 
| com.codename1.push.PushContent.setCategory(String)
 For internal use only. 
 | 
| com.codename1.xml.Element.setChildren(Vector)
 this uses the old vector API instead of the more modern Collection/List 
 | 
| com.codename1.charts.renderers.DefaultRenderer.setClickEnabled(boolean) | 
| com.codename1.ui.Component.setCloudBoundProperty(String)
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Component.setCloudDestinationProperty(String)
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Display.setCommandBehavior(int)
 we recommend migrating to the  
Toolbar API. When using the toolbar the command
 behavior can't be manipulated | 
| com.codename1.components.InfiniteScrollAdapter.setComponentLimit(int)
 this feature has some inherent problems and doesn't work as expected 
 | 
| com.codename1.ui.TextField.setDefaultChangeInputModeKey(int)
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.TextField.setDefaultInputModeOrder(String[])
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.layouts.mig.UnitValue.setDefaultUnit(int) | 
| com.codename1.ui.Display.setDefaultVirtualKeyboard(VirtualKeyboardInterface)
 this method is only used in feature phones and has no modern equivalent 
 | 
| com.codename1.charts.renderers.DefaultRenderer.setExternalZoomEnabled(boolean) | 
| com.codename1.charts.renderers.XYSeriesRenderer.setFillBelowLine(boolean)
 Use  
XYSeriesRenderer.addFillOutsideLine(FillOutsideLine) instead. | 
| com.codename1.charts.renderers.XYSeriesRenderer.setFillBelowLineColor(int)
 Use FillOutsideLine.setColor instead 
 | 
| com.codename1.ui.Component.setFocus(boolean)
 this method shouldn't be invoked by user code, use requestFocus() instead 
 | 
| com.codename1.ui.plaf.Border.setFocusedInstance(Border)
 use the getSelectedStyle() method in the component class 
 | 
| com.codename1.ui.FontImage.setFontIcon(Label, Font, char[], float)
 use  
Label.setMaterialIcon(char, float) instead | 
| com.codename1.ui.FontImage.setFontIcon(Label, Font, char, float)
 use  
Label.setMaterialIcon(char, float) instead | 
| com.codename1.push.PushContent.setImageUrl(String)
 For internal use only. 
 | 
| com.codename1.util.StringUtil.setImplementation(CodenameOneImplementation)
 exposed as part of an internal optimization, this method isn't meant for general access 
 | 
| com.codename1.io.JSONParser.setIncludeNulls(boolean)
 Use  
JSONParser.setIncludeNullsInstance(boolean) instead. | 
| com.codename1.ui.TextField.setInputMode(String)
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.TextField.setInputModeOrder(String[])
 this is a method for use only on old J2ME devices and is ignored everywhere else 
 | 
| com.codename1.ui.Component.setIsScrollVisible(boolean)
 replaced by setScrollVisible to match the JavaBeans spec 
 | 
| com.codename1.ui.List.setListCellRenderer(ListCellRenderer)
 use setRenderer instead, this method was deprecated to confirm
 better to JavaBean convention of having the getter/setter with the same name 
 | 
| com.codename1.location.Location.setLongtitude(double)
 use setLongitude 
 | 
| com.codename1.ui.FontImage.setMaterialIcon(Label, char)
 use  
Label.setMaterialIcon(char, float) instead | 
| com.codename1.ui.plaf.LookAndFeel.setMenuBarClass(Class)
 this is no longer supported, Toolbar should be used as 
 the extension point 
 | 
| com.codename1.push.PushContent.setMetaData(String)
 For internal use only. 
 | 
| com.codename1.ui.Display.setNativeCommands(boolean)
 use setCommandBehavior(Display.COMMAND_BEHAVIOR_NATIVE) 
 | 
| com.codename1.charts.renderers.DefaultRenderer.setPanEnabled(boolean) | 
| com.codename1.ui.Component.setPreferredH(int)
 this method shouldn't be used, use sameWidth/Height, padding, margin or override calcPeferredSize
 to reach similar functionality 
 | 
| com.codename1.ui.Component.setPreferredSize(Dimension)
 this method shouldn't be used, use sameWidth/Height, padding, margin or override calcPeferredSize
 to reach similar functionality 
 | 
| com.codename1.ui.Component.setPreferredSizeStr(String)
 this method shouldn't be used, use sameWidth/Height, padding, margin or override calcPeferredSize
 to reach similar functionality 
 | 
| com.codename1.ui.Component.setPreferredW(int)
 this method shouldn't be used, use sameWidth/Height, padding, margin or override calcPeferredSize
 to reach similar functionality 
 | 
| com.codename1.ui.plaf.UIManager.setResourceBundle(Hashtable)
 this method uses the old resource bundle hashtable, use the new setBundle() method 
 | 
| com.codename1.ui.util.Resources.setRuntimeMultiImageEnabled(boolean)
 do not use this method! 
 | 
| com.codename1.ui.Container.setScrollable(boolean)
 use setScrollableX and setScrollableY instead. This method is deprecated since it breeds confusion and is often misunderstood. 
 | 
| com.codename1.ui.Display.setShowDuringEditBehavior(int)
 this method isn't applicable in modern devices 
 | 
| com.codename1.ui.Display.setShowVirtualKeyboard(boolean)
 this method was only relevant for feature phones. 
 You should use  
TextArea.startEditingAsync() or TextArea.stopEditing()
 to control text field editing/VKB visibility | 
| com.codename1.ui.Component.setSnapToGrid(boolean) | 
| com.codename1.ui.Component.setTabIndex(int)
 This method is called internally by the layout manager each time the traversal order of the form is queried.  Use  
Component.setPreferredTabIndex(int) instead. | 
| com.codename1.push.PushContent.setTextResponse(String)
 For internal use only. 
 | 
| com.codename1.io.NetworkManager.setThreadCount(int)
 since the network is always running in Codename One this method is quite confusing
 unfortunately fixing it will probably break working code. You should migrate the code to use 
  
NetworkManager.updateThreadCount(int) | 
| com.codename1.push.PushContent.setTitle(String)
 For internal use only. 
 | 
| com.codename1.ui.Form.setTitleStyle(Style)
 this method doesn't take into consideration multiple styles 
 | 
| com.codename1.ui.Form.setToolBar(Toolbar)
 use setToolbar instead (lower case b) 
 | 
| com.codename1.ui.plaf.LookAndFeel.setTouchMenus(boolean)
 use Display.setCommandBehavior(Display.COMMAND_BEHAVIOR_TOUCH_MENU) 
 | 
| com.codename1.push.PushContent.setType(int)
 For internal use only. 
 | 
| com.codename1.io.JSONParser.setUseBoolean(boolean)
 Use  
JSONParser.setUseBooleanInstance(boolean) instead. | 
| com.codename1.io.JSONParser.setUseLongs(boolean) | 
| com.codename1.ui.TextField.setUseNativeTextInput(boolean)
 this API is no longer useful and should be avoided 
 | 
| com.codename1.ui.Display.setVirtualKeyboardListener(ActionListener) | 
| com.codename1.charts.renderers.DefaultRenderer.setZoomButtonsVisible(boolean) | 
| com.codename1.charts.renderers.DefaultRenderer.setZoomEnabled(boolean) | 
| com.codename1.charts.renderers.DefaultRenderer.setZoomRate(float) | 
| com.codename1.ui.Display.share(String)
 use the method share that accepts an image and mime type 
 | 
| com.codename1.ui.Dialog.show(int, int, int, int, boolean)
 use the version that doesn't accept the include title, the includeTitle 
 feature is no longer supported 
 | 
| com.codename1.ui.Dialog.show(int, int, int, int, boolean, boolean)
 use showAtPosition, the includeTitle flag is no longer supported 
 | 
| com.codename1.components.InfiniteProgress.showInifiniteBlocking()
 typo in method name please use  
InfiniteProgress.showInfiniteBlocking() instead | 
| com.codename1.io.Log.showLog()
 this method is an outdated method that's no longer supported 
 | 
| com.codename1.ui.Dialog.showStetched(String, boolean)
 due to typo use showStretched instead 
 | 
| com.codename1.ui.layouts.mig.AC.shrinkWeight(float)
 in 3.7.2. Use  
AC.shrink(float) instead. | 
| com.codename1.ui.layouts.mig.AC.shrinkWeight(float, int...)
 in 3.7.2. Use  
AC.shrink(float, int...) instead. | 
| com.codename1.io.NetworkManager.shutdown()
 This method is for internal use only 
 | 
| com.codename1.testing.TestReporting.startingTestCase(UnitTest)
 this method is no longer invoked by the testing framework; please use  
TestReporting.startingTestCase(String) | 
| com.codename1.ui.Display.startThread(Runnable, String)
 confusing name use  
Display.createThread(java.lang.Runnable, java.lang.String) instead | 
| com.codename1.ui.CN.startThread(Runnable, String)
 confusing name, use  
CN.createThread(java.lang.Runnable, java.lang.String) instead | 
| com.codename1.payment.PurchaseCallback.subscriptionCanceled(String)
 Subscriptions should be handled directly in the associated store (iOS/Google Play, etc..).  See https://www.codenameone.com/blog/intro-to-in-app-purchase.html for a guide
 into how to set up in-app purchase for all scenarios including subscriptions. 
 | 
| com.codename1.payment.PurchaseCallback.subscriptionStarted(String)
 Subscriptions should be handled directly in the associated store (iOS/Google Play, etc..).  See https://www.codenameone.com/blog/intro-to-in-app-purchase.html for a guide
 into how to set up in-app purchase for all scenarios including subscriptions. 
 | 
| com.codename1.testing.TestReporting.testExecutionFinished()
 this method is no longer invoked by the testing framework; please use  
TestReporting.testExecutionFinished(String) | 
| com.codename1.util.StringUtil.tokenizeString(String, char)
 use the tokenize() method instead 
 | 
| com.codename1.util.StringUtil.tokenizeString(String, String)
 use the  
StringUtil.tokenize(java.lang.String, java.lang.String) method instead | 
| com.codename1.ui.Component.unbindProperty(String, BindTarget)
 this mapped to an older iteration of properties that is no longer used 
 | 
| com.codename1.ui.Calendar.updateButtonDayDate(Button, int, int)
 override the method that accepts a generic component 
 | 
| com.codename1.ui.Calendar.updateButtonDayDate(Button, int, int, int)
 override the method that accepts a generic component 
 | 
| com.codename1.ui.Container.updateTabIndices(int)
 For internal use only. 
 | 
| com.codename1.cloud.CloudStorage.uploadCloudFile(String, String)
 this API is currently deprecated due to Googles cloud storage deprection 
 | 
| com.codename1.cloud.CloudStorage.uploadCloudFile(String, String, InputStream, int)
 this API is currently deprecated due to Googles cloud storage deprection 
 | 
| com.codename1.testing.TestReporting.writeReport(OutputStream)
 this method is no longer invoked by the testing framework; please use  
TestReporting.writeReport(String, OutputStream) |