{"id":1305,"date":"2025-05-21T05:27:52","date_gmt":"2025-05-20T20:27:52","guid":{"rendered":"https:\/\/itstudy365.com\/blog\/?p=1305"},"modified":"2025-05-27T22:00:30","modified_gmt":"2025-05-27T13:00:30","slug":"android-application-development-%e7%ac%ac21%e7%ab%a0%ef%bc%9aviewmodel%e3%80%81livedata%e3%80%81databinding%e3%81%ae%e5%b0%8e%e5%85%a5","status":"publish","type":"post","link":"https:\/\/itstudy365.com\/blog\/2025\/05\/21\/android-application-development-%e7%ac%ac21%e7%ab%a0%ef%bc%9aviewmodel%e3%80%81livedata%e3%80%81databinding%e3%81%ae%e5%b0%8e%e5%85%a5\/","title":{"rendered":"Android application development \u7b2c21\u7ae0\uff1aViewModel\u3001LiveData\u3001DataBinding\u306e\u5c0e\u5165"},"content":{"rendered":"\n<button id=\"bb1\" type=\"button\" value=\"Play\" class=\"responsivevoice-button\" title=\"ResponsiveVoice Tap to Start\/Stop Speech\"><span>&#128266; Play<\/span><\/button>\n        <script>\n            bb1.onclick = function(){\n                if(responsiveVoice.isPlaying()){\n                    responsiveVoice.cancel();\n                }else{\n                    responsiveVoice.speak(\"\ud83d\udd04 \u305d\u3082\u305d\u3082\u306a\u305c\u5fc5\u8981\uff1f\uff08\u80cc\u666f\uff09 Android\u3067\u306f\u3001Activity\u3084Fragment\u306f\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u306b\u5fdc\u3058\u3066\u7834\u68c4\u30fb\u518d\u751f\u6210\u3055\u308c\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u753b\u9762\u3092\u56de\u8ee2\u3059\u308b\u3068 Activity \u304c\u7834\u68c4\u3055\u308c\u3066\u65b0\u3057\u304f\u4f5c\u308a\u76f4\u3055\u308c\u307e\u3059\u3002\u305d\u306e\u3068\u304d\u3001\u5909\u6570\u3084\u72b6\u614b\u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u5165\u529b\u3057\u305f\u30c7\u30fc\u30bf\u3084\u8868\u793a\u4e2d\u306e\u60c5\u5831\u304c\u5931\u308f\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002 \u3053\u308c\u3092\u3046\u307e\u304f\u7ba1\u7406\u3059\u308b\u305f\u3081\u306b\u3001\u72b6\u614b\u7ba1\u7406\u3084UI\u30c7\u30fc\u30bf\u3068\u306e\u9023\u643a\u3092\u5206\u96e2\u30fb\u6574\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \ud83e\udde0 ViewModel \u3068\u306f\uff1f ViewModel \u306f \u753b\u9762\u306b\u8868\u793a\u3059\u308b\u305f\u3081\u306e\u30c7\u30fc\u30bf\uff08\u72b6\u614b\uff09\u3092\u4fdd\u6301\u3059\u308b\u30af\u30e9\u30b9 \u3067\u3059\u3002 Activity\u3084Fragment\u3068\u306f\u5225\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u3092\u6301\u3064 \u753b\u9762\u56de\u8ee2\u306a\u3069\u3067Activity\u304c\u518d\u751f\u6210\u3055\u308c\u3066\u3082\u3001ViewModel\u306e\u30c7\u30fc\u30bf\u306f\u4fdd\u6301\u3055\u308c\u308b UI\u30ed\u30b8\u30c3\u30af\u3092ViewModel\u306b\u96c6\u7d04\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u304c\u898b\u3084\u3059\u304f\u4fdd\u5b88\u3057\u3084\u3059\u304f\u306a\u308b \ud83d\udce6 Java\u3067\u306eViewModel\u4f8b\uff08\u7c21\u6613\uff09 public class MyViewModel extends ViewModel { private final MutableLiveDataless thanStringgreater than text = new MutableLiveDataless thangreater than(); public LiveDataless thanStringgreater than getText() { return text; } public void setText(String value) { text.setValue(value); } } MyViewModel viewModel = new ViewModelProvider(this).get(MyViewModel.class); viewModel.getText().observe(this, value -greater than textView.setText(value)); \ud83d\udd01 LiveData \u3068\u306f\uff1f LiveData \u306f\u3001\u5909\u66f4\u3092\u76e3\u8996\u3067\u304d\u308b\u30c7\u30fc\u30bf\u30db\u30eb\u30c0\u30fc\u3067\u3059\u3002 observe() \u3092\u4f7f\u3046\u3068\u3001UI\u304c\u81ea\u52d5\u7684\u306b\u30c7\u30fc\u30bf\u66f4\u65b0\u3092\u53d7\u3051\u53d6\u308c\u308b \u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u3092\u8a8d\u8b58\u3057\u3066\u3044\u308b\u305f\u3081\u3001Activity\/Fragment\u304c\u975e\u8868\u793a\u306e\u3068\u304d\u306f\u901a\u77e5\u3092\u6b62\u3081\u3066\u304f\u308c\u308b \u7279\u5fb4\u307e\u3068\u3081\uff1a \u7279\u5fb4\u8aac\u660e\u30aa\u30d6\u30b6\u30fc\u30d0\u30d6\u30eb\u30c7\u30fc\u30bf\u5909\u66f4\u6642\u306b\u901a\u77e5\u3092\u53d7\u3051\u3089\u308c\u308b\uff08Observer\u30d1\u30bf\u30fc\u30f3\uff09\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u611f\u77e5\u578b\u753b\u9762\u304c\u975e\u8868\u793a\u306e\u3068\u304d\u306f\u81ea\u52d5\u3067\u901a\u77e5\u3092\u6b62\u3081\u308bViewModel\u3068\u76f8\u6027\u629c\u7fa4ViewModel\u5185\u306e\u72b6\u614b\u3092LiveData\u3067\u516c\u958b\u3059\u308b\u306e\u304c\u4e00\u822c\u7684 \ud83d\udd17 DataBinding \u3068\u306f\uff1f DataBinding \u306f\u3001XML\u30ec\u30a4\u30a2\u30a6\u30c8\u3068ViewModel\u306e\u30c7\u30fc\u30bf\u3092\u76f4\u63a5\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\uff08\u7d10\u3065\u3051\uff09\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3059\u3002 \u901a\u5e38\u3001\u30c7\u30fc\u30bf\u3092\u8868\u793a\u3059\u308b\u305f\u3081\u306b\u6b21\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304d\u307e\u3059\uff1a textView.setText(viewModel.getText().getValue()); \u3053\u308c\u3092 XML\u306b\u76f4\u63a5\u66f8\u3051\u308b\u3088\u3046\u306b\u3059\u308b\u306e\u304cDataBinding\u3067\u3059\u3002 \u2705 DataBinding\u306e\u30e1\u30ea\u30c3\u30c8 findViewById() \u3092\u4f7f\u308f\u306a\u304f\u3066\u3082\u6e08\u3080 UI\u66f4\u65b0\u304c\u81ea\u52d5\u3067\u884c\u308f\u308c\u3001\u30b3\u30fc\u30c9\u304c\u30b9\u30c3\u30ad\u30ea\u3059\u308b View\u3068\u30c7\u30fc\u30bf\u306e\u3064\u306a\u304c\u308a\u304c\u5ba3\u8a00\u7684\u306b\u306a\u308b XML\u5074\u306e\u4f8b\uff1a less thanlayout xmlns:android=\\\"http:\/\/schemas.android.com\/apk\/res\/android\\\"greater than less thandatagreater than less thanvariable name=\\\"viewModel\\\" type=\\\"com.example.MyViewModel\\\" \/greater than less than\/datagreater than less thanTextView android:layout_width=\\\"wrap_content\\\" android:layout_height=\\\"wrap_content\\\" android:text=\\\"@{viewModel.text}\\\" \/greater than less than\/layoutgreater than Java\u5074\u3067\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\uff1a ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); binding.setViewModel(viewModel); binding.setLifecycleOwner(this); \ud83e\udd1d 3\u3064\u306e\u95a2\u4fc2\u6027\u307e\u3068\u3081\uff08\u56f3\u3067\u30a4\u30e1\u30fc\u30b8\uff09 [ View (XML) ] \u2191 DataBinding \u2191 [ LiveData less than-greater than ViewModel ] ViewModel\u304c\u30c7\u30fc\u30bf\u3092\u4fdd\u6301 LiveData\u3067\u5909\u66f4\u3092\u901a\u77e5 DataBinding\u3067View\u3068\u81ea\u52d5\u9023\u643a \ud83c\udf93 \u307e\u3068\u3081\uff08\u5b66\u7fd2\u306e\u30dd\u30a4\u30f3\u30c8\uff09 \u6280\u8853\u5b66\u3076\u610f\u7fa9ViewModelUI\u3068\u306f\u72ec\u7acb\u3057\u3066\u72b6\u614b\u7ba1\u7406\u3067\u304d\u308b\uff08\u753b\u9762\u56de\u8ee2\u306b\u5f37\u3044\uff09LiveData\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u901a\u77e5\u304c\u53ef\u80fdDataBindingUI\u66f4\u65b0\u3092\u7701\u529b\u5316\u3057\u3001\u30b3\u30fc\u30c9\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u306e\u5206\u96e2\u304c\u9032\u3080\", \"Japanese Female\");\n                }\n            };\n        <\/script>\n    <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd04 \u305d\u3082\u305d\u3082\u306a\u305c\u5fc5\u8981\uff1f\uff08\u80cc\u666f\uff09<\/h2>\n\n\n\n<p>Android\u3067\u306f\u3001<strong>Activity\u3084Fragment\u306f\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u306b\u5fdc\u3058\u3066\u7834\u68c4\u30fb\u518d\u751f\u6210\u3055\u308c\u307e\u3059<\/strong>\u3002<br>\u305f\u3068\u3048\u3070\u3001<strong>\u753b\u9762\u3092\u56de\u8ee2<\/strong>\u3059\u308b\u3068 <code>Activity<\/code> \u304c\u7834\u68c4\u3055\u308c\u3066\u65b0\u3057\u304f\u4f5c\u308a\u76f4\u3055\u308c\u307e\u3059\u3002\u305d\u306e\u3068\u304d\u3001\u5909\u6570\u3084\u72b6\u614b\u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u5165\u529b\u3057\u305f\u30c7\u30fc\u30bf\u3084\u8868\u793a\u4e2d\u306e\u60c5\u5831\u304c\u5931\u308f\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\u3053\u308c\u3092\u3046\u307e\u304f\u7ba1\u7406\u3059\u308b\u305f\u3081\u306b\u3001\u72b6\u614b\u7ba1\u7406\u3084UI\u30c7\u30fc\u30bf\u3068\u306e\u9023\u643a\u3092\u5206\u96e2\u30fb\u6574\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 ViewModel \u3068\u306f\uff1f<\/h2>\n\n\n\n<p><code>ViewModel<\/code> \u306f <strong>\u753b\u9762\u306b\u8868\u793a\u3059\u308b\u305f\u3081\u306e\u30c7\u30fc\u30bf\uff08\u72b6\u614b\uff09\u3092\u4fdd\u6301\u3059\u308b\u30af\u30e9\u30b9<\/strong> \u3067\u3059\u3002<\/p>\n\n\n\n<ul>\n<li>Activity\u3084Fragment\u3068\u306f<strong>\u5225\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb<\/strong>\u3092\u6301\u3064<\/li>\n\n\n\n<li>\u753b\u9762\u56de\u8ee2\u306a\u3069\u3067Activity\u304c\u518d\u751f\u6210\u3055\u308c\u3066\u3082\u3001ViewModel\u306e\u30c7\u30fc\u30bf\u306f\u4fdd\u6301\u3055\u308c\u308b<\/li>\n\n\n\n<li>UI\u30ed\u30b8\u30c3\u30af\u3092ViewModel\u306b\u96c6\u7d04\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u304c\u898b\u3084\u3059\u304f\u4fdd\u5b88\u3057\u3084\u3059\u304f\u306a\u308b<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udce6 Java\u3067\u306eViewModel\u4f8b\uff08\u7c21\u6613\uff09<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\" data-show-lang=\"0\"><code>public class MyViewModel extends ViewModel {\n    private final MutableLiveData&lt;String&gt; text = new MutableLiveData&lt;&gt;();\n\n    public LiveData&lt;String&gt; getText() {\n        return text;\n    }\n\n    public void setText(String value) {\n        text.setValue(value);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\" data-show-lang=\"0\"><code>MyViewModel viewModel = new ViewModelProvider(this).get(MyViewModel.class);\nviewModel.getText().observe(this, value -&gt; textView.setText(value));<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd01 LiveData \u3068\u306f\uff1f<\/h2>\n\n\n\n<p><code>LiveData<\/code> \u306f\u3001<strong>\u5909\u66f4\u3092\u76e3\u8996\u3067\u304d\u308b\u30c7\u30fc\u30bf\u30db\u30eb\u30c0\u30fc<\/strong>\u3067\u3059\u3002<\/p>\n\n\n\n<ul>\n<li><code>observe()<\/code> \u3092\u4f7f\u3046\u3068\u3001UI\u304c\u81ea\u52d5\u7684\u306b\u30c7\u30fc\u30bf\u66f4\u65b0\u3092\u53d7\u3051\u53d6\u308c\u308b<\/li>\n\n\n\n<li>\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u3092\u8a8d\u8b58\u3057\u3066\u3044\u308b\u305f\u3081\u3001Activity\/Fragment\u304c\u975e\u8868\u793a\u306e\u3068\u304d\u306f\u901a\u77e5\u3092\u6b62\u3081\u3066\u304f\u308c\u308b<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u7279\u5fb4\u307e\u3068\u3081\uff1a<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u7279\u5fb4<\/th><th>\u8aac\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u30aa\u30d6\u30b6\u30fc\u30d0\u30d6\u30eb<\/td><td>\u30c7\u30fc\u30bf\u5909\u66f4\u6642\u306b\u901a\u77e5\u3092\u53d7\u3051\u3089\u308c\u308b\uff08Observer\u30d1\u30bf\u30fc\u30f3\uff09<\/td><\/tr><tr><td>\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u611f\u77e5\u578b<\/td><td>\u753b\u9762\u304c\u975e\u8868\u793a\u306e\u3068\u304d\u306f\u81ea\u52d5\u3067\u901a\u77e5\u3092\u6b62\u3081\u308b<\/td><\/tr><tr><td>ViewModel\u3068\u76f8\u6027\u629c\u7fa4<\/td><td>ViewModel\u5185\u306e\u72b6\u614b\u3092LiveData\u3067\u516c\u958b\u3059\u308b\u306e\u304c\u4e00\u822c\u7684<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd17 DataBinding \u3068\u306f\uff1f<\/h2>\n\n\n\n<p><code>DataBinding<\/code> \u306f\u3001<strong>XML\u30ec\u30a4\u30a2\u30a6\u30c8\u3068ViewModel\u306e\u30c7\u30fc\u30bf\u3092\u76f4\u63a5\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\uff08\u7d10\u3065\u3051\uff09\u3059\u308b\u4ed5\u7d44\u307f<\/strong>\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u901a\u5e38\u3001\u30c7\u30fc\u30bf\u3092\u8868\u793a\u3059\u308b\u305f\u3081\u306b\u6b21\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\" data-show-lang=\"0\"><code>textView.setText(viewModel.getText().getValue());<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u308c\u3092 <strong>XML\u306b\u76f4\u63a5\u66f8\u3051\u308b\u3088\u3046\u306b\u3059\u308b<\/strong>\u306e\u304cDataBinding\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 DataBinding\u306e\u30e1\u30ea\u30c3\u30c8<\/h3>\n\n\n\n<ul>\n<li><code>findViewById()<\/code> \u3092\u4f7f\u308f\u306a\u304f\u3066\u3082\u6e08\u3080<\/li>\n\n\n\n<li>UI\u66f4\u65b0\u304c\u81ea\u52d5\u3067\u884c\u308f\u308c\u3001\u30b3\u30fc\u30c9\u304c\u30b9\u30c3\u30ad\u30ea\u3059\u308b<\/li>\n\n\n\n<li>View\u3068\u30c7\u30fc\u30bf\u306e\u3064\u306a\u304c\u308a\u304c\u5ba3\u8a00\u7684\u306b\u306a\u308b<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">XML\u5074\u306e\u4f8b\uff1a<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-scss\" data-lang=\"SCSS\"><code>&lt;layout xmlns:android=&quot;http:\/\/schemas.android.com\/apk\/res\/android&quot;&gt;\n    &lt;data&gt;\n        &lt;variable\n            name=&quot;viewModel&quot;\n            type=&quot;com.example.MyViewModel&quot; \/&gt;\n    &lt;\/data&gt;\n\n    &lt;TextView\n        android:layout_width=&quot;wrap_content&quot;\n        android:layout_height=&quot;wrap_content&quot;\n        android:text=&quot;@{viewModel.text}&quot; \/&gt;\n&lt;\/layout&gt;<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Java\u5074\u3067\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\uff1a<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\" data-show-lang=\"0\"><code>ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);\nbinding.setViewModel(viewModel);\nbinding.setLifecycleOwner(this);<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udd1d 3\u3064\u306e\u95a2\u4fc2\u6027\u307e\u3068\u3081\uff08\u56f3\u3067\u30a4\u30e1\u30fc\u30b8\uff09<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>[ View (XML) ]\n     \u2191\n    DataBinding\n     \u2191\n[ LiveData &lt;-&gt; ViewModel ]<\/code><\/pre><\/div>\n\n\n\n<ul>\n<li>ViewModel\u304c\u30c7\u30fc\u30bf\u3092\u4fdd\u6301<\/li>\n\n\n\n<li>LiveData\u3067\u5909\u66f4\u3092\u901a\u77e5<\/li>\n\n\n\n<li>DataBinding\u3067View\u3068\u81ea\u52d5\u9023\u643a<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf93 \u307e\u3068\u3081\uff08\u5b66\u7fd2\u306e\u30dd\u30a4\u30f3\u30c8\uff09<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u6280\u8853<\/th><th>\u5b66\u3076\u610f\u7fa9<\/th><\/tr><\/thead><tbody><tr><td>ViewModel<\/td><td>UI\u3068\u306f\u72ec\u7acb\u3057\u3066\u72b6\u614b\u7ba1\u7406\u3067\u304d\u308b\uff08\u753b\u9762\u56de\u8ee2\u306b\u5f37\u3044\uff09<\/td><\/tr><tr><td>LiveData<\/td><td>\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u901a\u77e5\u304c\u53ef\u80fd<\/td><\/tr><tr><td>DataBinding<\/td><td>UI\u66f4\u65b0\u3092\u7701\u529b\u5316\u3057\u3001\u30b3\u30fc\u30c9\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u306e\u5206\u96e2\u304c\u9032\u3080<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[54],"_links":{"self":[{"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/posts\/1305"}],"collection":[{"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/comments?post=1305"}],"version-history":[{"count":2,"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/posts\/1305\/revisions"}],"predecessor-version":[{"id":1406,"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/posts\/1305\/revisions\/1406"}],"wp:attachment":[{"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/media?parent=1305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/categories?post=1305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itstudy365.com\/blog\/wp-json\/wp\/v2\/tags?post=1305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}