<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Android &#8211; Macな暮らし</title>
	<atom:link href="https://polo-web.com/category/android/feed/" rel="self" type="application/rss+xml" />
	<link>https://polo-web.com</link>
	<description></description>
	<lastBuildDate>Thu, 18 Sep 2025 02:30:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://polo-web.com/wp-content/uploads/2025/03/site-icon-150x150.png</url>
	<title>Android &#8211; Macな暮らし</title>
	<link>https://polo-web.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android Studio &#124; メッセージ表示「Toast」の基本</title>
		<link>https://polo-web.com/android-studio-message-display-toast-basics/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Fri, 12 Sep 2025 00:55:12 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15454</guid>

					<description><![CDATA[プロジェクト名：CustomToast Toastの表示位置を変更するコード。通常何も指定せずにToastを表示した場合、画面の下部にToastの吹き出しが …]]></description>
										<content:encoded><![CDATA[
<p>プロジェクト名：CustomToast</p>



<p>Toastの表示位置を変更するコード。<br>通常何も指定せずにToastを表示した場合、画面の下部にToastの吹き出しが表示される。<br>画面にキーボードが表示されていると下部のToastは見にくいため、Toastの表示位置を変更したい場合。</p>



<p>残念ながらAndroid 11以降はsetGravityでの位置調整ができなくなりました。下の方にだけ表示されるようになった。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/b6106fba1e6d8c8a8b5dd06a620f0de0-6.png" alt="" class="wp-image-16492"/></figure>
</div>


<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/b6106fba1e6d8c8a8b5dd06a620f0de0-7.png" alt="" class="wp-image-16493"/></figure>



<p>以下の「onClick」設定は、直接「activity_main.xml」14行目のように記述しても良い。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/94ac9e41bcceb6bb8a55fb1a44500170.png" alt="" class="wp-image-16494"/></figure>



<p><strong><span class="ystdb-inline--larger">activity_main.xml</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_main.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.MainActivity&quot;&gt;

    &lt;TextView
        android:id=&quot;@+id/textView&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:minHeight=&quot;48dp&quot;
        android:onClick=&quot;button1_click&quot;
        android:text=&quot;Hello World!&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.29&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toTopOf=&quot;parent&quot;
        app:layout_constraintVertical_bias=&quot;0.022&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;20dp&quot;
        android:onClick=&quot;button1_click&quot;
        android:text=&quot;@string/button&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.281&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toTopOf=&quot;parent&quot;
        app:layout_constraintVertical_bias=&quot;0.042&quot; /&gt;

&lt;/androidx.constraintlayout.widget.ConstraintLayout&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="MainActivity.java"><code>package com.example.customtoast;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu; //追加
import android.view.*; //追加
import android.widget.*; //追加

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //--以下を追加--//
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
     public void button1_click(View view){
        Toast.makeText(this, &quot;テストメッセージ&quot;, Toast.LENGTH_LONG).show();
    }
    //--以下を追加--//
}</code></pre></div>



<p>上のスクリプトで以下のようにボタンを押すと下の方にメッセージが表示される。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/d71843607a7f26be98f78aa480f801d3.png" alt="" class="wp-image-16495"/></figure>
</div>


<p>位置調整ができなくなったらしい。<br>以下のようにすると下から上の付近になるというがならない。これが使えなくなったらしい。</p>



<p class="has-ys-light-gray-background-color has-background">ts.setGravity(Gravity.<em>TOP</em>, 0, 160);</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ページの移動（遷移：せんい）の基本 &#8211; Android Studio 2023.2.1</title>
		<link>https://polo-web.com/basics-of-page-transitions-android-studio-2023-2-1/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Fri, 12 Sep 2025 01:02:53 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15456</guid>

					<description><![CDATA[ボタンを押すとその画面に移動、３つの画面を移動することができるように作成されている。 javaの場合以下のファイルを表示に必要分作成する。これは以下のレイア …]]></description>
										<content:encoded><![CDATA[
<p>ボタンを押すとその画面に移動、３つの画面を移動することができるように作成されている。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/bcfe71eb60ac6aca2125b013b9d8374d.png" alt="" class="wp-image-16699"/></figure>
</div>


<p>javaの場合以下のファイルを表示に必要分作成する。これは以下のレイアウトの動作、例えばボタンを押したらどのように動かすかとか動的に操作するためのスクリプトを記述する。多くの場合このファイルがエラーになる難しいファイルで、殆どこれを勉強するということになる。<br><strong><span class="ystdb-inline--larger">MainActivity<br>MainActivity2</span></strong></p>



<p>layoutに自動的に上で作成したファイルに関連したxmlファイルが作成される。これは画面のレイアウトでテキストとかボタンを配置するためのファイル。<br>このレイアウトは多少問題があっても動作はするので基本的にはパレットから配置するだけである。後は位置決めや色、大きさ等を設定するが最初はあまり気にしないで良い。<br>ただし、センター合わせと上のアイテムとの関係があるので、その設定だけは最低必要かも、そうでないと右上とか左とかに表示されてしまうので、それでも問題無いならそのまま。<br><strong><span class="ystdb-inline--larger">activity_main.xml<br>activity_main2.xml</span></strong></p>



<p>values：これは情報を設定しておく、例えば色の情報とかテキストの情報等。今回は使用していない。<br><strong><span class="ystdb-inline--larger">colors.xml<br>strings.xml</span></strong></p>



<h2 class="wp-block-heading">レイアウトで一番大事なのは「id」と「text」</h2>



<p>例えばどのボタンであるかを識別するに「id」が使われ、そのボタンに表示する文字を「text」に設定する。</p>



<h2 class="wp-block-heading">新規にファイルを作成</h2>



<p>新規作成には、javaクラスのファイルだけを作成する場合は、新規-&gt;java Classを選択。<br>親近にレイアウトも作成したいときは、新規-&gt;Activity-&gt;Empty Views Activityを選択すると.javaと.xmlファイルが2つ作成される。今回は後半の２つのファイルを作成。</p>



<h2 class="wp-block-heading">3つの画面の java と xml を作成</h2>



<p>作成されるとこうなる。それぞれ３つのファイルが作成されたとこになる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/51794c53f22be16546719b6f6b96e5d6.png" alt="" class="wp-image-16694"/></figure>



<p>ポイントをactivity_main.xmlで説明すると、以下のところにボタンのアクションを入れること。<br>これでボタンを押したときに指定のページに移動する。</p>



<p>ボタン毎にsendButton1は変数として設定する必要がある。Intentの()内が画面の位置を指定している。<br>最初の「MainActivity.this」が最初の画面、次の「MainActivity2.class」が2番目の画面に移動する設定。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/51794c53f22be16546719b6f6b96e5d6-3.png" alt="" class="wp-image-16698"/></figure>



<figure class="wp-block-image size-large"><a href="https://polo-web.com/WP/wp-content/uploads/2024/03/51794c53f22be16546719b6f6b96e5d6-1.png"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/51794c53f22be16546719b6f6b96e5d6-1-1024x572.png" alt="" class="wp-image-16695"/></a></figure>



<h2 class="wp-block-heading">実際のプロジェクトファイル</h2>



<p>layout/<strong><span class="ystdb-inline--larger">activity_main.xml</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_main.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:id=&quot;@+id/main&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.MainActivity&quot;&gt;

    &lt;TextView
        android:id=&quot;@+id/textView&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;240dp&quot;
        android:text=&quot;No.1&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.498&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toTopOf=&quot;parent&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button1&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;28dp&quot;
        android:text=&quot;画面２へ&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.5&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toBottomOf=&quot;@+id/textView&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button2&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;画面３へ&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toBottomOf=&quot;@+id/button1&quot;
        app:layout_constraintVertical_bias=&quot;0.07&quot; /&gt;

&lt;/androidx.constraintlayout.widget.ConstraintLayout&gt;</code></pre></div>



<p>layout/<strong><span class="ystdb-inline--larger">activity_main2.xml</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_main2.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:id=&quot;@+id/main&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.MainActivity2&quot;&gt;

    &lt;TextView
        android:id=&quot;@+id/textView2&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;276dp&quot;
        android:text=&quot;No.2&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.5&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toTopOf=&quot;parent&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button3&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;24dp&quot;
        android:text=&quot;画面１へ&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toBottomOf=&quot;@+id/textView2&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button4&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;画面３へ&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toBottomOf=&quot;@+id/button3&quot; /&gt;
&lt;/androidx.constraintlayout.widget.ConstraintLayout&gt;</code></pre></div>



<p>layout/<strong><span class="ystdb-inline--larger">activity_main3.xml</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_main3.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:id=&quot;@+id/main&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.MainActivity3&quot;&gt;

    &lt;TextView
        android:id=&quot;@+id/textView3&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;256dp&quot;
        android:text=&quot;No.3&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.498&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toTopOf=&quot;parent&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button5&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;44dp&quot;
        android:text=&quot;画面１へ&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toBottomOf=&quot;@+id/textView3&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button6&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;16dp&quot;
        android:text=&quot;画面２へ&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot;
        app:layout_constraintTop_toBottomOf=&quot;@+id/button5&quot; /&gt;
&lt;/androidx.constraintlayout.widget.ConstraintLayout&gt;</code></pre></div>



<p>java/<strong><span class="ystdb-inline--larger">MainActivity.java</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="MainActivity.java"><code>package com.example.movingthescreen;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
    
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -&gt; {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        Button sendButton1 = findViewById(R.id.button1);
        // lambda式
        sendButton1.setOnClickListener(v -&gt; {
            Intent intent = new Intent(MainActivity.this, MainActivity2.class);
            startActivity(intent);
        });
        Button sendButton2 = findViewById(R.id.button2);
        // lambda式
        sendButton2.setOnClickListener(v -&gt; {
            Intent intent = new Intent(MainActivity.this, MainActivity3.class);
            startActivity(intent);
        });
    }
}</code></pre></div>



<p>java/<strong><span class="ystdb-inline--larger">MainActivity2.java</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="MainActivity2.java"><code>package com.example.movingthescreen;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity2 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main2);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -&gt; {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        Button sendButton3 = findViewById(R.id.button3);
        // lambda式
        sendButton3.setOnClickListener(v -&gt; {
            Intent intent = new Intent(MainActivity2.this, MainActivity.class);
            startActivity(intent);
        });
        
        Button sendButton4 = findViewById(R.id.button4);
        // lambda式
        sendButton4.setOnClickListener(v -&gt; {
            Intent intent = new Intent(MainActivity2.this, MainActivity3.class);
            startActivity(intent);
        });
    }
}</code></pre></div>



<p>java/<strong><span class="ystdb-inline--larger">MainActivity3.java</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="MainActivity3.java"><code>package com.example.movingthescreen;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity3 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main3);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -&gt; {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        Button sendButton5 = findViewById(R.id.button5);
        // lambda式
        sendButton5.setOnClickListener(v -&gt; {
            Intent intent = new Intent(MainActivity3.this, MainActivity.class);
            startActivity(intent);
        });
        Button sendButton6 = findViewById(R.id.button6);
        // lambda式
        sendButton6.setOnClickListener(v -&gt; {
            Intent intent = new Intent(MainActivity3.this, MainActivity2.class);
            startActivity(intent);
        });

    }
}</code></pre></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio &#8211; Hedgehog &#124; 2023.1.1 日本語化する</title>
		<link>https://polo-web.com/android-studio-hedgehog-2023-1-1-japanese-localization/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Thu, 04 Sep 2025 23:38:13 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15197</guid>

					<description><![CDATA[[About]ダイアログに書かれているビルド番号を確認：2023.1.1 Patch２念のため、バージョン番号も確認：231 上記で調べた[ビルド番号]に一 …]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/07/Android_Studio_download_archives_-_-_Android_Developers.png" alt="" class="wp-image-18108"/></figure>



<p>[About]ダイアログに書かれているビルド番号を確認：<strong>2023.1.1 Patch２</strong><br>念のため、バージョン番号も確認：231</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/About_Android_Studio-1.png" alt="" class="wp-image-16137"/></figure>



<p>上記で調べた[ビルド番号]に一致するプラグインのバージョンを探す。<strong>赤のライン</strong>の部分（231.283）念のため、[バージョン番号]も[Compatibility Range]の範囲に含まれているか確認（2023.1 &#8211; 2323.1.5）</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/07/5bdb5942dbb056eb382fa8d5945c3a39.png" alt="" class="wp-image-18122"/></figure>



<p>ここからダウンロード：<a href="https://plugins.jetbrains.com/plugin/13964-japanese-language-pack------/versions">https://plugins.jetbrains.com/plugin/13964-japanese-language-pack&#8212;&#8212;/versions</a></p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/27f04048ac5ceaae5c90ab0f8527c347.png" alt="" class="wp-image-16138"/></figure>



<p>少し下の方にある。該当するのが２つある、上の方をダウンロード。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/27f04048ac5ceaae5c90ab0f8527c347-1.png" alt="" class="wp-image-16139"/></figure>



<p>ダウンロードしたzipファイル。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/f81fd2e4c52864042852c112ce927ae2.png" alt="" class="wp-image-16140"/></figure>



<h2 class="wp-block-heading">[日本語言語パック]をインストールする</h2>



<p>Android Studioを起動しましたら、歯車アイコンをクリック、[Plugins]をクリック。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/2d9c3d861e869c22cedda995ca178a83.png" alt="" class="wp-image-16142"/></figure>



<p>歯車アイコンをクリックして、メニューから「Install Plugin from Disk&#8230;」をクリック。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/Preferences-1.png" alt="" class="wp-image-16143"/></figure>



<p>多分「ダウンロード」フォルダにあると思うのでそこからファイルを指定して右下の「Open」をクリック。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/Choose_Plugin_File-1.png" alt="" class="wp-image-16145"/></figure>



<p>緑の「Restart IDE」ボタンを押すと更に「Retart」を押して再起動する。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/6cc85e94911114a92e2ed0fb5af4d345.png" alt="" class="wp-image-16147"/></figure>



<p>再起動したら日本語になっている。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/Polo_Layout-1-1024x567.png" alt="" class="wp-image-16148"/></figure>



<p>これで完了。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio プロジェクトのための基本３つのフォルダ構成</title>
		<link>https://polo-web.com/the-basic-three-folder-structure-for-an-android-studio-project/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Thu, 04 Sep 2025 23:43:49 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15199</guid>

					<description><![CDATA[プロジェクトを作ると自動的に作られていて、何のファイルなのかさっぱり理解できない。ドコに何が入ってるのかよく判らないということになる、すくなくとも基本的なプ …]]></description>
										<content:encoded><![CDATA[
<p>プロジェクトを作ると自動的に作られていて、何のファイルなのかさっぱり理解できない。ドコに何が入ってるのかよく判らないということになる、すくなくとも基本的なプロジェクトの構成を頭に入れて置かないと自分が何をやっているのかがさっぱり理解できない。</p>



<p>初期設定ではプロジェクトウィンドウには「Androidビュー」でプロジェクトファイルが表示されている。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/defbd6a6ed12144de04ee340b146d6cd-1.png" alt="" class="wp-image-16157"/></figure>



<p>「Androidビュー」での表示は、よく使用するソースファイルにアクセスしやすいように整理されていて、あまり使用しない特定のファイルやディレクトリは表示されないようになっている。</p>



<p>ためしにドロップダウンリストを「Androidビュー」→「Projectビュー」に変えてみる。<br>この「Projectビュー」ツリー表示はプロジェクトすべてのフォルダ構成でファイル表示されているので、使用しないモノも多く表示されて見づらい、「Androidビュー」での表示が見やすいということになる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bd3a6c6e5b2257d6b7b5164551fe161.png" alt="" class="wp-image-16158"/></figure>



<h2 class="wp-block-heading">プロジェクトの構成</h2>



<p>プロジェクトファイルは appフォルダの中にある3つのフォルダである。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/defbd6a6ed12144de04ee340b146d6cd-2.png" alt="" class="wp-image-16159"/></figure>



<p>基本この三つのフォルダ ( グループ ) に分かれている。作成する場合、この三つのフォルダに入ってるファイルをよく使う事になる。</p>



<ul class="wp-block-list">
<li><strong>manifests</strong>：マニフェストファイル</li>



<li><strong>kotlin+java</strong>：アクティビティ</li>



<li><strong>res</strong>：リソースファイル</li>
</ul>



<h4 class="wp-block-heading">manifests</h4>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bd3a6c6e5b2257d6b7b5164551fe161-1.png" alt="" class="wp-image-16160"/></figure>



<p>manifestsフォルダにはアプリ共通の設定ファイル…AndroidManifest.xml&nbsp;が配置されている。<br>このファイルはアプリ全体に関する機能定義やパーミッションなどを宣言することになる。</p>



<h4 class="wp-block-heading">kotlin+java</h4>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/defbd6a6ed12144de04ee340b146d6cd-4.png" alt="" class="wp-image-16162"/></figure>



<p>フォルダ名の通り、kitolin+java のソースが入っている。<br>パッケージ名の右側に( androidTest )と( test )と書かれているフォルダはテスト用の javaソースを入れておくためのモノ。<br>追加で javaファイルを作った場合は「MainActivity」と「TestActivity」が入っている「com.polo_web.myapplication」のの中に追加して入れていく。<br>Kotlinとは、よりJavaを簡潔で安全に使える言語にするために生み出したものがKotlinになる。</p>



<h4 class="wp-block-heading">res</h4>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/defbd6a6ed12144de04ee340b146d6cd-5.png" alt="" class="wp-image-16163"/></figure>



<p>画像、画面レイアウト、アプリのアイコン、アプリで使用する固定文字列やテーマ、色構成を設定する xml ファイルなど、java ファイル以外のモノを入れておくためのモノです。</p>



<ul class="wp-block-list">
<li><strong>drawable</strong>：画像ファイルを入れるフォルダ</li>



<li><strong>layout</strong>：画面レイアウトに関連する xmlファイルを入れるフォルダ</li>



<li><strong>mipmap</strong>：アプリのアイコンを入れるフォルダ</li>



<li><strong>values</strong>：アプリで使用する固定文字列 ( strings.xml )、画面テーマ( theme.xml )、色( color.xml ) などを指定する xmlファイルを入れるフォルダ</li>
</ul>



<h2 class="wp-block-heading">Hello World が記述されたファイルを見てみる</h2>



<p>では、作成したプロジェクトがどうなっているのか、上記の三つのフォルダと照らし合わせて見てみる。</p>



<p>まずは マニフェストファイル … manifetsts フォルダの中の&nbsp;AndroidManifest.xml&nbsp;をオープン。</p>



<figure class="wp-block-image size-large"><a href="https://polo-web.com/WP/wp-content/uploads/2024/02/7bd3a6c6e5b2257d6b7b5164551fe161-3.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bd3a6c6e5b2257d6b7b5164551fe161-3-1024x646.png" alt="" class="wp-image-16165"/></a></figure>



<p>マウスを下のように「android:label=”My Application″」へ持っていくと…</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/456d4ac358e4fa3bb20fb293334e9102.png" alt="" class="wp-image-16176"/></figure>



<p><br>「android:label=”@string/app_name”」とコメント表示される（上の画像参照）。<br>それを更にクリックすると…「android:label=”My Application″」が「android:label=”@string/app_name″」に変化し、ソースの内容がコメント表示のモノになる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/97ae6a4a48e10521e5a9ea340838c642.png" alt="" class="wp-image-16177"/></figure>



<p>次に res フォルダの中の values/strings.xml&nbsp;をオープンする。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/2c83d76e62d48e5dce75b94e7d28cf5a.png" alt="" class="wp-image-16166"/></figure>



<p>「&lt;string name=”app_name”&gt;My Application」と書かれている。</p>



<p>つまり&nbsp;AndroidManifest.xml&nbsp;で、strings.xml&nbsp;で定義した文字列を【app_name】変数を介して、値である「My Application」を参照してますよ…という事。</p>



<p>決まった文字列を持っておきたい時は、strings.xml&nbsp;へ上記のお作法で追記して参照すればイイという事が判る。このパターンは良く使うことになりそう。</p>



<p>今度は 矢印カーソルを『&nbsp;android:name=”.MainActivity”』へ持っていくと…</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/608e2bce360e05fb8d9c1fda7c1e3966-1.png" alt="" class="wp-image-16167"/></figure>



<p>パスが表示される。~/AndroidStudioProjects/MyApplication9/App/src/main/AndroidManifest.xml<br>これははProjects フォルダの中のパスにある「AndroidManifest.xml」を使いますよ という意味になる。</p>



<p>次に、MainActivity&nbsp;をオープンします。<br>左のメニューからMainActivity.ktというファイルをダブルクリック、ktとはkotlin（javaでなく）で作成されたファイルということになる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/f4419f83127c195380828109d75d5b3c.png" alt="" class="wp-image-16169"/></figure>



<p>『setContentView ( R.layout.activity_main )』→『res フォルダの中の layout/activity_main.xml を使って画面レイアウトを表示します』という意味なので、その画面レイアウトに相当する res フォルダの中の layout/activity_main.xml をオープンしてみる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/e12d3d4beab9c7d64478509121abe685-17.png" alt="" class="wp-image-16170"/></figure>



<p>xml コードが表示されます。「Hello World!」と書かれているのがわかる。</p>



<p>Design タブをクリックすると、コード表示 → 画面表示に切り替わる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/e12d3d4beab9c7d64478509121abe685-18.png" alt="" class="wp-image-16171"/></figure>



<p>これでプロジェクトの中にある軸となる三つのフォルダ ( グループ ) のファイルの関係性がチョット見えてきた感じがするかな。</p>



<ul class="wp-block-list">
<li><strong><span class="ystdb-inline--larger">manifests</span></strong> ( マニフェストファイル ) → 大きな意味でのアプリの定義を書くファイル</li>



<li><strong><span class="ystdb-inline--larger">kotlin+java</span></strong> ( アクティビティ ) → プログラムファイル</li>



<li><strong><span class="ystdb-inline--larger">res</span></strong> ( リソースファイル ) → 基本は読込ファイル</li>
</ul>



<p>これでアプリを起動したときの最初の画面を作成することができる。結局は何もしないで「Hello World!」が出来上がった状態になる。</p>



<h2 class="wp-block-heading">Gradle Scripts</h2>



<p>ビルド用のファイルが入っている。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BackButton &#8211; アクションバーの作成 &#124; Android Studio</title>
		<link>https://polo-web.com/backbutton-actionbar-creation-android-studio/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Fri, 12 Sep 2025 01:12:46 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15458</guid>

					<description><![CDATA[参考YouTube：https://www.youtube.com/watch?v=P-zg5anlB_A プロジェクト名：BackButton CLICK …]]></description>
										<content:encoded><![CDATA[
<p>参考YouTube：https://www.youtube.com/watch?v=P-zg5anlB_A</p>



<p><strong><span class="ystdb-inline--larger">プロジェクト名：BackButton</span></strong></p>



<p>CLICKボタンで次の画面に移動、上の矢印で前画面に戻る。<br>このプロジェクトには２つのレイアウトが必要。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-image">
<figure class="alignright size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/734f3155efca604b08216fde5591c4a5-2.png" alt="" class="wp-image-16787"/></figure>
</div></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-image">
<figure class="alignleft size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/734f3155efca604b08216fde5591c4a5.png" alt="" class="wp-image-16785"/></figure>
</div></div>
</div>



<h2 class="wp-block-heading">プロジェクトの作成</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/b6106fba1e6d8c8a8b5dd06a620f0de0-6.png" alt="" class="wp-image-16492"/></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/b6106fba1e6d8c8a8b5dd06a620f0de0-15.png" alt="" class="wp-image-16798"/></figure>
</div>


<p>変更したファイルは以下の場所のファイル。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/ce02ae2e801daa228fb6ef30d35b48a7.png" alt="" class="wp-image-16789"/></figure>



<p>まずレイアウトファイルの作成から</p>



<p><strong><span class="ystdb-inline--larger">activity_main.xml</span></strong></p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/7db72f5efb64b7571d7781036bf065ce.png" alt="" class="wp-image-16790"/></figure>



<p>中身のレイアウトは追加変更して上のようになっている。<br>ここで特徴的なのは、長々と記述「&lt;android.support.constraint.ConstraintLayout」されていたところを「&lt;RelativeLayout」に短縮したこと。こんなことができるのだと思った。Relative（相対的）なレイアウトということらしい。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/7db72f5efb64b7571d7781036bf065ce-1.png" alt="" class="wp-image-16791"/></figure>



<p>以下の中でButtonのid名「Button」が重要になる。これを使って移動する。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_main.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.MainActivity&quot;&gt;

    &lt;Button
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:id=&quot;@+id/Button&quot;
        android:text=&quot;Click&quot;
        android:textSize=&quot;20dp&quot;
        android:layout_centerInParent=&quot;true&quot; /&gt;

&lt;!-- 以下ではidは入れなくても動作する、入れていても問題ない他でつかうかもしれないので--&gt;
    &lt;TextView
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;First Activity&quot;
        android:layout_below=&quot;@+id/Button&quot;
        android:textSize=&quot;20dp&quot;
        android:textColor=&quot;#000000&quot;
        android:layout_centerInParent=&quot;true&quot; /&gt;
&lt;/RelativeLayout&gt;</code></pre></div>



<p><strong><span class="ystdb-inline--larger">activity_second.xml</span></strong></p>



<p>res/新規/Activity/Empty Views Activityから名前を「SecondActivity」とつけてjavaで作成。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/New_Android_Activity-4.png" alt="" class="wp-image-16800"/></figure>



<p>ここの作成が済むと以下のように表示されるようになる。アクションバーは表示されない場合は目のアイコンから「Show Syatem UI」を選択すると下のように表示される。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/316ac9c486ec19df8ea2be142704bd6c.png" alt="" class="wp-image-16792"/></figure>



<p>ここでも「activity_main.xml」でやったように、「&lt;&lt;RelativeLayout xmlns:android=以下そのまま」に変更することを忘れないように。<br>リンク関係はまったくないのでレウアウトのみ考えれば良い。<br>最後の android:layout_centerInParent=&#8221;true&#8221; は親のレイアウトの中央に配置するという意味になる。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_second.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.SecondActivity&quot;&gt;
    &lt;TextView
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;Second Activity&quot;
        android:textSize=&quot;20dp&quot;
        android:textColor=&quot;#000000&quot;
        android:layout_centerInParent=&quot;true&quot; /&gt;
&lt;/RelativeLayout&gt;</code></pre></div>



<p><strong><span class="ystdb-inline--larger">AndroidManifest.xml</span></strong></p>



<p>10行目のandroid:label=&#8221;@string/app_name&#8221;はアクションバー内に表示されるテキスト名になる。values/strings.xmlにそのテキスト「BackButton」が記述されているので確認できる。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="AndroidManifest.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;&gt;

    &lt;application
        android:allowBackup=&quot;true&quot;
        android:dataExtractionRules=&quot;@xml/data_extraction_rules&quot;
        android:fullBackupContent=&quot;@xml/backup_rules&quot;
        android:icon=&quot;@mipmap/ic_launcher&quot;
        android:label=&quot;@string/app_name&quot;
        android:roundIcon=&quot;@mipmap/ic_launcher_round&quot;
        android:supportsRtl=&quot;true&quot;
        android:theme=&quot;@style/Theme.BackButton&quot;
        tools:targetApi=&quot;31&quot;&gt;
        &lt;activity
            android:name=&quot;.SecondActivity&quot;
            android:parentActivityName=&quot;.MainActivity&quot;
            android:exported=&quot;false&quot; /&gt;
        &lt;activity
            android:name=&quot;.MainActivity&quot;
            android:exported=&quot;true&quot;&gt;
            &lt;intent-filter&gt;
                &lt;action android:name=&quot;android.intent.action.MAIN&quot; /&gt;

                &lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&gt;
            &lt;/intent-filter&gt;
        &lt;/activity&gt;

        &lt;meta-data android:name=&quot;android.support.PARENT_ACTIVITY&quot; android:value=&quot;.MainActivity&quot; /&gt;
    &lt;/application&gt;

&lt;/manifest&gt;</code></pre></div>



<p><strong><span class="ystdb-inline--larger">strings.xml</span></strong></p>



<p>res/values/strings.xmlにある。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="strings.xml"><code>&lt;resources&gt;
    &lt;string name=&quot;app_name&quot;&gt;BackButton&lt;/string&gt;
&lt;/resources&gt;</code></pre></div>



<p><strong><span class="ystdb-inline--larger">MainActivity.java</span></strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="MainActivity.java"><code>package com.example.backbutton;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=findViewById(R.id.Button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this,SecondActivity.class);
                startActivity(intent);
            }
        });
    }
}</code></pre></div>



<p><strong><span class="ystdb-inline--larger">SecondActivity.java</span></strong></p>



<p>SecondActivity.javaは移動しないのでアクションバーについては何も記述しない、デフォルトで開いた状態のままで良い。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="SecondActivity.java"><code>package com.example.backbutton;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }
}</code></pre></div>



<p><strong><span class="ystdb-inline--larger">themes.xml</span></strong>（values/themes.xmlとnight/themes.xmlの２つあるがどちらも同じ）</p>



<p>ここはポイントになるところ。</p>



<p>デフォルトの状態。このままではアクションバーは表示されない。</p>



<p class="has-ys-light-gray-background-color has-background">&lt;style name=&#8221;Base.Theme.BackButton&#8221; parent=&#8221;Theme.Material3.DayNight.NoActionBar&#8221;&gt;</p>



<p>ここを以下のように書き換えるとバックが黒色のバーとテキストが表示されるようになる。</p>



<p class="has-ys-light-gray-background-color has-background">&lt;style name=&#8221;Base.Theme.BackButton&#8221; parent=&#8221;Theme.MaterialComponents.DayNight.DarkActionBar&#8221;&gt;</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="values/themes.xml"><code>&lt;resources xmlns:tools=&quot;http://schemas.android.com/tools&quot;&gt;
    &lt;!-- Base application theme. --&gt;
    &lt;style name=&quot;Base.Theme.BackButton&quot; parent=&quot;Theme.MaterialComponents.DayNight.DarkActionBar&quot;&gt;
        &lt;!-- Customize your light theme here. --&gt;
        &lt;!-- &lt;item name=&quot;colorPrimary&quot;&gt;@color/my_light_primary&lt;/item&gt; --&gt;
    &lt;/style&gt;

    &lt;style name=&quot;Theme.BackButton&quot; parent=&quot;Base.Theme.BackButton&quot; /&gt;
&lt;/resources&gt;</code></pre></div>



<p>以上の設定で黒色のアクションバーが表示される。</p>



<h2 class="wp-block-heading">アクションバーの色を変える</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/2b116f67fb7eccef483b0cd1d7e5e1d9.png" alt="" class="wp-image-16796"/></figure>
</div>


<p><strong><span class="ystdb-inline--larger">colors.xml</span></strong>に色を登録</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="colors.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;!-- カラー一覧：https://ao-system.net/androidcolor/--&gt;
&lt;resources&gt;
    &lt;color name=&quot;black&quot;&gt;#FF000000&lt;/color&gt;
    &lt;color name=&quot;white&quot;&gt;#FFFFFFFF&lt;/color&gt;
    &lt;color name=&quot;green_800&quot;&gt;#2E7D32&lt;/color&gt;
    &lt;color name=&quot;light_green_A700&quot;&gt;#64DD17&lt;/color&gt;
    &lt;color name=&quot;light_blue_A100&quot;&gt;#80D8FF&lt;/color&gt;
    &lt;color name=&quot;blue_A700&quot;&gt;#2962FF&lt;/color&gt;
&lt;/resources&gt;</code></pre></div>



<p><strong><span class="ystdb-inline--larger">themes.xml</span></strong>（両方）に追加記述</p>



<p>item name=&#8221;colorPrimary&#8221;&gt;@color/green_800 の&#8221;<strong>colorPrimary</strong>&#8220;がアプリ全体の基本カラーになる。<br>他にも設定が色々あるようだ。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="hemes.xml"><code>&lt;resources xmlns:tools=&quot;http://schemas.android.com/tools&quot;&gt;
    &lt;!-- Base application theme. --&gt;
    &lt;style name=&quot;Base.Theme.BackButton&quot; parent=&quot;Theme.MaterialComponents.DayNight.DarkActionBar&quot;&gt;
        &lt;!-- Primary brand color. --&gt;
        &lt;item name=&quot;colorPrimary&quot;&gt;@color/green_800&lt;/item&gt;
        &lt;!-- Secondary brand color. --&gt;
        &lt;!-- Status bar color. --&gt;
        &lt;!-- Customize your theme here. --&gt;
    &lt;/style&gt;

    &lt;style name=&quot;Theme.BackButton&quot; parent=&quot;Base.Theme.BackButton&quot; /&gt;
&lt;/resources&gt;</code></pre></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studioでswitchのcase文が使えない問題</title>
		<link>https://polo-web.com/android-studio-switch-case-statement-cannot-be-used/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Mon, 18 Aug 2025 04:16:35 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=14816</guid>

					<description><![CDATA[R.id.xxxは定数ではありません。古いAndroid SDKのコードではswitchのcase文でR.id.xxxを使うことが可能でしたが、途中でR.i …]]></description>
										<content:encoded><![CDATA[
<p>R.id.xxxは定数ではありません。<br>古いAndroid SDKのコードではswitchのcase文でR.id.xxxを使うことが可能でしたが、途中でR.id.xxxが定数ではなくなったため、最新の環境では使えなくなっています。<br>しかし、if else if文で書き換えると同じ動作を実現できるようになる。</p>



<p>以下のような、switch文が使えなくなっている。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-file="class.java" data-lang="JavaScript"><code>//ボタンを押されたときの動作を定義するクラスを作成
    private class ButtonClickListener implements View.OnClickListener{

        //ボタンを押されたときの動作を定義
        @Override
        public void onClick(View view){

            //結果を出力するテキストビューのid
            TextView ChangeColor =findViewById(R.id.color_text);

            //押されたボタンのidを取得
            int id = view.getId();

            //押されたボタンのidによって条件分岐
            switch (id) {
                case R.id.button_red://赤色のボタンが押された時の処理
                    ChangeColor.setText(R.string.red);
                    ChangeColor.setTextColor(Color.RED);
                    break;
                
                case R.id.button_blue:// 青色のボタンが押された時の処理
                    ChangeColor.setText(R.string.blue);
                    ChangeColor.setTextColor(Color.BLUE);
                    break;
                
                case R.id.button_yellow:// 黄緑色のボタンが押された時の処理
                    ChangeColor.setText(R.string.green);
                    ChangeColor.setTextColor(Color.GREEN);
                    break;
            }
        }
    }</code></pre></div>



<p>if文にすると同じ動作が実現する。しかし実際に動作させるには「onCreate」内にも追加しないといけないものがあるので、この下にある「MainActivity.java」を参考にすること。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-file="class.java" data-lang="JavaScript"><code>//ボタンを押されたときの動作を定義するクラスを作成
    private class ButtonClickListener implements View.OnClickListener{

        //ボタンを押されたときの動作を定義
        @Override
        public void onClick(View view){

            //結果を出力するテキストビューのid
            TextView ChangeColor =findViewById(R.id.color_text);

            //赤色のボタンが押された時の処理
            if(view.getId() == R.id.button_red) {
                ChangeColor.setText(R.string.red);//テキストを『赤色』と表示
                ChangeColor.setTextColor(Color.RED);//上のテキストを赤色にする

            // 青色のボタンが押された時の処理
            }else if(view.getId() == R.id.button_blue) {
                ChangeColor.setText(R.string.blue);
                ChangeColor.setTextColor(Color.BLUE);

            // オレンジ色のボタンが押された時の処理
            }else{
                ChangeColor.setText(R.string.green);
                ChangeColor.setTextColor(color.GREEN);
            }
        }
    }</code></pre></div>



<p>参考までにこの分のレイアウトとjavaを載せておきます。</p>



<p>プrジェクト名は：SampleColorButton</p>



<p>参考にさせてもらいました：https://zerokara-app.com/299/</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/07/44a75e720924684371591b3046bdd3d3.png" alt="" class="wp-image-18185"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/07/81a29b51a3fedc59cc6282336aa14792.png" alt="" class="wp-image-18186"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p>ここには黄色が入る予定だったが色が見えにくいので入れていない。</p>
</div>
</div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="strings.xml"><code>&lt;resources&gt;
    &lt;string name=&quot;app_name&quot;&gt;カラーボタン&lt;/string&gt;
    &lt;string name=&quot;red&quot;&gt;赤色&lt;/string&gt;
    &lt;string name=&quot;blue&quot;&gt;青色&lt;/string&gt;
    &lt;string name=&quot;yellow&quot;&gt;黄緑色&lt;/string&gt;
    &lt;string name=&quot;text&quot;&gt;ボタンを押してください&lt;/string&gt;
&lt;/resources&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="activity_main.xml"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    tools:context=&quot;.MainActivity&quot;&gt;

    &lt;TextView
        android:id=&quot;@+id/color_text&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;@string/text&quot;
        android:textSize=&quot;30sp&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintLeft_toLeftOf=&quot;parent&quot;
        app:layout_constraintRight_toRightOf=&quot;parent&quot;
        app:layout_constraintTop_toTopOf=&quot;parent&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button_red&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginBottom=&quot;32dp&quot;
        android:text=&quot;@string/red&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintEnd_toStartOf=&quot;@+id/button_blue&quot;
        app:layout_constraintHorizontal_bias=&quot;0.5&quot;
        app:layout_constraintStart_toStartOf=&quot;parent&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button_blue&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginBottom=&quot;32dp&quot;
        android:text=&quot;@string/blue&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintEnd_toStartOf=&quot;@+id/button_yellow&quot;
        app:layout_constraintHorizontal_bias=&quot;0.5&quot;
        app:layout_constraintStart_toEndOf=&quot;@+id/button_red&quot; /&gt;

    &lt;Button
        android:id=&quot;@+id/button_yellow&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginBottom=&quot;32dp&quot;
        android:text=&quot;@string/yellow&quot;
        app:layout_constraintBottom_toBottomOf=&quot;parent&quot;
        app:layout_constraintEnd_toEndOf=&quot;parent&quot;
        app:layout_constraintHorizontal_bias=&quot;0.5&quot;
        app:layout_constraintStart_toEndOf=&quot;@+id/button_blue&quot; /&gt;

&lt;/androidx.constraintlayout.widget.ConstraintLayout&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-file="MainActivity.java" data-lang="JavaScript"><code>package com.example.samplecolorbutton;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //ボタンビューを3つ取得
        Button buttonRed = findViewById(R.id.button_red);
        Button buttonBlue = findViewById(R.id.button_blue);
        Button buttonYellow = findViewById(R.id.button_yellow);

        //ボタンを押されたときの動作を持つインスタンスを生成
        ButtonClickListener listener = new ButtonClickListener();

        //ボタンにButtonClickListenerインスタンスをセット
        buttonRed.setOnClickListener(listener);
        buttonBlue.setOnClickListener(listener);
        buttonYellow.setOnClickListener(listener);
    }

    //ボタンを押されたときの動作を定義するクラスを作成
    private class ButtonClickListener implements View.OnClickListener{

        //ボタンを押されたときの動作を定義
        @Override
        public void onClick(View view){

            //結果を出力するテキストビューのid
            TextView ChangeColor =findViewById(R.id.color_text);

            //赤色のボタンが押された時の処理
            if(view.getId() == R.id.button_red) {
                ChangeColor.setText(R.string.red);//テキストを『赤色』と表示
                ChangeColor.setTextColor(Color.RED);//上のテキストを赤色にする

            // 青色のボタンが押された時の処理
            }else if(view.getId() == R.id.button_blue) {
                ChangeColor.setText(R.string.blue);
                ChangeColor.setTextColor(Color.BLUE);

            // オレンジ色のボタンが押された時の処理
            }else{
                ChangeColor.setText(R.string.yellow);
                ChangeColor.setTextColor(Color.YELLOW);
            }
        }
    }
}</code></pre></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>自分が経験したエラーの解決方法</title>
		<link>https://polo-web.com/how-to-resolve-the-error-you-are-experiencing/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Mon, 25 Aug 2025 05:15:12 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=14995</guid>

					<description><![CDATA[M1 Mac（Apple Silicon&#38;nbsp;）は64ビットARMAndroid Studioバージョン：android-studio-202 …]]></description>
										<content:encoded><![CDATA[
<p class="has-ys-light-gray-background-color has-background">M1 Mac（Apple Silicon&nbsp;）は64ビットARM<br>Android Studioバージョン：<strong>android-studio-2023.1.1.28-mac_arm.dmg</strong></p>



<p>この辺のバージョンにするとYoutube等で説明されているスクリプトと若干違う部分が良く出てくるようになる。そのため前に進めないときがあるが、以下の部分ではうまくいった。</p>



<h2 class="wp-block-heading">switch文を使うとエラーになる、解決はif文にすること</h2>



<p>switchのcase文にR.idを入れたらエラーになるらしい、定数として扱えないということらしい。</p>



<p><strong>＜例題１＞</strong></p>



<p>以下はswitch文でメニューを切り替えているが、新しいAndroid Studioではエラーになる。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="switch文"><code> private void bottomMenu() {

        chipNavigationBar.setOnItemSelectedListener(new ChipNavigationBar.OnItemSelectedListener() {
            @Override
            public void onItemSelected(int i) {
                Fragment fragment = null;
                
                switch (i) {
                    case R.id.home:
                        fragment = new MyNotesFragment();
                        break;
                    case R.id.reminder:
                        fragment = new ReminderFragment();
                        break;
                    case R.id.shopping_list:
                        fragment = new ShoppingListFragment();
                        break;
                }
                 getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).commit();
            }
        });
    }</code></pre></div>



<p>以下のようにif文にすると問題なく使えるようになる。下のバー内のアイコンを「i」が、1番目、2番目を選択した状態を表している。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="if文"><code>private void bottomMenu() {

        chipNavigationBar.setOnItemSelectedListener(new ChipNavigationBar.OnItemSelectedListener() {
            @Override
            public void onItemSelected(int i) {
                Fragment fragment = null;
                if (i == R.id.home) {
                    fragment = new MyNotesFragment();
                }else if (i == R.id.reminder){
                    fragment = new ReminderFragment();
                }else {
                    fragment = new ShoppingListFragment();
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).commit();
            }
        });
    }</code></pre></div>



<p><strong>＜例題２＞</strong></p>



<p>以下も case (<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ys-red-color">R.id.roombtnadd</mark>): で R.id.roombtnaddに赤波線が入りエラーになってビルドできない。</p>



<p>v.getId()というのはidを取得するわけだから、そのidと同じだったらどうするかということになる。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="class.java"><code>@Override
public void onClick(View v) {
        switch (v.getId()) {
            //ボタンにクリック時の機能を実装する
            //loaddbにデータが保存されていない時の処理を追加する
            case (R.id.roombtnadd)://追加ボタンが押された時
                writedb();//データを書き込む
                break;
        }
}</code></pre></div>



<p>if文にすると問題なくビルドできるようになる。最初の3番めの行を外してbuttonIdのところに直接「v.getId()」を入れても良い。しかしif文が続く場合はこれが分かりやすいと思う。</p>



<p>この場合、ボタンのid名が「roombtnadd」なら{}内を実行するということになる。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="class.java"><code>@Override
public void onClick(View v) {
        int buttonId = v.getId();//idをゲットする
        if(buttonId == R.id.roombtnadd){
            writedb();//データを書き込む
}</code></pre></div>



<h2 class="wp-block-heading">Roomの依存設定</h2>



<p><em>dependencies</em>に入れる場合は implementation<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ys-red-color">（”</mark>◯◯◯◯◯◯◯◯<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ys-red-color">”）</mark>とする必要がある。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="build.gradle.kts"><code>implementation(&quot;androidx.room:room-runtime:2.3.0&quot;)
annotationProcessor(&quot;androidx.room:room-compiler:2.3.0&quot;)</code></pre></div>



<p>maven { url &#8216;https://jitpack.io&#8217; }を入れる場合、一番上でなく一番下の「settings.gradle.kts」に入れて以下のように記述する必要がある。</p>



<p class="has-ys-light-gray-background-color has-background">maven { url = uri(&#8220;https://jitpack.io&#8221;) }</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="settings.gradle.kts"><code>dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url = uri(&quot;https://jitpack.io&quot;)
        }
    }
}</code></pre></div>



<h2 class="wp-block-heading">M1 Macでerror: java.lang.ExceptionInInitializerErrorと出る</h2>



<p>M1 Macの場合これはRoomのバージョンが2.3.0で出るようだ、以下のように最新2.6.1に変更したらビルドできた。</p>



<p class="has-ys-light-gray-background-color has-background"><em>implementation</em>(&#8220;androidx.room:room-runtime:<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ys-red-color"><strong>2.6.1</strong></mark>&#8220;)<br><em>annotationProcessor</em>(&#8220;androidx.room:room-compiler:<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ys-red-color"><strong>2.6.1</strong></mark>&#8220;)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio &#124; Basic Views Activityを使って見た</title>
		<link>https://polo-web.com/viewed-using-android-studio-basic-views-activity/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Thu, 18 Sep 2025 02:22:38 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15533</guid>

					<description><![CDATA[このプロジェクトの名前の意味がわからないが、使って見た。 Nameは分かりやすいように「Basic Views Activity po」としている。 str …]]></description>
										<content:encoded><![CDATA[
<p>このプロジェクトの名前の意味がわからないが、使って見た。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/b6106fba1e6d8c8a8b5dd06a620f0de0-2.png" alt="" class="wp-image-16188"/></figure>



<p>Nameは分かりやすいように「Basic Views Activity po」としている。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/b6106fba1e6d8c8a8b5dd06a620f0de0-3.png" alt="" class="wp-image-16189"/></figure>



<p>strings.xmlを開く</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/ab3b1fd70cdc08df1401d340381428a8-1024x491.png" alt="" class="wp-image-16191"/></figure>



<p>ビルドすると右のように表示される。何もしないで作業が終了する。<br>赤枠のところを日本語にすることもできる。ボタンをクリックするとタイトルのテキストが変化する。右上の3点アイコンも一応動作する、右下のメールアイコンも動作している。</p>



<p>これをどのように広げていくかが難しい。勉強あるのみ。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/14d9f481beb6f59e55270c9441d47a1a-1024x892.png" alt="" class="wp-image-16192"/></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio &#124; エミュレーターのキーボードを日本語化する</title>
		<link>https://polo-web.com/android-studio-emulator-keyboard-japanese/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Thu, 18 Sep 2025 02:26:45 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15535</guid>

					<description><![CDATA[M1 Mac（Apple Silicon&#38;nbsp;）は64ビットARMになる。Android Studioバージョン：android-studio …]]></description>
										<content:encoded><![CDATA[
<p class="has-ys-light-gray-background-color has-background">M1 Mac（Apple Silicon&nbsp;）は64ビットARMになる。<br>Android Studioバージョン：android-studio-2023.1.1.28-mac_arm.dmg</p>



<p>Android Studioはインストールしただけだと英語設定だけになっている。キーボードとかで日本語が使えず困ってしまうときが出てくる。<br>「IME（アイ・エム・イー）」は“Input Method Editor”の略で、直訳すると“入力方式<em>エディター</em>”。<br>日本語を入力するときは、キーボードから「かな入力」か「ローマ字入力」でひらがなを入力し、それを漢字やカタカナなどを含む文章に変換する。この変換の行うのが「IME」になる。</p>



<h2 class="wp-block-heading">Android Studioでエミュレーターを日本語化する</h2>



<p>ビルドすると、Andoroid画面（エミュレーター）が表示される。<br>やり方は、android実機を触るのと同じ方法になる。<br>ビルドされたエミュレーター上で、androidの設定を変えるだけ。</p>



<p class="has-ys-light-gray-background-color has-background">ここでのエミュレーターは以下の例になる<br>Pixel_3a_API_34_extension_level_7_arm64-v8a<br>Android 14.0 (&#8220;UpsideDownCake&#8221;) | arm64</p>



<p>エミュレーターによって操作は変わりるかもしれないが、やることは「androidの設定を変える」だけで同じだと思う。</p>



<h3 class="wp-block-heading">ホーム画面を表示させる</h3>



<p>ホム画面が出ていいる。この画面で下の位置から上にドラッグする。<br>もしホーム画面が出ていないなら、上にあるズラリと並んだ ◯ アイコンをクリックすると下の画面になる。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bea49bf1b2796ae146a896ba65658f4.png" alt="" class="wp-image-16367" style="width:auto;height:400px"/></figure>
</div>


<p>Settings（設定）アイコンが出るまで画面を下にドラッグしてアイコンをクリックする。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bea49bf1b2796ae146a896ba65658f4-2.png" alt="" class="wp-image-16369"/></figure>
</div>


<p>System をクリック（下の方にあるのでスクロールする）。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/image.png" alt="画像に alt 属性が指定されていません。ファイル名: 7bea49bf1b2796ae146a896ba65658f4-3.png" class="wp-image-16372"/></figure>
</div>


<p>Languagesをクリック。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e.png" alt="" class="wp-image-16371"/></figure>
</div>


<p>System Languagesをクリック。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bea49bf1b2796ae146a896ba65658f4-4.png" alt="" class="wp-image-16373"/></figure>
</div>


<p>最初は英語だけになっているので「 <strong>+ Add a language</strong>」をクリック。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bea49bf1b2796ae146a896ba65658f4-5.png" alt="" class="wp-image-16374"/></figure>
</div>


<p>以下の画面になる。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-1.png" alt="" class="wp-image-16375"/></figure>
</div>


<p>日本語を探して追加する。かなり下の方にある。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-2.png" alt="" class="wp-image-16376"/></figure>
</div>


<p>ただし、追加しても１番目が英語。２番目が日本語になっているので、２番目の日本語の右側にある2本ラインをつまんで、１番目へ移動する。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-4.png" alt="" class="wp-image-16378"/></figure>
</div>


<p>「Change system language to 日本語(日本)?」とシステム言語を日本語に変更しますか？出るので「Change」をクリック。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-6.png" alt="" class="wp-image-16380"/></figure>
</div>


<p>これで日本語が使えるようになる。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-7.png" alt="" class="wp-image-16381"/></figure>
</div>


<p>これでシステムに移動しても画面が全て日本語になっているはずである。</p>



<p>他で確認するには、ホーム画面に戻ってメッセージアプリでもクロームでもいいので起動してみる。</p>



<p>以下は「メッセージ」を起動した状態。<br>最初に左の「12キー」と「QWERTY」のどちらをを選択するかがでる。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/7bea49bf1b2796ae146a896ba65658f4-6.png" alt="" class="wp-image-16382"/></figure>
</div>


<p>今回は「QWERTY」を選択して「完了」をクリック。。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-8.png" alt="" class="wp-image-16383"/></figure>
</div>


<p>日本語が入力できるようになった。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/02/9b4ccf6dad0d960a44e2a73bcb0b615e-9.png" alt="" class="wp-image-16384"/></figure>
</div>


<p>これで入力に関しては、どのアプリでも日本語が入力できるようになる。この作業は別のディバイスを追加するたびに必ず一度する必要がある。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio &#124; 要らないプロジェクトの削除</title>
		<link>https://polo-web.com/android-studio-delete-unnecessary-projects/</link>
		
		<dc:creator><![CDATA[polo-web]]></dc:creator>
		<pubDate>Thu, 18 Sep 2025 02:30:54 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<guid isPermaLink="false">https://polo-web.com/?p=15537</guid>

					<description><![CDATA[プロジェクトは2箇所の削除が必要。 １箇所目 Android Studioを起動した状態で 【File：ファイル】→【Close Project：プロジェク …]]></description>
										<content:encoded><![CDATA[
<p>プロジェクトは2箇所の削除が必要。</p>



<h2 class="wp-block-heading">１箇所目</h2>



<p>Android Studioを起動した状態で 【File：ファイル】→【Close Project：プロジェクトを閉じる】をクリック。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/48a00587419a3e03d073fad4117e5323.png" alt="" class="wp-image-16439"/></figure>



<p>削除したいプロジェクトが選択されている事を確認し、右端の三点アイコンをクリックして「最近のプロジェクトから除去：Remove from Recent Projects」を選択。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/48a00587419a3e03d073fad4117e5323-1.png" alt="" class="wp-image-16440"/></figure>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/cf418eb575c4d1001fe046cc6b50c3bb.png" alt="" class="wp-image-16441"/></figure>



<p>これでこの画面からは消えたことを確認。</p>



<p>この時点では、Android Studio 上での設定が削除されているだけなので、実際のファイルを削除されていない。</p>



<h2 class="wp-block-heading">２箇所目</h2>



<p>ユーザーディレクトリに「Android Studio Projects」というディレクトリがある。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/Notification_Center.png" alt="" class="wp-image-16442"/></figure>



<p>その中にある削除したいプロジェクト名を探しゴミ箱にいれる。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://polo-web.com/WP/wp-content/uploads/2024/03/kazuo.png" alt="" class="wp-image-16443"/></figure>



<p>これで完了。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
