{"id":12124,"date":"2010-12-15T12:43:51","date_gmt":"2010-12-15T12:43:51","guid":{"rendered":"https:\/\/masabidev.wpengine.com\/news\/experiences-rapidly-porting-j2me-apps-to-android\/"},"modified":"2014-11-25T15:22:02","modified_gmt":"2014-11-25T15:22:02","slug":"experiences-rapidly-porting-j2me-apps-to-android","status":"publish","type":"post","link":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/","title":{"rendered":"Experiences Rapidly Porting J2ME Apps to Android"},"content":{"rendered":"<div class=\"block-\">Masabi has a fully integrated Android app launching early next year, with a UI carefully crafted to fit the current best interface guidelines for the platform, adapting to different device form factors (just as we do with our MIDP apps) and integrating into the OS and other apps using carefully designed intents, content providers etc.<br \/>\nWe have always believed in tailoring an app\u2019s UI to the platform, following the expectations of the user rather than seeking a consistent brand experience across devices \u2013 because the user only uses the app on one platform and is entirely geared to understanding how their own phone works. Any app that breaks those conventions risks annoyance by being awkward to use.<\/p>\n<p>However, with Christmas rapidly approaching, and our BlackBerry and Nokia apps proving extremely popular, we realised it made sense to offer a high quality interim Android app to meet the immediate needs of this rapidly growing user base. <\/p>\n<p>While it would lack the complete integration of our native Android app launching in a month or so it was essential that the app provide a simple, quick, attractive and above all user friendly means for looking up train times and buying tickets. But how could this be done?<\/p>\n<h2>MicroEmu To The Rescue<\/h2>\n<p>If you have a working touch-screen app in MIDP, it is remarkably easy these days to get that code running on Android \u2013 it\u2019s by no means a standard \u201cAndroid app\u201d, but it is an app that users can use and as an interim measure that can be very attractive.<\/p>\n<p style=\"text-align:center\"><a href=\"https:\/\/www.microemu.org\/\"><img loading=\"lazy\" decoding=\"async\" style=\"border:0\" src=\"http:\/\/localhost:10003\/wp-content\/uploads\/2010\/12\/microemu.png\" alt=\"\" title=\"microemu\" width=\"295\" height=\"37\" class=\"alignnone size-full wp-image-1860\" \/><\/a><\/p>\n<p>This is achieved using an automated Jar-to-APK conversion tool built into the open source <a href=\"https:\/\/www.microemu.org\/\">MicroEmu project<\/a>.  The steps for a basic conversion go something like this:<\/p>\n<ol>\n<li>Check out the entire microemu project from Subversion: <code>https:\/\/microemu.googlecode.com\/svn\/trunk\/microemulator<\/code><\/li>\n<li>Build the entire microemu project using Maven \u2013 for me, this worked from the command line (default target \u2013 so just type \u201cmvn\u201d in the root), but did not work from the Eclipse M2 plugin (no idea why\u2026)<\/li>\n<li>Point the <em>microemu-android\/build.xml<\/em> Ant file at your jad and jar, and run the <em>package-apk<\/em> target.<\/li>\n<\/ol>\n<p>At this point, you should be able to install the APK through a cable (eg. using <a href=\"https:\/\/www.htc.com\/www\/SupportViewNews.aspx?dl_id=1062&#038;news_id=806\">HTC Sync<\/a> on a Desire) or via e-mail or a web server.  Remember that you may need to visit the <em>Settings<\/em> app, go to the <em>Applications<\/em> section and check <em>\u201cUnknown sources \u2013 allow installation of non-Market applications\u201d<\/em>:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/localhost:10003\/wp-content\/uploads\/2010\/12\/settings.png\" alt=\"\" title=\"Android Settings\" width=\"668\" height=\"326\" class=\"alignnone size-full wp-image-1855\" \/><\/p>\n<h2>Picking The Right MIDP Jar<\/h2>\n<p>Our <a href=\"http:\/\/localhost:10003\/passengers\/nokia\/\">Nokia<\/a> and <a href=\"http:\/\/localhost:10003\/passengers\/blackberry-handsets\/\">Blackberry<\/a> MIDP app runs using our own custom application framework inside a <code>Canvas<\/code>, which brings advantages and disadvantages.  Therefore converting LCDUI components using MicroEmu was a new approach; however, if you have your own Canvas based framework here are the considerations for making the conversion work well:<\/p>\n<ul>\n<li>Touch-screen enabled, working a lot like Android\u2019s UI (and other modern touch interfaces)\n<ul>\n<li>Don\u2019t show \u201csoft key\u201d style buttons in the footer (as used eg. in Symbian^3).<\/li>\n<\/ul>\n<\/li>\n<li>Back actions should be triggered by MIDP physical key code <code>-4<\/code>\n<ul>\n<li>Don\u2019t use an on-screen touch button.<\/li>\n<\/ul>\n<\/li>\n<li>Accept QWERTY keypresses in the normal way\n<ul>\n<li>Physical key codes are the key character\u2019s ASCII\/UTF-8 value.<\/li>\n<\/ul>\n<\/li>\n<li>Accept Up\/Down\/Left\/Right keypresses using <code>Canvas.UP<\/code>, etc key codes;<\/li>\n<li>Optionally, trigger any Search features using the Search physical key code <code>-84<\/code>;<\/li>\n<li>Optimise graphics for screens ranging between 320&#215;480 and 480&#215;800.<\/li>\n<\/ul>\n<h2>Tidying Up The Conversion<\/h2>\n<p>The basic conversion introduces a number of compromises, which we solved by forking our local copy of MicroEmu.  We opted not to push these back to the original project because the changes we made were simply to allow us to launch a specific app in a short timeframe, rather than being fixes of wider benefit to the community.  Issues we encountered included:<\/p>\n<ul>\n<li>Tweaking font sizes to match our layouts;<\/li>\n<li>Turning off anti-aliassing in AndroidDisplayGraphics\n<ul>\n<li><code>setAntiAlias<\/code> to false instead of true wherever possible;<\/li>\n<li>If anti-aliassing is on then a number of MIDP graphics techniques \u2013 eg. drawing adjacent lines to create graduated fills \u2013 fail, ending up looking very blurry and semi transparent<\/li>\n<\/ul>\n<\/li>\n<li>The screen buffer now uses an <code>ARGB_8888<\/code> Bitmap instead of an <code>RGB_565<\/code>\n<ul>\n<li>This increases the colour depth, and leads to nicer looking graphics;<\/li>\n<li>For this depth to then make it onto the screen, it proved essential to turn on dithering on the CanvasView inner class of the AndroidCanvasUI.<\/li>\n<\/ul>\n<\/li>\n<li><code>AndroidDisplayGraphics<\/code> was adjusted to honour an alpha channel set using <code>setColor<\/code>\n<ul>\n<li><code>getColor<\/code> always masks off alpha channel;<\/li>\n<li>This allows us to plot semi-transparent features on the screen, without resorting to PNG24 images.<\/li>\n<\/ul>\n<\/li>\n<li>Screen rotation was turned off by fixing the app to portrait orientation in the manifest\n<ul>\n<li>MicroEmu interacted very badly with the MIDP Canvas.sizeChanged event method, and it was easier to turn rotation off then fix the bug.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Compromises<\/h2>\n<p>The key compromise is that resource loading bypasses Android\u2019s own <a href=\"https:\/\/developer.android.com\/guide\/practices\/screens_support.html\">rather nice versatile resource loading system<\/a> which would usually load appropriately sized resources for you.<\/p>\n<p>In our case, this meant that we had to drop support for \u201csmall\u201d Android screens \u2013 anything around the QVGA mark \u2013 because images that looked good on \u201cnormal\u201d and \u201clarge\u201d screens totally failed to work nicely on small screens.  As of August 2010, these two supported screen sizes cover <a href=\"https:\/\/developer.android.com\/resources\/dashboard\/screens.html\">well over 90% of Android handsets<\/a>, though as Android devices are pushed into the cheaper end of the market the share of small screens will grow.  We will support the remaining segments of the market with our future full Android application.<\/p>\n<p>Needless to say our preference is for native apps and this is ultimately what we will always deliver. However, this exercise has illustrated that it is perfectly possible to develop highly compelling Android apps in a timely manner based on ports from different platforms.  Undoubtedly there will be some die-hard Android users who love native apps and their unique UI features (this most certainly includes us!) but if you want to deliver a great looking app that\u2019s highly user friendly based on a different platform it\u2019s clearly achievable if the right steps are taken.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Masabi has a fully integrated Android app launching early next year, with a UI carefully crafted to fit the current best interface guidelines for the platform, adapting to different device form factors (just as we do with our MIDP apps) and integrating into the OS and other apps using carefully designed intents, content providers etc. [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-12124","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Experiences Rapidly Porting J2ME Apps to Android - Masabi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Experiences Rapidly Porting J2ME Apps to Android - Masabi\" \/>\n<meta property=\"og:description\" content=\"Masabi has a fully integrated Android app launching early next year, with a UI carefully crafted to fit the current best interface guidelines for the platform, adapting to different device form factors (just as we do with our MIDP apps) and integrating into the OS and other apps using carefully designed intents, content providers etc. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/\" \/>\n<meta property=\"og:site_name\" content=\"Masabi\" \/>\n<meta property=\"article:published_time\" content=\"2010-12-15T12:43:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-25T15:22:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.masabi.com\/wp-content\/uploads\/2017\/08\/screenshot-2017-08-11_11.55.53.966.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1920\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tom Godber\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tom Godber\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/\"},\"author\":{\"name\":\"Tom Godber\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/#\\\/schema\\\/person\\\/03ddc0b4368069eb9e5a9e9d9d17e97c\"},\"headline\":\"Experiences Rapidly Porting J2ME Apps to Android\",\"datePublished\":\"2010-12-15T12:43:51+00:00\",\"dateModified\":\"2014-11-25T15:22:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/\"},\"wordCount\":989,\"image\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/localhost:10003\\\/wp-content\\\/uploads\\\/2010\\\/12\\\/microemu.png\",\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/\",\"url\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/\",\"name\":\"Experiences Rapidly Porting J2ME Apps to Android - Masabi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/localhost:10003\\\/wp-content\\\/uploads\\\/2010\\\/12\\\/microemu.png\",\"datePublished\":\"2010-12-15T12:43:51+00:00\",\"dateModified\":\"2014-11-25T15:22:02+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/#\\\/schema\\\/person\\\/03ddc0b4368069eb9e5a9e9d9d17e97c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#primaryimage\",\"url\":\"http:\\\/\\\/localhost:10003\\\/wp-content\\\/uploads\\\/2010\\\/12\\\/microemu.png\",\"contentUrl\":\"http:\\\/\\\/localhost:10003\\\/wp-content\\\/uploads\\\/2010\\\/12\\\/microemu.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/news\\\/experiences-rapidly-porting-j2me-apps-to-android\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Experiences Rapidly Porting J2ME Apps to Android\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/\",\"name\":\"Masabi\",\"description\":\"Making shared transport the first choice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/it\\\/#\\\/schema\\\/person\\\/03ddc0b4368069eb9e5a9e9d9d17e97c\",\"name\":\"Tom Godber\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4db29d09205fdf139cd15ed5d9b41dff69022faa7d603eed888ea6d0bfc8fe81?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4db29d09205fdf139cd15ed5d9b41dff69022faa7d603eed888ea6d0bfc8fe81?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4db29d09205fdf139cd15ed5d9b41dff69022faa7d603eed888ea6d0bfc8fe81?s=96&d=mm&r=g\",\"caption\":\"Tom Godber\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Experiences Rapidly Porting J2ME Apps to Android - Masabi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/","og_locale":"it_IT","og_type":"article","og_title":"Experiences Rapidly Porting J2ME Apps to Android - Masabi","og_description":"Masabi has a fully integrated Android app launching early next year, with a UI carefully crafted to fit the current best interface guidelines for the platform, adapting to different device form factors (just as we do with our MIDP apps) and integrating into the OS and other apps using carefully designed intents, content providers etc. [&hellip;]","og_url":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/","og_site_name":"Masabi","article_published_time":"2010-12-15T12:43:51+00:00","article_modified_time":"2014-11-25T15:22:02+00:00","og_image":[{"width":1080,"height":1920,"url":"https:\/\/www.masabi.com\/wp-content\/uploads\/2017\/08\/screenshot-2017-08-11_11.55.53.966.png","type":"image\/png"}],"author":"Tom Godber","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Tom Godber","Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#article","isPartOf":{"@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/"},"author":{"name":"Tom Godber","@id":"https:\/\/www.masabi.com\/it\/#\/schema\/person\/03ddc0b4368069eb9e5a9e9d9d17e97c"},"headline":"Experiences Rapidly Porting J2ME Apps to Android","datePublished":"2010-12-15T12:43:51+00:00","dateModified":"2014-11-25T15:22:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/"},"wordCount":989,"image":{"@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#primaryimage"},"thumbnailUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2010\/12\/microemu.png","inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/","url":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/","name":"Experiences Rapidly Porting J2ME Apps to Android - Masabi","isPartOf":{"@id":"https:\/\/www.masabi.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#primaryimage"},"image":{"@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#primaryimage"},"thumbnailUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2010\/12\/microemu.png","datePublished":"2010-12-15T12:43:51+00:00","dateModified":"2014-11-25T15:22:02+00:00","author":{"@id":"https:\/\/www.masabi.com\/it\/#\/schema\/person\/03ddc0b4368069eb9e5a9e9d9d17e97c"},"breadcrumb":{"@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#primaryimage","url":"http:\/\/localhost:10003\/wp-content\/uploads\/2010\/12\/microemu.png","contentUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2010\/12\/microemu.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.masabi.com\/it\/news\/experiences-rapidly-porting-j2me-apps-to-android\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.masabi.com\/it\/"},{"@type":"ListItem","position":2,"name":"Experiences Rapidly Porting J2ME Apps to Android"}]},{"@type":"WebSite","@id":"https:\/\/www.masabi.com\/it\/#website","url":"https:\/\/www.masabi.com\/it\/","name":"Masabi","description":"Making shared transport the first choice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.masabi.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.masabi.com\/it\/#\/schema\/person\/03ddc0b4368069eb9e5a9e9d9d17e97c","name":"Tom Godber","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/4db29d09205fdf139cd15ed5d9b41dff69022faa7d603eed888ea6d0bfc8fe81?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4db29d09205fdf139cd15ed5d9b41dff69022faa7d603eed888ea6d0bfc8fe81?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4db29d09205fdf139cd15ed5d9b41dff69022faa7d603eed888ea6d0bfc8fe81?s=96&d=mm&r=g","caption":"Tom Godber"}}]}},"_links":{"self":[{"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/posts\/12124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/comments?post=12124"}],"version-history":[{"count":0,"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/posts\/12124\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/media?parent=12124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/categories?post=12124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.masabi.com\/it\/wp-json\/wp\/v2\/tags?post=12124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}