{"id":232,"date":"2010-07-22T00:11:08","date_gmt":"2010-07-21T15:11:08","guid":{"rendered":"http:\/\/www.typea.info\/blog\/index.php\/2010\/07\/22\/android_x06ht_desire_1\/"},"modified":"2010-07-22T00:11:08","modified_gmt":"2010-07-21T15:11:08","slug":"android_x06ht_desire_1","status":"publish","type":"post","link":"https:\/\/www.typea.info\/blog\/index.php\/2010\/07\/22\/android_x06ht_desire_1\/","title":{"rendered":"Android (X06HT Desire) \u5165\u529b\u30c0\u30a4\u30a2\u30ed\u30b0\u3001\u78ba\u8a8d\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u5171\u901a\u5316\u3002"},"content":{"rendered":"<p>\u4eca\u65e5\u306f\u3001<a href=\"http:\/\/k-tai.impress.co.jp\/docs\/news\/20100721_382185.html\">X06HT\u304c\u8ca9\u58f2\u7d42\u4e86\u3059\u308b<\/a>\u3063\u3066\u8a71\u304c\u98db\u3073\u4ea4\u3063\u3066\u3044\u308b\u3002<\/p>\n<p>\u6709\u6a5fEL\u306e\u4f9b\u7d66\u4e0d\u8db3\u3067X06HT\u81ea\u4f53\u3092\u5b89\u5b9a\u4f9b\u7d66\u3067\u304d\u306a\u3044\u305f\u3081\u306e\u4e00\u6642\u8ca9\u58f2\u4f11\u6b62\u3060\u3068\u601d\u3044\u305f\u3044\u3002\u516c\u5f0f\u767a\u8868\u3092\u5f85\u3064\u3002<\/p>\n<p>\u8ca9\u58f2\u7d42\u4e86\u3067\u3082\u3001Softbank \u304b\u3089\u3001Android \u643a\u5e2f\u304c\u767a\u58f2\u3055\u308c\u308c\u3070\u3001\u307e\u3041\u826f\u3068\u3059\u308b\u304c\u3001\u3055\u308c\u306a\u304b\u3063\u305f\u3089\u81f3\u6975\u6b8b\u5ff5\u3060\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u307e\u3041\u3044\u3044\u3084\u3002<\/p>\n<p>Android\u3000\u3067\u306f\u3001\u30c0\u30a4\u30a2\u30ed\u30b0\u30dc\u30c3\u30af\u30b9\u3092\u4f7f\u3046\u306e\u306b\u3001JavaScript \u306e alert \u3084 confirm \u307f\u305f\u3044\u306b\u6c17\u8efd\u306b\u4f7f\u3048\u308b\u3068\u3044\u3044\u306e\u3060\u3051\u3069\u3001\u3069\u3046\u3082\u7528\u610f\u3055\u308c\u3066\u3044\u306a\u3044\u307f\u305f\u3044\u3002\u4f7f\u3044\u56de\u3057\u305f\u3044\u306e\u3067\u5171\u901a\u5316\u3057\u3068\u304d\u305f\u3044\u304c\u3001\u3069\u3046\u3057\u305f\u3089\u3044\u3044\u304b\u306a\uff5e\u3068\u3002<\/p>\n<p><a href=\"\/blg\/glob\/2010\/06\/google_android.html\">\u624b\u5143\u306e\u672c<\/a>\u3000\u306b\u3082\u3001\u305d\u3053\u307e\u3067\u306e\u3053\u3068\u306f\u66f8\u3044\u3066\u306a\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u4e00\u6669\u8003\u3048\u3066\u3001\u4f7f\u3048\u305d\u3046\u306a\u5f62\u306b\u306a\u3063\u305f\u306e\u3067\u3001\u30e1\u30e2<\/p>\n<h2>\u5171\u901a\u3067\u4f5c\u6210\u3059\u308b\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u7a2e\u985e<\/h2>\n<ul>\n<li>alert\u3000\u30fb\u30fb\u30fb OK \u30dc\u30bf\u30f3\u306e\u307f\u3002\u8b66\u544a\n<li>confirm \u30fb\u30fb\u30fb OK \u3001Cancel \u78ba\u8a8d\n<li>inputBox \u30fb\u30fb\u30fb \u5165\u529b\u30a8\u30ea\u30a2\u3001OK\u3001Cancel <\/li>\n<\/ul>\n<p>\u306e3\u3064\u3092\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u3069\u3053\u304b\u3089\u3067\u3082\u4f7f\u3048\u308b\u3088\u3046\u306b\u3001android.app.Application \u30af\u30e9\u30b9\u3092\u7d99\u627f\u3057\u3066\u3001static \u30e1\u30bd\u30c3\u30c9\u3068\u3057\u3066\u305d\u308c\u305e\u308c\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<h2>\u554f\u984c\u70b9<\/h2>\n<p>alert \u306f\u3001\u5358\u306b OK \u30dc\u30bf\u30f3\u304c\u304a\u3055\u308c\u305f\u3089\u9589\u3058\u308b\u3060\u3051\u306a\u306e\u3067\u3001\u7279\u306b\u554f\u984c\u306a\u3044\u3002<\/p>\n<p>\u554f\u984c\u306f\u3001\u6b8b\u308a\u306e2\u3064\u30c0\u30a4\u30a2\u30ed\u30b0\u3067\u306e\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3092\u3069\u3046\u3084\u3063\u3066\u547c\u3073\u51fa\u3057\u5143\u306b\u8fd4\u3059\u304b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>JavaScript \u7b49\u306e\u3088\u3046\u306b\u7d50\u679c\u3092 Boolean \u3084 String\u3000\u3067\u5358\u7d14\u306b\u53d7\u3051\u53d6\u308b\u308f\u3051\u306b\u306f\u3001\u3044\u304b\u306a\u305d\u3046\u3060\u3002<\/p>\n<p>EventLister( OnClickListener ) \u3092\u5229\u7528\u65b9\u6cd5\u306b\u5408\u308f\u305b\u3066\u500b\u5225\u306b\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u3092\u3068\u3063\u3066\u307f\u308b\u3002\u3082\u3063\u3068\u826f\u3044\u65b9\u6cd5\u304c\u3042\u308c\u3070\u77e5\u308a\u305f\u3044\u304c\u3002<\/p>\n<h2>\u5bfe\u5fdc<\/h2>\n<p>confirm \u306b\u3064\u3044\u3066\u306f\u3001AlertDialog.Builder\u3000\u3092\u5229\u7528\u3059\u308b\u305f\u3081\u3001ClickListener \u306b\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u53c2\u7167\u304c\u6e21\u3063\u3066\u304f\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u3064\u304b\u3063\u3066\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u6d88\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n<p>inputBox \u306b\u3064\u3044\u3066\u306f\u3001UI \u3092 XML \u3067\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u306b\u3057\u305f\u306e\u3067\u3001View.OnClickListener \u3067\u30a4\u30d9\u30f3\u30c8\u3092\u53d6\u308b\u5fc5\u8981\u304c\u3042\u308b\u304c\u3001\u3053\u308c\u3060\u3068\u3001\u30dc\u30bf\u30f3\u62bc\u4e0b\u6642\u306b\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u6d88\u3059\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u3002<\/p>\n<p>\u82e6\u8089\u306e\u7b56\u3068\u3057\u3066\u3001View.OnClickListener \u3092 \u5b9f\u88c5\u3057\u305f static \u62bd\u8c61\u30af\u30e9\u30b9 InputBoxOnClickListener&nbsp; \u3092 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30af\u30e9\u30b9\u306b\u3082\u305f\u305b\u3001inputBox \u30e1\u30bd\u30c3\u30c9\u306e\u4e2d\u3067\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u751f\u6210\u3057\u305f\u5f8c\u3001\u53c2\u7167\u3092\u30bb\u30c3\u30c8\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u307f\u305f\u3002<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"prettyprint linenums\"> package info.typea.myapp;\r\n \r\n import android.app.AlertDialog;\r\n import android.app.Application;\r\n import android.app.Dialog;\r\n import android.content.Context;\r\n import android.content.DialogInterface;\r\n import android.view.View;\r\n import android.widget.Button;\r\n import android.widget.EditText;\r\n \r\n public class MyApplication extends Application {\r\n \r\n     \/**\r\n      * Application \u5171\u901a\u8b66\u544a\u30c0\u30a4\u30a2\u30ed\u30b0\r\n      * @param titleId\r\n      * @param msg\r\n      *\/\r\n     public static void alert(Context context, int titleId, String msg) {\r\n         AlertDialog.Builder b = new AlertDialog.Builder(context);\r\n         b.setTitle(titleId);\r\n         b.setIcon(android.R.drawable.ic_dialog_alert);\r\n         b.setMessage(msg);\r\n         b.setPositiveButton(\"OK\", new DialogInterface.OnClickListener() {\r\n             @Override\r\n             public void onClick(DialogInterface dialog, int which) {\r\n                 dialog.dismiss();\r\n             }\r\n         });\r\n         b.show();\r\n     }\r\n \r\n     \/**\r\n      * Application \u5171\u901a \u78ba\u8a8d\u30c0\u30a4\u30a2\u30ed\u30b0\r\n      * @param titleId\r\n      * @param msgId\r\n      *\/\r\n     public static void confirm(Context context, int titleId, int msgId, \r\n                                 DialogInterface.OnClickListener lisner) {\r\n         AlertDialog.Builder b = new AlertDialog.Builder(context);\r\n         b.setTitle(titleId);\r\n         b.setIcon(android.R.drawable.ic_dialog_info);\r\n         b.setMessage(msgId);\r\n         b.setPositiveButton(\"OK\", lisner);\r\n         b.setNegativeButton(\"Cancel\", lisner);\r\n         b.show();\r\n     }\r\n     \r\n     \/**\r\n      * Application \u5171\u901a \u5165\u529b\u30c0\u30a4\u30a2\u30ed\u30b0\r\n      * @param context\r\n      * @param msg\r\n      * @param lsnr\r\n      *\/\r\n     public static void inputBox(Context context, String title, \r\n                                 String contents, InputBoxOnClickListener lsnr ) {\r\n         \r\n         Dialog dialog = new Dialog(context);\r\n         dialog.setContentView(R.layout.input_dialog);\r\n         dialog.setTitle(title);\r\n         \r\n         EditText txtContent = (EditText) dialog.findViewById(R.id.txt_contents);\r\n         txtContent.setText(contents);\r\n         \r\n         Button btnOk     = (Button) dialog.findViewById(R.id.btn_ok);\r\n         Button btnCancel = (Button) dialog.findViewById(R.id.btn_cancel);\r\n         \r\n         lsnr.setDialog(dialog);\r\n         \r\n         btnOk.setOnClickListener(lsnr);\r\n         btnCancel.setOnClickListener(lsnr);\r\n         \r\n         dialog.show();        \r\n     }\r\n     \r\n     \/**\r\n      * Application \u5171\u901a\u5165\u529b\u30c0\u30a4\u30a2\u30ed\u30b0 \u7528 Click \u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u30fc\r\n      *\/\r\n     public static abstract class InputBoxOnClickListener implements View.OnClickListener {\r\n         \/\/ \u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u6d88\u3059\u305f\u3081\u306b\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u53c2\u7167\u3092\u4fdd\u6301\u3067\u304d\u308b\u3088\u3046\u306b\r\n         protected Dialog dialog;\r\n         public void setDialog(Dialog dialog) {\r\n             this.dialog = dialog;\r\n         }\r\n         public void dismiss() {\r\n             if (this.dialog != null) {\r\n                 this.dialog.dismiss();\r\n             }\r\n         }\r\n     }\r\n }\r\n<\/pre>\n<p>inputBox \u306e\u3000XML \u30ec\u30a4\u30a2\u30a6\u30c8<\/p>\n<pre class=\"prettyprint linenums\"> &lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n &lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n     android:orientation=\"vertical\"\r\n     android:layout_width=\"fill_parent\"\r\n     android:layout_height=\"fill_parent\"\r\n     android:gravity=\"center\"&gt;\r\n    &lt;EditText android:text=\"\" android:id=\"@+id\/txt_contents\" \r\n                              android:layout_width=\"wrap_content\" \r\n                              android:layout_height=\"wrap_content\" \r\n                              android:minWidth=\"200sp\" \r\n                              android:scrollbars=\"vertical\" \r\n                              android:maxLines=\"3\"&gt;\r\n    &lt;\/EditText&gt;\r\n    &lt;LinearLayout \r\n        android:orientation=\"horizontal\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"&gt;\r\n        &lt;ImageView android:id=\"@+id\/img_icon\" \r\n                   android:layout_width=\"wrap_content\" \r\n                   android:layout_height=\"wrap_content\"&gt;\r\n        &lt;\/ImageView&gt;\r\n        &lt;TextView android:text=\"\" android:id=\"@+id\/txt_msg\" \r\n                 android:layout_width=\"wrap_content\" \r\n                 android:layout_height=\"wrap_content\"&gt;\r\n        &lt;\/TextView&gt;\r\n    &lt;\/LinearLayout&gt;\r\n    &lt;LinearLayout \r\n        android:orientation=\"horizontal\"\r\n        android:layout_width=\"fill_parent\"\r\n        android:layout_height=\"fill_parent\" android:gravity=\"center\"&gt;\r\n        &lt;Button android:text=\"@string\/lbl_btn_ok\" \r\n                android:id=\"@+id\/btn_ok\" \r\n                android:layout_height=\"wrap_content\" \r\n                android:minWidth=\"80sp\" \r\n                android:layout_width=\"wrap_content\"&gt;\r\n        &lt;\/Button&gt;   \r\n        &lt;Button android:text=\"@string\/lbl_btn_cancel\" \r\n                android:id=\"@+id\/btn_cancel\" \r\n                android:layout_height=\"wrap_content\" \r\n                android:minWidth=\"80sp\" \r\n                android:layout_width=\"wrap_content\"&gt;\r\n        &lt;\/Button&gt;\r\n    &lt;\/LinearLayout&gt;\r\n &lt;\/LinearLayout&gt;\r\n<\/pre>\n<h2>\u547c\u3073\u51fa\u3057\u65b9<\/h2>\n<p>\u3053\u3053\u307e\u3067\u3001\u6e96\u5099\u3059\u308c\u3070\u3001\u3042\u3068\u306f\u597d\u304d\u306a\u3088\u3046\u306b Listener \u3092 \u5b9f\u88c5\u3057\u3066\u3001Click \u30a4\u30d9\u30f3\u30c8\u3092\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3059\u308c\u3070\u3044\u3044\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001confirm \u3092\u5229\u7528\u3057\u3066\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u524a\u9664\u78ba\u8a8d\u3092\u3057\u305f\u3044\u306a\u3089\u4ee5\u4e0b\u306e\u69d8\u306a\u30d5\u30a1\u30a4\u30eb\u524a\u9664\u7528\u306e\u30ea\u30b9\u30ca\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3001<\/p>\n<pre class=\"prettyprint linenums\"> class FileDeleteConfirmDialogOnClickListener implements DialogInterface.OnClickListener {\r\n    private HogeInfo hogeInfo;  \/\/ \u4f55\u304b\u3057\u3089\u30c0\u30a4\u30a2\u30ed\u30b0\u3067\u64cd\u4f5c\u3057\u305f\u3044\u60c5\u5831\u3092\u30ea\u30b9\u30ca\u30fc\u306b\u8a70\u3081\u3066\u304a\u304f\r\n    public FileDeleteConfirmDialogOnClickListener(HogeInfo hogeInfo) {\r\n        super();\r\n        this.hogeInfo = hogeInfo; \r\n    }\r\n    @Override\r\n    public void onClick(DialogInterface dialog, int which) {\r\n        if (DialogInterface.BUTTON1 == which) {\r\n            \/\/ OK \u304c\u62bc\u3055\u308c\u305f\u3089\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3059\u308b\u51e6\u7406\u3092\u3055\u305b\u308b\r\n            File f = new File(hogeInfo.getPath());\r\n            if (f.isFile()) {\r\n                f.delete();\r\n            }\r\n        } else if \r\n            (DialogInterface.BUTTON2 == which) {\r\n            \/\/ NOP\r\n        }\r\n        dialog.dismiss();\r\n    }\r\n }\r\n<\/pre>\n<p>\u3053\u3093\u306a\u3001\u611f\u3058\u3067\u547c\u3073\u51fa\u305b\u3070\u3044\u3044\u3002<\/p>\n<pre class=\"prettyprint linenums\"> MyApplication.confirm(this, R.string.lbl_confirm_dialog_title, R.string.confirm_delete_file, \r\n     new FileDeleteConfirmDialogOnClickListener(hogeInfo));\r\n<\/pre>\n<p>inputBox \u3092\u5229\u7528\u3057\u3066\u3001\u65b0\u898f\u3067\u4f5c\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3055\u305b\u305f\u3044\u306a\u3089\u3001<\/p>\n<pre class=\"prettyprint linenums\"> class FileNameDialogOnClickListener extends MyApplication.InputBoxOnClickListener {\r\n     @Override\r\n     public void onClick(View v) {\r\n         if (v.getId() == R.id.btn_ok) {\r\n         \r\n             EditText txtContent = (EditText) dialog.findViewById(R.id.txt_contents);\r\n             \/\/ \u5165\u529b\u3055\u308c\u305f\u5024\u306f\u30d5\u30a1\u30a4\u30eb\u540d\r\n             String filename = txtContent.getText().toString();\r\n             try {\r\n                 File f = new File(filename);\r\n                 f.createNewFile();\r\n             } catch(Exception e) {\r\n                 ((ImageView) dialog.findViewById(R.id.img_icon))\r\n                     .setImageResource(android.R.drawable.ic_dialog_alert);\r\n                 ((TextView) dialog.findViewById(R.id.txt_msg))\r\n                     .setText(e.toString());\r\n                 return;\r\n             }\r\n         }\r\n         this.dialog.dismiss();\r\n     }\r\n }\r\n<\/pre>\n<p>\u3053\u3093\u306a\u611f\u3058\u306e\u5c02\u7528\u30ea\u30b9\u30ca\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3001<\/p>\n<pre class=\"prettyprint linenums\"> Date d = new Date();\r\n String msg = String.format(\"card_%tY%tm%td%tH%tM\",d,d,d,d,d);\r\n String title = \"filenam?\";\r\n MyApplication.inputBox(this, title, msg, new FileNameDialogOnClickListener());\r\n<\/pre>\n<p>\u3053\u3093\u306a\u611f\u3058\u3067\u547c\u3073\u51fa\u305b\u3070\u3044\u3044\u3002<\/p>\n<p><a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/AndroidX06HTDesire_14692\/device01.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px\" title=\"device01\" border=\"0\" alt=\"device01\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/AndroidX06HTDesire_14692\/device01_thumb.png\" width=\"148\" height=\"244\"><\/a> <a href=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/AndroidX06HTDesire_14692\/device02.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px\" title=\"device02\" border=\"0\" alt=\"device02\" src=\"https:\/\/www.typea.info\/blog\/wp-content\/uploads\/image\/AndroidX06HTDesire_14692\/device02_thumb.png\" width=\"148\" height=\"244\"><\/a> <\/p>\n<p>\u3044\u3058\u3087\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u65e5\u306f\u3001X06HT\u304c\u8ca9\u58f2\u7d42\u4e86\u3059\u308b\u3063\u3066\u8a71\u304c\u98db\u3073\u4ea4\u3063\u3066\u3044\u308b\u3002 \u6709\u6a5fEL\u306e\u4f9b\u7d66\u4e0d\u8db3\u3067X06HT\u81ea\u4f53\u3092\u5b89\u5b9a\u4f9b\u7d66\u3067\u304d\u306a\u3044\u305f\u3081\u306e\u4e00\u6642\u8ca9\u58f2\u4f11\u6b62\u3060\u3068\u601d\u3044\u305f\u3044\u3002\u516c\u5f0f\u767a\u8868\u3092\u5f85\u3064\u3002 \u8ca9\u58f2\u7d42\u4e86\u3067\u3082\u3001Softbank \u304b\u3089\u3001Android \u643a\u5e2f\u304c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","footnotes":""},"categories":[39],"tags":[],"class_list":["post-232","post","type-post","status-publish","format-standard","hentry","category-android"],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts\/232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=232"}],"version-history":[{"count":0,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/posts\/232\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.typea.info\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}