diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
new file mode 100644
index 0000000..e1eea1d
--- /dev/null
+++ b/.idea/kotlinc.xml
@@ -0,0 +1,6 @@
+
+
+  
+    
+  
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8978d23..773fe0f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
 
   
-  
+  
     
   
   
diff --git a/app/build.gradle b/app/build.gradle
index 2b2bdc2..ae602fc 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,5 +1,6 @@
 plugins {
     id 'com.android.application'
+    id 'org.jetbrains.kotlin.android'
 }
 
 android {
@@ -14,6 +15,9 @@ android {
         versionName "1.0"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        vectorDrawables {
+            useSupportLibrary true
+        }
     }
 
     buildTypes {
@@ -26,6 +30,20 @@ android {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
+    kotlinOptions {
+        jvmTarget = '1.8'
+    }
+    buildFeatures {
+        compose true
+    }
+    composeOptions {
+        kotlinCompilerExtensionVersion '1.3.2'
+    }
+    packagingOptions {
+        resources {
+            excludes += '/META-INF/{AL2.0,LGPL2.1}'
+        }
+    }
 }
 
 dependencies {
@@ -33,10 +51,16 @@ dependencies {
     implementation 'androidx.appcompat:appcompat:1.6.1'
     implementation 'com.google.android.material:material:1.5.0'
     implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
+    implementation 'androidx.activity:activity-compose:1.5.1'
+    implementation platform('androidx.compose:compose-bom:2022.10.00')
+    implementation 'androidx.compose.ui:ui'
+    implementation 'androidx.compose.ui:ui-graphics'
+    implementation 'androidx.compose.ui:ui-tooling-preview'
+    implementation 'androidx.compose.material3:material3'
 
 
     testImplementation 'junit:junit:4.13.2'
     androidTestImplementation 'androidx.test.ext:junit:1.1.5'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
-    implementation 'com.journeyapps:zxing-android-embedded:4.3.0'//QR用zxingライブラリ
 }
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 300cbda..cbdd641 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,12 @@
 
 
+    
+    
+    
+    
+    
+    
     
     
     
+        
         
diff --git a/app/src/main/java/com/example/childguard/First_Start.java b/app/src/main/java/com/example/childguard/First_Start.java
new file mode 100644
index 0000000..77e6104
--- /dev/null
+++ b/app/src/main/java/com/example/childguard/First_Start.java
@@ -0,0 +1,14 @@
+package com.example.childguard;
+
+import android.os.Bundle;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+public class First_Start extends AppCompatActivity {
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.first_start);
+
+    }
+
+}
diff --git a/app/src/main/java/com/example/childguard/HomeFragment.java b/app/src/main/java/com/example/childguard/HomeFragment.java
index 09f6885..82a8f9c 100644
--- a/app/src/main/java/com/example/childguard/HomeFragment.java
+++ b/app/src/main/java/com/example/childguard/HomeFragment.java
@@ -7,11 +7,14 @@ import android.os.Bundle;
 
 import androidx.core.content.res.ResourcesCompat;
 import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.Button;
 import android.widget.FrameLayout;
 import android.widget.TextView;
 
@@ -66,7 +69,18 @@ public class HomeFragment extends Fragment {
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
         // Inflate the layout for this fragment
-        return inflater.inflate(R.layout.fragment_home, container, false);
+        //bluetooth設定ボタンの処理
+        View view=inflater.inflate(R.layout.fragment_home,container,false);
+        MainActivity activity = (MainActivity) getActivity();
+
+        Button bt1=view.findViewById(R.id.Bluetooth_setup);
+        bt1.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                replaceFragment(new bluetooth_setupFragment());
+            }
+        });
+        return view;
     }
 
     @Override
@@ -89,5 +103,19 @@ public class HomeFragment extends Fragment {
             situationTextView.setText("\n乗車状態");
             situation_bg.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.frame_style_orange, null));
         }
+
+    }
+    //画面遷移メソッド
+    private void replaceFragment(Fragment fragment){
+        // フラグメントマネージャーの取得
+        FragmentManager manager = getParentFragmentManager(); // アクティビティではgetSupportFragmentManager()?
+        // フラグメントトランザクションの開始
+        FragmentTransaction transaction = manager.beginTransaction();
+        // レイアウトをfragmentに置き換え(追加)
+        transaction.replace(R.id.fragmentContainerView, fragment);
+        // 置き換えのトランザクションをバックスタックに保存する
+        transaction.addToBackStack(null);
+        // フラグメントトランザクションをコミット
+        transaction.commit();
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/childguard/MainActivity.java b/app/src/main/java/com/example/childguard/MainActivity.java
index 0d0697f..4cd26ee 100644
--- a/app/src/main/java/com/example/childguard/MainActivity.java
+++ b/app/src/main/java/com/example/childguard/MainActivity.java
@@ -1,5 +1,6 @@
 package com.example.childguard;
 
+import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.app.ActivityCompat;
 import androidx.core.app.NotificationCompat;
@@ -7,6 +8,8 @@ import androidx.core.app.NotificationManagerCompat;
 
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
@@ -14,12 +17,20 @@ import android.os.Vibrator;
 
 import com.google.android.material.bottomnavigation.BottomNavigationView;
 
+import java.util.Random;
+import java.util.UUID;
+
 public class MainActivity extends AppCompatActivity {
+
+    BluetoothManager bluetoothManager;
+    BluetoothAdapter bluetoothAdapter;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
+
         //通知のやつ↓
         int importance = NotificationManager.IMPORTANCE_DEFAULT;
 
@@ -76,5 +87,12 @@ public class MainActivity extends AppCompatActivity {
             return;
         }
         notificationManager.notify(R.string.app_name, builder.build());
+
+
+    }
+    //Bluetooth_setupの戻るボタン
+    public void setupBackButton(boolean enableBackButton){
+        ActionBar actionBar = getSupportActionBar();
+        actionBar.setDisplayHomeAsUpEnabled(enableBackButton);
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/childguard/RecyclerAdapter.java b/app/src/main/java/com/example/childguard/RecyclerAdapter.java
new file mode 100644
index 0000000..ea0eea1
--- /dev/null
+++ b/app/src/main/java/com/example/childguard/RecyclerAdapter.java
@@ -0,0 +1,57 @@
+package com.example.childguard;
+
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.ArrayList;
+
+public class RecyclerAdapter extends RecyclerView.Adapter {
+
+    ArrayList deviceList;
+
+    // Constructor
+    public RecyclerAdapter(ArrayList deviceList) {
+        // Init
+        Log.d("RecyclerAdapter", "Constructor called");
+        this.deviceList = deviceList;
+    }
+
+    @NonNull
+    @Override
+    public RecyclerAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
+        View itemView = inflater.inflate(R.layout.recycler_row, parent, false);
+        return new ItemViewHolder(itemView);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+        holder.textView.setText(deviceList.get(position)[0]);
+        holder.textView.setOnClickListener( v -> {
+            Toast.makeText(v.getContext(), deviceList.get(position)[1], Toast.LENGTH_SHORT).show();
+        });
+    }
+
+    @Override
+    public int getItemCount() {
+        return deviceList.size();
+    }
+
+    static class ItemViewHolder extends RecyclerView.ViewHolder {
+        TextView textView;
+
+        public ItemViewHolder(@NonNull View itemView) {
+            super(itemView);
+            textView = itemView.findViewById(R.id.textView1);
+        }
+    }
+
+}
+
diff --git a/app/src/main/java/com/example/childguard/bluetooth_setupFragment.java b/app/src/main/java/com/example/childguard/bluetooth_setupFragment.java
new file mode 100644
index 0000000..2507185
--- /dev/null
+++ b/app/src/main/java/com/example/childguard/bluetooth_setupFragment.java
@@ -0,0 +1,147 @@
+package com.example.childguard;
+
+import android.app.Activity;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+
+import androidx.core.app.ActivityCompat;
+import androidx.core.app.NotificationCompat;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+import java.util.Objects;
+import java.util.Set;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Use the {@link bluetooth_setupFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class bluetooth_setupFragment extends Fragment {
+
+    // TODO: Rename parameter arguments, choose names that match
+    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+    private static final String ARG_PARAM1 = "param1";
+    private static final String ARG_PARAM2 = "param2";
+
+    // TODO: Rename and change types of parameters
+    private String mParam1;
+    private String mParam2;
+
+    public bluetooth_setupFragment() {
+        // Required empty public constructor
+    }
+
+
+    /**
+     * Use this factory method to create a new instance of
+     * this fragment using the provided parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment bluetooth_setupFragment.
+     */
+    // TODO: Rename and change types and number of parameters
+    public static bluetooth_setupFragment newInstance(String param1, String param2) {
+        bluetooth_setupFragment fragment = new bluetooth_setupFragment();
+        Bundle args = new Bundle();
+        args.putString(ARG_PARAM1, param1);
+        args.putString(ARG_PARAM2, param2);
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (getArguments() != null) {
+            mParam1 = getArguments().getString(ARG_PARAM1);
+            mParam2 = getArguments().getString(ARG_PARAM2);
+        }
+
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.fragment_bluetooth_setup, container, false);
+
+        // init
+        BluetoothManager bluetoothManager = requireActivity().getSystemService(BluetoothManager.class);
+        BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
+
+        if (bluetoothAdapter == null) {
+            // Device doesn't support Bluetooth
+        }
+
+
+        if (ActivityCompat.checkSelfPermission(requireActivity().getApplicationContext(), android.Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
+            // TODO: Consider calling
+            //    ActivityCompat#requestPermissions
+            // here to request the missing permissions, and then overriding
+            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
+            //                                          int[] grantResults)
+            // to handle the case where the user grants the permission. See the documentation
+            // for ActivityCompat#requestPermissions for more details.
+            return view;
+        }
+        Set pairedDevices = bluetoothAdapter.getBondedDevices();
+
+        RecyclerView recyclerView = view.findViewById(R.id.recyclerView1);
+        //RecyclerViewのサイズを固定
+        recyclerView.setHasFixedSize(true);
+
+        //RecyclerViewに区切り線を入れる
+//        RecyclerView.ItemDecoration itemDecoration =
+//                new DividerItemDecoration(getContext() ,DividerItemDecoration.VERTICAL);
+//        recyclerView.addItemDecoration(itemDecoration);
+
+        //レイアウトマネージャを設
+        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext());
+        recyclerView.setLayoutManager(layoutManager);
+
+        //①リスト構造(String型の可変長の配列)を宣言
+        ArrayList arrayList = new ArrayList<>();
+
+        if (pairedDevices.size() > 0) {
+
+            // There are paired devices. Get the name and address of each paired device.
+            for (BluetoothDevice device : pairedDevices) {
+
+
+
+                String[] deviceInfo = new String[2];
+                deviceInfo[0] = device.getName();
+                deviceInfo[1] = device.getAddress(); // MAC address
+
+                Log.d("a", deviceInfo[0]);
+                arrayList.add(deviceInfo);
+            }
+            for (String[] s : arrayList) {
+                Log.d("b", s[0]);
+            }
+            Log.d(" ", String.valueOf(arrayList.size()));
+            RecyclerAdapter adapter = new RecyclerAdapter(arrayList);
+
+            //④RecyclerViewとAdapterの結び付け
+            recyclerView.setAdapter(adapter);
+        }
+
+        return view;
+
+    }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 3151f24..5377215 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -3,6 +3,7 @@
 
diff --git a/app/src/main/res/layout/first_start.xml b/app/src/main/res/layout/first_start.xml
new file mode 100644
index 0000000..edbe880
--- /dev/null
+++ b/app/src/main/res/layout/first_start.xml
@@ -0,0 +1,17 @@
+
+
+    
+
+
diff --git a/app/src/main/res/layout/fragment_bluetooth_setup.xml b/app/src/main/res/layout/fragment_bluetooth_setup.xml
new file mode 100644
index 0000000..84e47b3
--- /dev/null
+++ b/app/src/main/res/layout/fragment_bluetooth_setup.xml
@@ -0,0 +1,26 @@
+
+
+
+
+    
+    
+
+    
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 21d6c78..504ddf1 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -1,5 +1,5 @@
 
-
-    
 
-        
+
+        
-        
+            android:orientation="vertical" >
+            
 
-    
-    
+                
 
-        
-        
-        
+                
 
-    
+            
 
-    
+            
+
+                
+
+                
+
+                
+
+            
+
+            
+
+            
+
+            
+
+
+            
+
+            
+
+
+                
+                
+            
+        
+    
+
 
-        
-        
-    
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_qr.xml b/app/src/main/res/layout/fragment_qr.xml
index cd43e15..b66b029 100644
--- a/app/src/main/res/layout/fragment_qr.xml
+++ b/app/src/main/res/layout/fragment_qr.xml
@@ -13,4 +13,5 @@
         android:layout_gravity="center"
         />
 
+
 
\ No newline at end of file
diff --git a/app/src/main/res/layout/recycler_row.xml b/app/src/main/res/layout/recycler_row.xml
new file mode 100644
index 0000000..b1e2ab3
--- /dev/null
+++ b/app/src/main/res/layout/recycler_row.xml
@@ -0,0 +1,11 @@
+
+
+    
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a71beb5..32a217a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,4 +2,5 @@
     Child Guard
     
     Hello blank fragment
+    First_Start
 
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index a100ce0..4314313 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,4 +2,5 @@
 plugins {
     id 'com.android.application' version '8.0.2' apply false
     id 'com.android.library' version '8.0.2' apply false
+    id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
 }
\ No newline at end of file