Kyou/layout #4
							
								
								
									
										6
									
								
								.idea/kotlinc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/kotlinc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="KotlinJpsPluginSettings">
 | 
			
		||||
    <option name="version" value="1.7.20" />
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
							
								
								
									
										2
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="ExternalStorageConfigurationManager" enabled="true" />
 | 
			
		||||
  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
 | 
			
		||||
  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
 | 
			
		||||
    <output url="file://$PROJECT_DIR$/build/classes" />
 | 
			
		||||
  </component>
 | 
			
		||||
  <component name="ProjectType">
 | 
			
		||||
 | 
			
		||||
@ -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,9 +51,20 @@ 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'
 | 
			
		||||
    androidTestImplementation platform('androidx.compose:compose-bom:2022.10.00')
 | 
			
		||||
    androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
 | 
			
		||||
    debugImplementation 'androidx.compose.ui:ui-tooling'
 | 
			
		||||
    debugImplementation 'androidx.compose.ui:ui-test-manifest'
 | 
			
		||||
}
 | 
			
		||||
@ -2,6 +2,12 @@
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools">
 | 
			
		||||
 | 
			
		||||
    <uses-permission android:name="android.permission.BLUETOOTH" />
 | 
			
		||||
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
 | 
			
		||||
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
 | 
			
		||||
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
 | 
			
		||||
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
 | 
			
		||||
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
 | 
			
		||||
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
 | 
			
		||||
    <uses-permission android:name="android.permission.VIBRATE" />
 | 
			
		||||
    <application
 | 
			
		||||
@ -14,6 +20,11 @@
 | 
			
		||||
        android:supportsRtl="true"
 | 
			
		||||
        android:theme="@style/Theme.ChildGuard"
 | 
			
		||||
        tools:targetApi="31">
 | 
			
		||||
        <activity
 | 
			
		||||
            android:name=".First_Start"
 | 
			
		||||
            android:exported="false"
 | 
			
		||||
            android:label="@string/title_activity_first_start"
 | 
			
		||||
            android:theme="@style/Theme.ChildGuard" />
 | 
			
		||||
        <activity
 | 
			
		||||
            android:name=".MainActivity"
 | 
			
		||||
            android:exported="true">
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								app/src/main/java/com/example/childguard/First_Start.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								app/src/main/java/com/example/childguard/First_Start.java
									
									
									
									
									
										Normal file
									
								
							@ -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);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -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();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -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);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -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<RecyclerAdapter.ItemViewHolder> {
 | 
			
		||||
 | 
			
		||||
    ArrayList<String[]> deviceList;
 | 
			
		||||
 | 
			
		||||
    // Constructor
 | 
			
		||||
    public RecyclerAdapter(ArrayList<String[]> 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);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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<BluetoothDevice> 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<String[]> 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;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/activityMain"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
@ -15,7 +16,7 @@
 | 
			
		||||
        android:name="com.example.childguard.HomeFragment"
 | 
			
		||||
        android:layout_width="0dp"
 | 
			
		||||
        android:layout_height="0dp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="parent"
 | 
			
		||||
        app:layout_constraintBottom_toTopOf="@id/nav_view"
 | 
			
		||||
        app:layout_constraintEnd_toEndOf="parent"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										17
									
								
								app/src/main/res/layout/first_start.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/src/main/res/layout/first_start.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/frameLayout"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    tools:context=".First_Start"
 | 
			
		||||
    >
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:text="一覧から車のBluetoothを選択してください"
 | 
			
		||||
 | 
			
		||||
        />
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
							
								
								
									
										26
									
								
								app/src/main/res/layout/fragment_bluetooth_setup.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								app/src/main/res/layout/fragment_bluetooth_setup.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/Bluetooth_setup"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    tools:context=".bluetooth_setupFragment">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <!-- TODO: Update blank fragment layout -->
 | 
			
		||||
    <androidx.recyclerview.widget.RecyclerView
 | 
			
		||||
        android:id="@+id/recyclerView1"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="match_parent"
 | 
			
		||||
        android:scrollbars="vertical"/>
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/click_device"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
 | 
			
		||||
        />
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:id="@+id/frameLayout"
 | 
			
		||||
@ -7,90 +7,128 @@
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    tools:context=".HomeFragment">
 | 
			
		||||
    <FrameLayout
 | 
			
		||||
        android:id="@+id/situation_bg"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:background="@drawable/frame_style"
 | 
			
		||||
        android:layout_marginTop="30dp"
 | 
			
		||||
        android:layout_marginLeft="20dp"
 | 
			
		||||
        android:layout_marginRight="20dp"
 | 
			
		||||
        >
 | 
			
		||||
 | 
			
		||||
        <TextView
 | 
			
		||||
 | 
			
		||||
    <ScrollView
 | 
			
		||||
        android:layout_width="0dp"
 | 
			
		||||
        android:layout_height="0dp"
 | 
			
		||||
        app:layout_constraintBottom_toBottomOf="parent"
 | 
			
		||||
        app:layout_constraintEnd_toEndOf="parent"
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="parent">
 | 
			
		||||
 | 
			
		||||
        <LinearLayout
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_marginTop="20dp"
 | 
			
		||||
            android:text="現在の状態"
 | 
			
		||||
            android:textSize="25dp"
 | 
			
		||||
            android:textColor="@color/black"
 | 
			
		||||
            android:textAlignment="center"/>
 | 
			
		||||
        <TextView
 | 
			
		||||
            android:id="@+id/situation"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="200dp"
 | 
			
		||||
            android:layout_marginTop="10dp"
 | 
			
		||||
            android:text="\n降車状態"
 | 
			
		||||
            android:textSize="55dp"
 | 
			
		||||
            android:textColor="@color/black"
 | 
			
		||||
            android:textAlignment="center"
 | 
			
		||||
            />
 | 
			
		||||
            android:orientation="vertical" >
 | 
			
		||||
            <FrameLayout
 | 
			
		||||
                android:id="@+id/situation_bg"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_marginLeft="20dp"
 | 
			
		||||
                android:layout_marginTop="30dp"
 | 
			
		||||
                android:layout_marginRight="20dp"
 | 
			
		||||
                android:background="@drawable/frame_style">
 | 
			
		||||
 | 
			
		||||
    </FrameLayout>
 | 
			
		||||
    <FrameLayout
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:background="@drawable/frame_style"
 | 
			
		||||
        android:layout_marginTop="30dp"
 | 
			
		||||
        android:layout_marginLeft="20dp"
 | 
			
		||||
        android:layout_marginRight="20dp"
 | 
			
		||||
        >
 | 
			
		||||
                <TextView
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:layout_marginTop="20dp"
 | 
			
		||||
                    android:text="現在の状態"
 | 
			
		||||
                    android:textAlignment="center"
 | 
			
		||||
                    android:textColor="@color/black"
 | 
			
		||||
                    android:textSize="25dp" />
 | 
			
		||||
 | 
			
		||||
        <TextView
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_marginTop="5dp"
 | 
			
		||||
            android:text="切断中"
 | 
			
		||||
            android:textSize="30dp"
 | 
			
		||||
            android:textColor="@color/black"
 | 
			
		||||
            android:textAlignment="center"/>
 | 
			
		||||
        <ImageView
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="100dp"
 | 
			
		||||
            android:layout_marginTop="50dp"
 | 
			
		||||
            android:src="@drawable/bluetooth_drive_fill0_wght400_grad0_opsz24"
 | 
			
		||||
            android:textAlignment="center"
 | 
			
		||||
            />
 | 
			
		||||
        <ImageView
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="100dp"
 | 
			
		||||
            android:layout_marginTop="50dp"
 | 
			
		||||
            android:src="@drawable/close_fill0_wght400_grad0_opsz24"
 | 
			
		||||
            android:textAlignment="center"
 | 
			
		||||
            />
 | 
			
		||||
                <TextView
 | 
			
		||||
                    android:id="@+id/situation"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="200dp"
 | 
			
		||||
                    android:layout_marginTop="10dp"
 | 
			
		||||
                    android:text="\n降車状態"
 | 
			
		||||
                    android:textAlignment="center"
 | 
			
		||||
                    android:textColor="@color/black"
 | 
			
		||||
                    android:textSize="55dp" />
 | 
			
		||||
 | 
			
		||||
    </FrameLayout>
 | 
			
		||||
            </FrameLayout>
 | 
			
		||||
 | 
			
		||||
    <FrameLayout
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="match_parent"
 | 
			
		||||
        android:layout_marginLeft="20dp"
 | 
			
		||||
        android:layout_marginRight="20dp"
 | 
			
		||||
        android:background="@drawable/frame_style_button">
 | 
			
		||||
            <FrameLayout
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_marginLeft="20dp"
 | 
			
		||||
                android:layout_marginTop="30dp"
 | 
			
		||||
                android:layout_marginRight="20dp"
 | 
			
		||||
                android:background="@drawable/frame_style">
 | 
			
		||||
 | 
			
		||||
                <TextView
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:layout_marginTop="5dp"
 | 
			
		||||
                    android:text="切断中"
 | 
			
		||||
                    android:textAlignment="center"
 | 
			
		||||
                    android:textColor="@color/black"
 | 
			
		||||
                    android:textSize="30dp" />
 | 
			
		||||
 | 
			
		||||
                <ImageView
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="100dp"
 | 
			
		||||
                    android:layout_marginTop="50dp"
 | 
			
		||||
                    android:src="@drawable/bluetooth_drive_fill0_wght400_grad0_opsz24"
 | 
			
		||||
                    android:textAlignment="center" />
 | 
			
		||||
 | 
			
		||||
                <ImageView
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="100dp"
 | 
			
		||||
                    android:layout_marginTop="50dp"
 | 
			
		||||
                    android:src="@drawable/close_fill0_wght400_grad0_opsz24"
 | 
			
		||||
                    android:textAlignment="center" />
 | 
			
		||||
 | 
			
		||||
            </FrameLayout>
 | 
			
		||||
 | 
			
		||||
            <Button
 | 
			
		||||
                android:id="@+id/QRprinting"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_marginTop="70dp"
 | 
			
		||||
                android:backgroundTint="#778899"
 | 
			
		||||
                android:text="QRコード印刷"
 | 
			
		||||
                android:textColor="@color/white"
 | 
			
		||||
                android:textSize="40dp" />
 | 
			
		||||
 | 
			
		||||
            <Button
 | 
			
		||||
                android:id="@+id/Bluetooth_setup"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:backgroundTint="#778899"
 | 
			
		||||
                android:text="Bluetooth設定"
 | 
			
		||||
                android:textColor="@color/white"
 | 
			
		||||
                android:textSize="40dp" />
 | 
			
		||||
 | 
			
		||||
            <FrameLayout
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_marginLeft="20dp"
 | 
			
		||||
                android:layout_marginRight="20dp"
 | 
			
		||||
                android:background="@drawable/frame_style_button">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            </FrameLayout>
 | 
			
		||||
 | 
			
		||||
            <FrameLayout
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
 | 
			
		||||
                android:layout_marginLeft="20dp"
 | 
			
		||||
                android:layout_marginRight="20dp"
 | 
			
		||||
                android:background="@drawable/frame_style_button">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                <!--<ImageView
 | 
			
		||||
                    android:layout_width="wrap_content"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:src="@drawable/ss"/>-->
 | 
			
		||||
                <!--android:layout_gravity="center"-->
 | 
			
		||||
            </FrameLayout>
 | 
			
		||||
        </LinearLayout>
 | 
			
		||||
    </ScrollView>
 | 
			
		||||
</androidx.constraintlayout.widget.ConstraintLayout>
 | 
			
		||||
 | 
			
		||||
        <Button
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_gravity="center"
 | 
			
		||||
            android:layout_marginLeft="20dp"
 | 
			
		||||
            android:layout_marginRight="20dp"
 | 
			
		||||
            android:backgroundTint="#778899"
 | 
			
		||||
            android:text="QRコード印刷"
 | 
			
		||||
            android:textColor="@color/white"
 | 
			
		||||
            android:textSize="40dp" />
 | 
			
		||||
        <!--<ImageView
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:src="@drawable/ss"/>-->
 | 
			
		||||
    </FrameLayout>
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
@ -13,4 +13,5 @@
 | 
			
		||||
        android:layout_gravity="center"
 | 
			
		||||
        />
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</FrameLayout>
 | 
			
		||||
							
								
								
									
										11
									
								
								app/src/main/res/layout/recycler_row.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								app/src/main/res/layout/recycler_row.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="wrap_content">
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/textView1"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:textSize="30sp"/>
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
@ -2,4 +2,5 @@
 | 
			
		||||
    <string name="app_name">Child Guard</string>
 | 
			
		||||
    <!-- TODO: Remove or change this placeholder text -->
 | 
			
		||||
    <string name="hello_blank_fragment">Hello blank fragment</string>
 | 
			
		||||
    <string name="title_activity_first_start">First_Start</string>
 | 
			
		||||
</resources>
 | 
			
		||||
@ -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
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user