webpども:アプリアイコンのため
SettingView:設定画面作成 main:設定情報を切り離した その他:intentの調整
|
@ -18,6 +18,9 @@
|
||||||
android:theme="@style/Theme.Oplogy"
|
android:theme="@style/Theme.Oplogy"
|
||||||
tools:ignore="ExtraText"
|
tools:ignore="ExtraText"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
|
<activity
|
||||||
|
android:name=".SettingView"
|
||||||
|
android:exported="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".SetUpActivity"
|
android:name=".SetUpActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
BIN
app/src/main/ic_launcher-playstore.png
Normal file
After Width: | Height: | Size: 367 KiB |
|
@ -1,10 +1,6 @@
|
||||||
package com.example.oplogy;
|
package com.example.oplogy;
|
||||||
|
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.ClipData;
|
|
||||||
import android.content.ClipboardManager;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -30,30 +26,21 @@ import java.util.concurrent.Executors;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
|
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
|
||||||
// formコピー用のURL
|
|
||||||
private static final String URL_TO_COPY = "https://docs.google.com/forms/d/e/1FAIpQLScKI_ca01nO7die7SqZyThiqa7NB7gcucMJtiV_-sc3eZX6KQ/viewform";
|
|
||||||
// ダイアログの宣言
|
// ダイアログの宣言
|
||||||
private AlertDialog alertDialog;
|
private AlertDialog alertDialog;
|
||||||
// ID作成のTextViewとImageView
|
// ID作成のTextViewとImageView
|
||||||
private TextView creatUUID;
|
|
||||||
private ImageView imageUuid;
|
|
||||||
// セットアップのTextViewとImageView
|
|
||||||
private TextView setUp;
|
|
||||||
private ImageView imageSetup;
|
|
||||||
// formコピー用のボタン
|
|
||||||
private TextView formURL;
|
|
||||||
private ImageView imageFormURL;
|
|
||||||
// ルート作成のTextViewとImageView
|
|
||||||
private TextView root;
|
private TextView root;
|
||||||
private ImageView imageRoot;
|
private ImageView imageRoot;
|
||||||
// 提出状況のTextViewとImageView
|
// 提出状況のTextViewとImageView
|
||||||
private TextView submission;
|
private TextView submission;
|
||||||
private ImageView imageSubmission;
|
private ImageView imageSubmission;
|
||||||
|
private TextView SettingView;
|
||||||
|
private ImageView imageSettingView;
|
||||||
|
|
||||||
//firestoreの受信関連
|
//firestoreの受信関連
|
||||||
private FirebaseFirestore db;
|
private FirebaseFirestore db;
|
||||||
private FirestoreReception firestoreReception;
|
private FirestoreReception firestoreReception;
|
||||||
private FirestoreReception_classIdDatabase firestoreReception_classIdDatabase;
|
|
||||||
|
|
||||||
//取得するためのクラスID
|
//取得するためのクラスID
|
||||||
private int classId;
|
private int classId;
|
||||||
|
@ -63,24 +50,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.main);
|
setContentView(R.layout.main);
|
||||||
// ID作成用のインテント
|
|
||||||
creatUUID = findViewById(R.id.creatUUID);
|
|
||||||
creatUUID.setOnClickListener(this);
|
|
||||||
imageUuid = findViewById(R.id.imageUuid);
|
|
||||||
imageUuid.setOnClickListener(this);
|
|
||||||
|
|
||||||
|
|
||||||
// セットアップ用のインテント
|
|
||||||
setUp = findViewById(R.id.setUp);
|
|
||||||
setUp.setOnClickListener(this);
|
|
||||||
imageSetup = findViewById(R.id.imageSetup);
|
|
||||||
imageSetup.setOnClickListener(this);
|
|
||||||
|
|
||||||
// formコピー用のインテント
|
|
||||||
formURL = findViewById(R.id.formURL);
|
|
||||||
formURL.setOnClickListener(this);
|
|
||||||
imageFormURL = findViewById(R.id.imageFormURL);
|
|
||||||
imageFormURL.setOnClickListener(this);
|
|
||||||
|
|
||||||
|
|
||||||
// ルート作成用のインテント
|
// ルート作成用のインテント
|
||||||
|
@ -95,6 +64,12 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
imageSubmission = findViewById(R.id.imageSubmission);
|
imageSubmission = findViewById(R.id.imageSubmission);
|
||||||
imageSubmission.setOnClickListener(this);
|
imageSubmission.setOnClickListener(this);
|
||||||
|
|
||||||
|
// 設定用のインテント
|
||||||
|
SettingView = findViewById(R.id.setting);
|
||||||
|
SettingView.setOnClickListener(this);
|
||||||
|
imageSettingView = findViewById(R.id.imageSetting);
|
||||||
|
imageSettingView.setOnClickListener(this);
|
||||||
|
|
||||||
// firestoreの受信関連
|
// firestoreの受信関連
|
||||||
db = FirebaseFirestore.getInstance();
|
db = FirebaseFirestore.getInstance();
|
||||||
firestoreReception = new FirestoreReception();
|
firestoreReception = new FirestoreReception();
|
||||||
|
@ -121,40 +96,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
// クリック処理
|
// クリック処理
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
// ID作成のクリック処理
|
|
||||||
if (view == creatUUID) {
|
|
||||||
imageUuid.setImageResource(R.drawable.ischecked_uuid);
|
|
||||||
showUUIDYesNoDialog();//UUIDを表示するかのダイアログ
|
|
||||||
}
|
|
||||||
if (view == imageUuid) {
|
|
||||||
imageUuid.setImageResource(R.drawable.ischecked_uuid);
|
|
||||||
showUUIDYesNoDialog();//UUIDを表示するかのダイアログ
|
|
||||||
}
|
|
||||||
// セットアップのクリック処理
|
|
||||||
if (view == setUp) {
|
|
||||||
imageSetup.setImageResource(R.drawable.ischecked_uuid);
|
|
||||||
Intent toSetup = new Intent(MainActivity.this, SetUpActivity.class);
|
|
||||||
toSetup.putExtra("classId", classId);
|
|
||||||
startActivity(toSetup);
|
|
||||||
finish(); // 画面遷移後元の状態に戻す
|
|
||||||
}
|
|
||||||
if (view == imageSetup) {
|
|
||||||
imageSetup.setImageResource(R.drawable.ischecked_uuid);
|
|
||||||
Intent toSetup = new Intent(MainActivity.this, SetUpActivity.class);
|
|
||||||
startActivity(toSetup);
|
|
||||||
finish(); // 画面遷移後元の状態に戻す
|
|
||||||
}
|
|
||||||
|
|
||||||
// formコピー用のクリック処理
|
|
||||||
if (view == formURL) {
|
|
||||||
imageFormURL.setImageResource(R.drawable.ischecked_uuid);
|
|
||||||
copyUrlToClipboard(URL_TO_COPY);
|
|
||||||
}
|
|
||||||
if (view == imageFormURL) {
|
|
||||||
imageFormURL.setImageResource(R.drawable.ischecked_uuid);
|
|
||||||
copyUrlToClipboard(URL_TO_COPY);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ルート作成のクリック処理
|
// ルート作成のクリック処理
|
||||||
if (view == root) {
|
if (view == root) {
|
||||||
imageRoot.setImageResource(R.drawable.pin);
|
imageRoot.setImageResource(R.drawable.pin);
|
||||||
|
@ -181,76 +122,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
startActivity(toSubmission);
|
startActivity(toSubmission);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
if (view == SettingView) {
|
||||||
|
Intent toSettingView = new Intent(MainActivity.this, SettingView.class);
|
||||||
|
startActivity(toSettingView);
|
||||||
//ID作成、表示に関する処理
|
}
|
||||||
private void showUUIDYesNoDialog() {
|
if (view == imageSettingView) {
|
||||||
firestoreReception_classIdDatabase = new FirestoreReception_classIdDatabase();
|
Intent toSettingView = new Intent(MainActivity.this, SettingView.class);
|
||||||
List<Integer> classIdList = firestoreReception_classIdDatabase.getAllDocumentsFromClassIdDatabase();
|
startActivity(toSettingView);
|
||||||
|
}
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
|
||||||
builder.setTitle("ID");
|
|
||||||
builder.setMessage("あなたのIDを表示/もしくは新規で作成しますか?");
|
|
||||||
|
|
||||||
//作成処理
|
|
||||||
builder.setPositiveButton("作成", new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
classId = CreateUUID.generateUUID(classIdList);
|
|
||||||
// 生成されたIDを表示するメソッド
|
|
||||||
showClassIdDialog("生成されたID", classId);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//表示処理
|
|
||||||
builder.setNegativeButton("表示", new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
//roomを扱うため非同期処理
|
|
||||||
ExecutorService executor = Executors.newSingleThreadExecutor();
|
|
||||||
executor.execute(() -> {
|
|
||||||
// 現在のクラスIDを取得
|
|
||||||
int currentClassId = getCurrentClassIdFromRoom();
|
|
||||||
if (currentClassId == 0) {
|
|
||||||
currentClassId = classId;
|
|
||||||
}
|
|
||||||
final int showDialogClassId = currentClassId;
|
|
||||||
runOnUiThread(() -> {
|
|
||||||
// 現在のクラスIDを表示するダイアログ
|
|
||||||
showClassIdDialog("現在のID", showDialogClassId);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
executor.shutdown();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
alertDialog = builder.create();
|
|
||||||
alertDialog.show();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getCurrentClassIdFromRoom() {
|
|
||||||
AppDatabase db = getDatabaseInstance();
|
|
||||||
SetUpTableDao setUpTableDao = db.setUpTableDao();
|
|
||||||
|
|
||||||
// 現在のクラスIDを取得
|
|
||||||
return setUpTableDao.getClassId();
|
|
||||||
}
|
|
||||||
|
|
||||||
//クラスIDを表示するダイアログ
|
|
||||||
private void showClassIdDialog(String title, int classId) {
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
|
||||||
builder.setTitle(title);
|
|
||||||
builder.setMessage("ID: " + classId);
|
|
||||||
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
AlertDialog dialog = builder.create();
|
|
||||||
dialog.show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -262,7 +141,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
runOnUiThread(onSetupComplete);
|
runOnUiThread(onSetupComplete);
|
||||||
} else {
|
} else {
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
Toast.makeText(this, "先にセットアップを済ませてください", Toast.LENGTH_LONG).show();
|
Toast.makeText(this, "先に設定画面で情報を入力してください", Toast.LENGTH_SHORT).show();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}).exceptionally(ex -> {
|
}).exceptionally(ex -> {
|
||||||
|
@ -273,7 +152,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(this, "先にIDの作成を行ってください", Toast.LENGTH_LONG).show();
|
Toast.makeText(this, "先に設定画面で情報を入力してください", Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -302,21 +181,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
}, executorService).whenComplete((result, throwable) -> executorService.shutdown());
|
}, executorService).whenComplete((result, throwable) -> executorService.shutdown());
|
||||||
}
|
}
|
||||||
|
|
||||||
//クリップボードにURLをコピーする処理
|
|
||||||
private void copyUrlToClipboard(String url) {
|
|
||||||
try {
|
|
||||||
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
|
||||||
ClipData clip = ClipData.newPlainText("URL", url);
|
|
||||||
if (clipboard != null) {
|
|
||||||
clipboard.setPrimaryClip(clip);
|
|
||||||
Toast.makeText(this, "GoogleFormのURLをコピーしました", Toast.LENGTH_SHORT).show();
|
|
||||||
} else {
|
|
||||||
Toast.makeText(this, "エラー コピーできませんでした", Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
Toast.makeText(this, "Error copying URL: " + e.getMessage(), Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//ルート作成の非同期処理
|
//ルート作成の非同期処理
|
||||||
private void fetchDataAndCreateRoute() {
|
private void fetchDataAndCreateRoute() {
|
||||||
|
|
|
@ -97,7 +97,7 @@ public class SetUpActivity extends FragmentActivity
|
||||||
Button reset = findViewById(R.id.resetButton);
|
Button reset = findViewById(R.id.resetButton);
|
||||||
|
|
||||||
toMain.setOnClickListener(view -> {
|
toMain.setOnClickListener(view -> {
|
||||||
Intent intent = new Intent(SetUpActivity.this, MainActivity.class); //main画面へ戻る処理
|
Intent intent = new Intent(SetUpActivity.this, SettingView.class); //main画面へ戻る処理
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
190
app/src/main/java/com/example/oplogy/SettingView.java
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
package com.example.oplogy;
|
||||||
|
|
||||||
|
import android.content.ClipData;
|
||||||
|
import android.content.ClipboardManager;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.room.Room;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
|
public class SettingView extends AppCompatActivity implements View.OnClickListener {
|
||||||
|
// formコピー用のURL
|
||||||
|
private static final String URL_TO_COPY = "https://docs.google.com/forms/d/e/1FAIpQLScKI_ca01nO7die7SqZyThiqa7NB7gcucMJtiV_-sc3eZX6KQ/viewform";
|
||||||
|
|
||||||
|
private View backButton;
|
||||||
|
private View creatUUID;
|
||||||
|
private View imageUuid;
|
||||||
|
private View setUp;
|
||||||
|
private View imageSetup;
|
||||||
|
private View formURL;
|
||||||
|
private View imageFormURL;
|
||||||
|
private AlertDialog alertDialog;
|
||||||
|
private int classId;
|
||||||
|
private FirestoreReception_classIdDatabase firestoreReception_classIdDatabase;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_setting_view);
|
||||||
|
|
||||||
|
// 戻るボタンの処理
|
||||||
|
backButton = findViewById(R.id.BackMain_fromSetting);
|
||||||
|
backButton.setOnClickListener(this);
|
||||||
|
|
||||||
|
// ID作成用のインテント
|
||||||
|
creatUUID = findViewById(R.id.creatUUID);
|
||||||
|
creatUUID.setOnClickListener(this);
|
||||||
|
imageUuid = findViewById(R.id.imageUuid);
|
||||||
|
imageUuid.setOnClickListener(this);
|
||||||
|
|
||||||
|
|
||||||
|
// セットアップ用のインテント
|
||||||
|
setUp = findViewById(R.id.setUp);
|
||||||
|
setUp.setOnClickListener(this);
|
||||||
|
imageSetup = findViewById(R.id.imageSetup);
|
||||||
|
imageSetup.setOnClickListener(this);
|
||||||
|
|
||||||
|
// formコピー用のインテント
|
||||||
|
formURL = findViewById(R.id.formURL);
|
||||||
|
formURL.setOnClickListener(this);
|
||||||
|
imageFormURL = findViewById(R.id.imageFormURL);
|
||||||
|
imageFormURL.setOnClickListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
if (view == backButton) {
|
||||||
|
Intent intent = new Intent(SettingView.this, MainActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
// ID作成のクリック処理
|
||||||
|
if (view == creatUUID) {
|
||||||
|
showUUIDYesNoDialog();//UUIDを表示するかのダイアログ
|
||||||
|
}
|
||||||
|
if (view == imageUuid) {
|
||||||
|
showUUIDYesNoDialog();//UUIDを表示するかのダイアログ
|
||||||
|
}
|
||||||
|
// セットアップのクリック処理
|
||||||
|
if (view == setUp) {
|
||||||
|
Intent toSetup = new Intent(SettingView.this, SetUpActivity.class);
|
||||||
|
toSetup.putExtra("classId", classId);
|
||||||
|
startActivity(toSetup);
|
||||||
|
}
|
||||||
|
if (view == imageSetup) {
|
||||||
|
Intent toSetup = new Intent(SettingView.this, SetUpActivity.class);
|
||||||
|
startActivity(toSetup);
|
||||||
|
}
|
||||||
|
|
||||||
|
// formコピー用のクリック処理
|
||||||
|
if (view == formURL) {
|
||||||
|
copyUrlToClipboard(URL_TO_COPY);
|
||||||
|
}
|
||||||
|
if (view == imageFormURL) {
|
||||||
|
copyUrlToClipboard(URL_TO_COPY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//ID作成、表示に関する処理
|
||||||
|
private void showUUIDYesNoDialog() {
|
||||||
|
firestoreReception_classIdDatabase = new FirestoreReception_classIdDatabase();
|
||||||
|
List<Integer> classIdList = firestoreReception_classIdDatabase.getAllDocumentsFromClassIdDatabase();
|
||||||
|
|
||||||
|
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle("ID");
|
||||||
|
builder.setMessage("あなたのIDを表示/もしくは新規で作成しますか?");
|
||||||
|
|
||||||
|
//作成処理
|
||||||
|
builder.setPositiveButton("作成", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
classId = CreateUUID.generateUUID(classIdList);
|
||||||
|
// 生成されたIDを表示するメソッド
|
||||||
|
showClassIdDialog("生成されたID", classId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//表示処理
|
||||||
|
builder.setNegativeButton("表示", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
//roomを扱うため非同期処理
|
||||||
|
ExecutorService executor = Executors.newSingleThreadExecutor();
|
||||||
|
executor.execute(() -> {
|
||||||
|
// 現在のクラスIDを取得
|
||||||
|
int currentClassId = getCurrentClassIdFromRoom();
|
||||||
|
if (currentClassId == 0) {
|
||||||
|
currentClassId = classId;
|
||||||
|
}
|
||||||
|
final int showDialogClassId = currentClassId;
|
||||||
|
runOnUiThread(() -> {
|
||||||
|
// 現在のクラスIDを表示するダイアログ
|
||||||
|
showClassIdDialog("現在のID", showDialogClassId);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
executor.shutdown();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
alertDialog = builder.create();
|
||||||
|
alertDialog.show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Roomから現在のクラスIDを取得するメソッド
|
||||||
|
private int getCurrentClassIdFromRoom() {
|
||||||
|
AppDatabase db = getDatabaseInstance();
|
||||||
|
SetUpTableDao setUpTableDao = db.setUpTableDao();
|
||||||
|
|
||||||
|
// 現在のクラスIDを取得
|
||||||
|
return setUpTableDao.getClassId();
|
||||||
|
}
|
||||||
|
|
||||||
|
//クラスIDを表示するダイアログ
|
||||||
|
private void showClassIdDialog(String title, int classId) {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
|
builder.setTitle(title);
|
||||||
|
builder.setMessage("ID: " + classId);
|
||||||
|
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
AlertDialog dialog = builder.create();
|
||||||
|
dialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
//クリップボードにURLをコピーする処理
|
||||||
|
private void copyUrlToClipboard(String url) {
|
||||||
|
try {
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
||||||
|
ClipData clip = ClipData.newPlainText("URL", url);
|
||||||
|
if (clipboard != null) {
|
||||||
|
clipboard.setPrimaryClip(clip);
|
||||||
|
Toast.makeText(this, "GoogleFormのURLをコピーしました", Toast.LENGTH_SHORT).show();
|
||||||
|
} else {
|
||||||
|
Toast.makeText(this, "エラー コピーできませんでした", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Toast.makeText(this, "Error copying URL: " + e.getMessage(), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// データベースのインスタンスを取得するメソッド
|
||||||
|
private AppDatabase getDatabaseInstance() {
|
||||||
|
return Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "SetUpTable").build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
126
app/src/main/res/layout/activity_setting_view.xml
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
<?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:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:weightSum="13"
|
||||||
|
tools:context=".SettingView">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="2"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:weightSum="10">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/BackMain_fromSetting"
|
||||||
|
android:layout_width="36dp"
|
||||||
|
android:layout_height="74dp"
|
||||||
|
android:layout_weight="3"
|
||||||
|
android:src="@drawable/back_button" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/Setting"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="7"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="設定"
|
||||||
|
android:textSize="40dp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- ID作成のレイアウト-->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="3"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:weightSum="2">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imageUuid"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:src="@drawable/createid" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/creatUUID"
|
||||||
|
android:layout_width="99dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="left"
|
||||||
|
android:text="ID作成"
|
||||||
|
android:textSize="50dp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- セットアップのレイアウト-->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="3"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
|
||||||
|
android:weightSum="2">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imageSetup"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:src="@drawable/settingsetup" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/setUp"
|
||||||
|
android:layout_width="99dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="left"
|
||||||
|
android:text="家庭訪問情報"
|
||||||
|
android:textSize="36dp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- フォームのURLのレイアウト-->
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="3"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:weightSum="2">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imageFormURL"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:src="@drawable/form" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/formURL"
|
||||||
|
android:layout_width="99dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="left"
|
||||||
|
android:text="GoogleformのURL"
|
||||||
|
android:textSize="28dp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -13,90 +13,36 @@
|
||||||
android:layout_weight="2" />
|
android:layout_weight="2" />
|
||||||
|
|
||||||
|
|
||||||
<!-- ID作成のレイアウト-->
|
<!-- タイトルのレイアウト-->
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="400dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_weight="3"
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="4"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:weightSum="2">
|
android:weightSum="3">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/imageUuid"
|
android:id="@+id/imageTitle"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:src="@drawable/checked_image" />
|
android:src="@drawable/app_icon" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/creatUUID"
|
android:id="@+id/title"
|
||||||
android:layout_width="99dp"
|
android:layout_width="99dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:layout_weight="1"
|
android:layout_weight="2"
|
||||||
android:gravity="left"
|
android:gravity="left"
|
||||||
android:text="ID作成"
|
android:text="OPLOGY"
|
||||||
android:textSize="50dp" />
|
android:textSize="60dp"
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- セットアップのレイアウト-->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="3"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:weightSum="2">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/imageSetup"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:src="@drawable/checked_image" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/setUp"
|
|
||||||
android:layout_width="99dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="left"
|
|
||||||
android:text="セットアップ"
|
|
||||||
android:textSize="40dp"
|
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<!-- フォームのURLのレイアウト-->
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="3"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:weightSum="2">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/imageFormURL"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:src="@drawable/checked_image" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/formURL"
|
|
||||||
android:layout_width="99dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="left"
|
|
||||||
android:text="GoogleformのURL"
|
|
||||||
android:textSize="40dp"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<Space
|
<Space
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -131,6 +77,11 @@
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<Space
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5" />
|
||||||
|
|
||||||
|
|
||||||
<!-- 提出状況のレイアウト-->
|
<!-- 提出状況のレイアウト-->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@ -160,5 +111,38 @@
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<Space
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5" />
|
||||||
|
|
||||||
|
<!-- 諸々の設定のレイアウト-->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="350dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="3"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:weightSum="2">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imageSetting"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:src="@drawable/setting" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/setting"
|
||||||
|
android:layout_width="99dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="left"
|
||||||
|
android:text="設定"
|
||||||
|
android:textSize="40dp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background" />
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background" />
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 5.7 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 982 B After Width: | Height: | Size: 3.0 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
Normal file
After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 8.6 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
Normal file
After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
Normal file
After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 26 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
Normal file
After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 34 KiB |
4
app/src/main/res/values/ic_launcher_background.xml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="ic_launcher_background">#FFFFFF</color>
|
||||||
|
</resources>
|