Merge pull request #111 from nitta-lab-2023/ShopCreateActivity
投稿が空の店を作るために、dummyShopを生成するようにしました。
commit 3ff9ee7e7d0c4e34624b8eaa2eb42085f357908d
2 parents a3f3897 + 9de7a6a
Katsumasa Watanabe authored on 27 Jun 2023
Showing 4 changed files
View
4
.idea/deploymentTargetDropDown.xml
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="C:\Users\student\.android\avd\Pixel_2_API_30_2.avd" />
<value value="C:\Users\student\.android\avd\Pixel_3_API_28.avd" />
</Key>
</deviceKey>
</Target>
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2023-06-27T04:10:40.836042100Z" />
<timeTargetWasSelectedWithDropDown value="2023-06-27T06:07:51.136151100Z" />
</component>
</project>
View
16
app/src/main/AndroidManifest.xml
<activity
android:name=".LoginActivity"
android:exported="true"
android:label="@string/title_activity_login">
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
 
 
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".RequestedActivity"
android:exported="false" />
<activity
android:name=".TestActivity"
android:exported="true"
android:label="@string/title_activity_test">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
 
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
 
<activity
android:name=".PostActivity"
View
56
app/src/main/java/com/example/nemophila/ShopCreateActivity.java
package com.example.nemophila;
 
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
 
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
import com.example.nemophila.entities.Shop;
import com.example.nemophila.viewmodels.ShopsViewModel;
 
import java.io.IOException;
 
public class ShopCreateActivity extends AppCompatActivity {
 
@Override
setContentView(R.layout.activity_shop_create);
 
Nemophila nemophila = (Nemophila) this.getApplication();
 
// ShopsViewModelにアクセス
ShopsViewModel shopsViewModel = new ViewModelProvider(this).get(ShopsViewModel.class);
 
// LiveDataへの購読
shopsViewModel.getCurrentLiveData().observe(this, shop -> {
// ShopActivityでどこの店についての投稿かを管理できるように更新する
nemophila.setCurrentShop(shop);
 
// ShopActivityへ画面遷移する
Intent intent = new Intent(getApplication(), ShopActivity.class);
startActivity(intent);
});
// フィールド
Shop dummyShop = new Shop();
 
// 店の名前が入力されていればsidを発行し、新しくShopを生成
Button shopCreateButton = findViewById(R.id.buttonShopCreate);
shopCreateButton.setOnClickListener(v -> {
Button transitionButton = findViewById(R.id.buttonTransitionPostActivity);
transitionButton.setOnClickListener(v -> {
EditText nameTextBox = findViewById(R.id.editTextShopCreate);
String name = nameTextBox.getText().toString();
 
// 店の名前を入力されているときのみ処理を行う
if (!name.equals("")) {
shopsViewModel.createShop(name, nemophila.getCurrentLongitude(), nemophila.getCurrentLatitude());
shopCreateButton.setEnabled(false);
dummyShop.setName(name);
dummyShop.setLongitude(nemophila.getCurrentLongitude());
dummyShop.setLatitude(nemophila.getCurrentLatitude());
nemophila.setDummyShop(dummyShop);
 
// PostActivityへ画面を遷移する
Intent intent = new Intent(getApplication(), PostActivity.class);
startActivity(intent);
// 店の名前を入力されていないときToastを発行
} else {
Toast ts = Toast.makeText(ShopCreateActivity.this, "名前を入力してください", Toast.LENGTH_SHORT);
ts.setGravity(Gravity.CENTER, 0, 0);
ts.show();
}
});
 
Button cancelButton = findViewById(R.id.buttonCancel);
cancelButton.setOnClickListener(v -> {
cancelButton.setEnabled(false);
Intent intent = new Intent(getApplication(), MainActivity.class);
startActivity(intent);
});
}
}
View
32
app/src/main/res/layout/activity_shop_create.xml
tools:context=".ShopCreateActivity">
 
<TextView
android:id="@+id/titleShopCreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="新しいお店を登録"
android:textSize="24sp"
android:layout_width="363dp"
android:layout_height="37dp"
android:text="投稿したい店の名前を決めてください"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintHorizontal_bias="0.493"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.128" />
app:layout_constraintVertical_bias="0.125" />
 
<EditText
android:id="@+id/editTextShopCreate"
android:layout_width="300dp"
app:layout_constraintTop_toBottomOf="@+id/titleShopCreate"
app:layout_constraintVertical_bias="0.26" />
 
<Button
android:id="@+id/buttonShopCreate"
android:id="@+id/buttonTransitionPostActivity"
android:layout_width="100dp"
android:layout_height="60dp"
android:text="登録"
android:text="次へ"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.789"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextShopCreate"
app:layout_constraintVertical_bias="0.418" />
 
<TextView
android:id="@+id/annotationShopCreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="お店を新規登録、投稿へ"
android:textSize="20sp"
<Button
android:id="@+id/buttonCancel"
android:layout_width="45dp"
android:layout_height="37dp"
android:text="☓"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.656"
app:layout_constraintHorizontal_bias="0.945"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.646" />
app:layout_constraintVertical_bias="0.041" />
 
</androidx.constraintlayout.widget.ConstraintLayout>