diff --git a/.idea/misc.xml b/.idea/misc.xml index 860da66..d5d35ec 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java b/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java index d30d202..e79c3b3 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java +++ b/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java @@ -6,64 +6,72 @@ //----------------------------------------------------------------- // ユーザーアカウント public class Acanthus extends Application { + //----------------------------------------------------------------- private Integer preferenceUid; private String preferenceName; private String preferenceEmail; private String preferencePassword; private String preferenceToken; + //----------------------------------------------------------------- + private Integer aid; //----------------------------------------------------------------- - // setter - public Integer getPreferenceUid(){ - if(preferenceUid == null){ - SharedPreferences preferences = getSharedPreferences("prefData",MODE_PRIVATE); + // getter + public Integer getPreferenceUid() { + if (preferenceUid == null) { + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); preferenceUid = preferences.getInt("uid", 0); } return preferenceUid; } public String getPreferenceName() { - if(preferenceName == null){ - SharedPreferences preferences = getSharedPreferences("prefData",MODE_PRIVATE); + if (preferenceName == null) { + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); preferenceName = preferences.getString("name", ""); } return preferenceName; } public String getPreferenceEmail() { - if(preferenceEmail == null){ - SharedPreferences preferences = getSharedPreferences("prefData",MODE_PRIVATE); + if (preferenceEmail == null) { + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); preferenceEmail = preferences.getString("email", ""); } return preferenceEmail; } public String getPreferencePassword() { - if(preferencePassword == null){ - SharedPreferences preferences = getSharedPreferences("prefData",MODE_PRIVATE); + if (preferencePassword == null) { + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); preferencePassword = preferences.getString("password", ""); } return preferencePassword; } public String getPreferenceToken() { - if(preferenceToken == null){ - SharedPreferences preferences = getSharedPreferences("prefData",MODE_PRIVATE); + if (preferenceToken == null) { + SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); preferenceToken = preferences.getString("token", ""); } return preferenceToken; } + public Integer getAid() { + if (this.aid == null) this.aid = 1111; + return aid; + } + //----------------------------------------------------------------- // setter - public void setPreferenceUid(Integer preferenceUid){ + public void setPreferenceUid(Integer preferenceUid) { SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putInt("uid", preferenceUid); editor.commit(); } - public void setPreferenceName(String preferenceName){ + public void setPreferenceName(String preferenceName) { SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("name", preferenceName); @@ -77,19 +85,22 @@ editor.commit(); } - public void setPreferencePassword(String preferencePassword){ + public void setPreferencePassword(String preferencePassword) { SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("password", preferencePassword); editor.commit(); } - public void setPreferenceToken(String preferenceToken){ + public void setPreferenceToken(String preferenceToken) { SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("token", preferenceToken); editor.commit(); } + public void setAid(Integer aid) { + this.aid = aid; + } //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Animation.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Animation.java index fea8f51..db26207 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/Animation.java +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Animation.java @@ -27,7 +27,7 @@ private ArrayList hashTag = new ArrayList<>(); private ArrayList editors = new ArrayList<>(); private ArrayList invites = new ArrayList<>(); - private HashMap pageMap = new HashMap<>(); + private HashMap pageMap = new HashMap<>(); private Boolean isDummy; //----------------------------------------------------------------- @@ -90,7 +90,7 @@ return this.editors; } - public HashMap getPageMap() { + public HashMap getPageMap() { return this.pageMap; } diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java index 99927bc..702ba20 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java @@ -1,6 +1,23 @@ package org.ntlab.acanthus_client.entities; +import java.util.ArrayList; + //----------------------------------------------------------------- // レイヤー情報 public class Layer { + private ArrayList strokes; + + //----------------------------------------------------------------- + // getter + public ArrayList getStrokes() { + return strokes; + } + + //----------------------------------------------------------------- + // setter + public void setStrokes(ArrayList strokes) { + this.strokes = strokes; + } + //----------------------------------------------------------------- + } diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java index 61b4502..baf5612 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java @@ -3,4 +3,19 @@ //----------------------------------------------------------------- // ページ情報 public class Page { + private Layer layers; + + //----------------------------------------------------------------- + // getter + public Layer getLayers() { + return layers; + } + + //----------------------------------------------------------------- + // setter + public void setLayers(Layer layers) { + this.layers = layers; + } + //----------------------------------------------------------------- + } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java index 71cf72f..7edc2bd 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java @@ -1,4 +1,42 @@ package org.ntlab.acanthus_client.resources.accounts; +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.PUT; +import retrofit2.http.Path; +import retrofit2.http.Query; + public interface InvitedRest { + //----------------------------------------------------------------- + + @GET("accounts/{uid}/invited") + Call checkAccountInvited( + @Path("uid") Integer ownerUid, + @Query("aid") Integer aid + ); + + //----------------------------------------------------------------- + + @FormUrlEncoded + @PUT("accounts/{uid}/invited") + Call addAccountInvited( + @Path("uid") Integer invitedUid, + @Field("ownerUid") Integer ownerUid, + @Field("ownerToken") String ownerToken, + @Field("aid") Integer aid + ); + + //----------------------------------------------------------------- + + @FormUrlEncoded + @DELETE("accounts/{uid}/invited") + Call deleteInvite( + @Path("uid") Integer invitedUid, + @Field("invitedToken") String invitedToken, + @Field("aid") Integer aid + ); + } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java index e0d57e4..6924959 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java @@ -37,10 +37,9 @@ @FormUrlEncoded @PUT("accounts/{uid}/work") Call updateWork( - @Path("uid")String invitedUid, + @Path("uid")Integer invitedUid, @Field("token") String invitedToken, @Field("aid") Integer aid ); - //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java index 7128cde..b74e973 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java @@ -16,13 +16,15 @@ //すべての作品情報を返す。 @GET("gallery") - Call> getGallery(); - + Call> getGallery( + @Query("animationName") String animationName + ); +/* @GET("gallery") Call> getAnimationByAnimationName( @Query("name") String name ); - +*/ //作品の更新 @FormUrlEncoded @POST("gallery") @@ -38,6 +40,4 @@ @Path("aid") Integer aid ); - - } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java index f05d6bc..e0d5cef 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java @@ -1,4 +1,50 @@ package org.ntlab.acanthus_client.resources.gallery; +import org.ntlab.acanthus_client.entities.Account; + +import java.util.Collection; + +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.PUT; +import retrofit2.http.Path; +import retrofit2.http.Query; + public interface InvitesRest { + + //----------------------------------------------------------------- + + @GET("gallery/{aid}/invites") + Call> isGalleryInvites( + @Path("aid") Integer aid, + @Query("invited") String invitedUid, + @Query("invitedUserToken") String invitedUserToken, + @Query("ownerToken") String ownerToken + ); + + //----------------------------------------------------------------- + + @FormUrlEncoded + @PUT("gallery/{aid}/invites") + Call addInvite( + @Path("aid") Integer aid, + @Field("ownerUid") String ownerUid, + @Field("invitedUid") String invitedUid, + @Field("ownerToken") String ownerToken + ); + + //----------------------------------------------------------------- + + @FormUrlEncoded + @DELETE("gallery/{aid}/incites") + Call deleteInvite( + @Path("aid") Integer aid, + @Field("invitedUid") String incitedUid, + @Field("invitedToken") String invitedToken + ); + + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java index d6910b7..3737343 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java @@ -4,6 +4,7 @@ import org.ntlab.acanthus_client.entities.Stroke; import java.util.ArrayList; +import java.util.Collection; import retrofit2.Call; import retrofit2.http.Field; @@ -19,19 +20,19 @@ //----------------------------------------------------------------- // @GET("gallery/{aid}/pageMap/0/layers/0/strokes") - Call> getStrokes(@Path("aid") Integer aid); + Call> getStrokes(@Path("aid") Integer aid); //----------------------------------------------------------------- // @FormUrlEncoded @POST("gallery/{aid}/pageMap/0/layers/0/strokes") - Call addStrokes(@Path("aid") Integer aid, @Field("uid") Integer uid, @Field("uidToken") String uidToken, + Call addStroke(@Path("aid") Integer aid, @Field("uid") Integer uid, @Field("uidToken") String uidToken, @Field("pen") Integer pen, @Field("color") Integer color, @Field("thick") Integer thick); //----------------------------------------------------------------- // @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") - Call> getPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); + Call> getPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); //----------------------------------------------------------------- // diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java index ae72fc6..1641c7f 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java @@ -6,6 +6,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.EditText; import android.widget.TextView; @@ -20,6 +21,8 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +import java.util.ArrayList; + public class EditFragment extends Fragment { private EditViewModel editViewModel; @@ -43,6 +46,11 @@ return root; } + //----------------------------------------------------------------- + + //----------------------------------------------------------------- + + @Override public void onDestroyView() { super.onDestroyView(); @@ -52,12 +60,22 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); Button appButton = view.findViewById(R.id.Paint_button); - appButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent = new Intent(getActivity(), PaintActivity.class); - startActivity(intent); - } + appButton.setOnClickListener(v -> { + Acanthus acanthus = (Acanthus) getActivity().getApplication(); + Integer uid = acanthus.getPreferenceUid(); + String name = ((EditText)view.findViewById(R.id.AnimationName)).getText().toString(); + String token = acanthus.getPreferenceToken(); + Integer aid = editViewModel.startWorkEdit(uid, name, token); + acanthus.setAid(aid); + transitionPaintActivity(); }); } + + //----------------------------------------------------------------- + // 画面遷移 + private void transitionPaintActivity() { + Acanthus acanthus = (Acanthus) getActivity().getApplication(); + Intent intent = new Intent(acanthus, PaintActivity.class); + startActivity(intent); + } } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java index 6554769..8ed2ba2 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java @@ -1,10 +1,17 @@ package org.ntlab.acanthus_client.views.main_menu_ui.edit; import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.entities.AidJson; +import org.ntlab.acanthus_client.resources.accounts.WorkRest; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; public class EditViewModel extends ViewModel { @@ -15,9 +22,41 @@ } //getter - public LiveData getAcanthus(){ + public LiveData getAcanthus() { return this.acanthusMutableLiveData; } - // + //新規作品作成APIの呼び出し + public Integer startWorkEdit(Integer uid, String animationName, String token) { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final WorkRest workRest = retrofit.create(WorkRest.class); + + final Integer[] aid = new Integer[1]; + + //作品の新規作成 + Call call = workRest.createWork(uid, animationName, token); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()){ + if (response.body()!=null){ + aid[0] = response.body().getAid(); + } + } + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + + return aid[0]; + } + + + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModel.java new file mode 100644 index 0000000..d03cf13 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModel.java @@ -0,0 +1,127 @@ +package org.ntlab.acanthus_client.views.paint; + +import androidx.navigation.ActivityNavigator; + +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.entities.Animation; +import org.ntlab.acanthus_client.resources.gallery.GalleryRest; +import org.ntlab.acanthus_client.resources.gallery.StrokesRest; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +//----------------------------------------------------------------- +// +public class PaintModel { + private Animation editedAnimation; + private Acanthus acanthus; + private Integer currentStrokeNo; + + private Retrofit retrofit; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + public PaintModel() { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + } + + + //----------------------------------------------------------------- + // setter + public void setEditedAnimation(Animation editedAnimation) { + this.editedAnimation = editedAnimation; + } + + private void setCurrentStrokeNo(int strokeNo) { + this.currentStrokeNo = strokeNo; + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // init + public void init(Acanthus acanthus){ + this.acanthus = acanthus; + + final GalleryRest galleryRest = retrofit.create(GalleryRest.class); +// //----------------------------------------------------------------- +// // ストローク追加API +// Call call = strokesRest.addStroke( +// acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), +// 0, 0, 10); +// +// // strokeNoを更新 +// call.enqueue(new Callback() { +// @Override +// public void onResponse(Call call, Response response) { +// if (response.isSuccessful()) setCurrentStrokeNo(response.body()); +// } +// +// @Override +// public void onFailure(Call call, Throwable t) { +// +// } +// }); + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // ローカルでのストロークの追加(POST) + public void addLocalStroke() { + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + + //----------------------------------------------------------------- + // ストローク追加API + Call call = strokesRest.addStroke( + acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), + 0, 0, 10); + + // strokeNoを更新 + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) setCurrentStrokeNo(response.body()); + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + + //----------------------------------------------------------------- + // ローカルでの筆跡追加(POST) + public void addPosition(float x, float y) { + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + + //----------------------------------------------------------------- + // 筆跡追加API + Call call = strokesRest.addPositions(acanthus.getAid(), this.currentStrokeNo, x, y); + + // 筆跡を更新 + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + + } + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + //----------------------------------------------------------------- + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java new file mode 100644 index 0000000..18fd869 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java @@ -0,0 +1,59 @@ +package org.ntlab.acanthus_client.views.paint; + +import android.graphics.Paint; +import android.view.View; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.entities.Account; +import org.ntlab.acanthus_client.entities.Animation; +import org.ntlab.acanthus_client.entities.Stroke; +import org.ntlab.acanthus_client.resources.accounts.LoginRest; +import org.ntlab.acanthus_client.resources.gallery.StrokesRest; + +import java.text.CollationElementIterator; +import java.util.ArrayList; +import java.util.Collection; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import kotlinx.coroutines.sync.Mutex; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + + +//----------------------------------------------------------------- +// +public class PaintViewModel extends ViewModel { + + private MutableLiveData animationMutableLiveData; + private PaintModel paintModel; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + public PaintViewModel() { + startObservationOfChangedStroke(); + } + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + public void init(Acanthus acanthus){ + paintModel.init(acanthus); + } + + // 一定間隔でサーバー上の筆跡を取得する(GET) + public void startObservationOfChangedStroke() { + } + + + //----------------------------------------------------------------- + //----------------------------------------------------------------- +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java index c87643a..c794096 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/sign_up/SignUpActivity.java @@ -8,6 +8,7 @@ import android.widget.TextView; import org.ntlab.acanthus_client.R; +import org.ntlab.acanthus_client.databinding.ActivitySignUpBinding; import org.ntlab.acanthus_client.entities.AccountUidJson; import org.ntlab.acanthus_client.resources.accounts.AccountsRest; import org.ntlab.acanthus_client.views.login.LoginScreenActivity; @@ -23,59 +24,36 @@ //----------------------------------------------------------------- // public class SignUpActivity extends AppCompatActivity { - //----------------------------------------------------------------- - // 各Viewの列挙型 - public enum EditTexts { - nameForm(0), emailForm(1), passwordForm(2), signUpButton(3), loginButton(4); - - private int textId; - - //----------------------------------------------------------------- - private EditTexts(int textId) { - this.textId = textId; - } - - //----------------------------------------------------------------- - // getter - public int getTextId() { - return this.textId; - } - } - - //----------------------------------------------------------------- - private ArrayList views = new ArrayList<>(); + private ActivitySignUpBinding binding; //----------------------------------------------------------------- // @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_sign_up); - initView(); - Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(JacksonConverterFactory.create()) - .build(); - final AccountsRest accountsRest = retrofit.create(AccountsRest.class); + init(); - onClickSignUp(accountsRest); + onClickSignUp(); onClickAlreadyLoggedIn(); } //----------------------------------------------------------------- //----------------------------------------------------------------- // サインアップ時押下時 - private void onClickSignUp(AccountsRest accountsRest) { - Button signUpButton = (Button) views.get(EditTexts.signUpButton.getTextId()); + private void onClickSignUp() { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final AccountsRest accountsRest = retrofit.create(AccountsRest.class); + + Button signUpButton = (Button) binding.buttonSignUpRegister; // signUpButton.setOnClickListener(v -> { - String name = views.get(EditTexts.nameForm.getTextId()).getText().toString(); - ; - String emailAddress = views.get(EditTexts.emailForm.getTextId()).getText().toString(); - ; - String password = views.get(EditTexts.passwordForm.getTextId()).getText().toString(); - ; + String name = binding.editTextTextSignUpPersonName.getText().toString(); + String emailAddress = binding.editTextTextSignUpEmailAddress.getText().toString(); + String password = binding.editTextTextSignUpPassword.getText().toString(); Call call = accountsRest.createAccount(name, emailAddress, password); call.enqueue(new Callback() { @@ -95,7 +73,7 @@ //----------------------------------------------------------------- // アカウント所持ボタン押下処理 private void onClickAlreadyLoggedIn() { - Button alreadyLoggedInButton = (Button) views.get(EditTexts.loginButton.getTextId()); + Button alreadyLoggedInButton = (Button) binding.buttonAlreadyLoggedIn; // ログイン画面に遷移 alreadyLoggedInButton.setOnClickListener(v -> { @@ -115,20 +93,17 @@ //----------------------------------------------------------------- // 登録内容のクリア private void clearForm() { - for (int i = EditTexts.nameForm.getTextId(); i <= EditTexts.passwordForm.getTextId(); i++) { - views.get(i).getEditableText().clear(); - } - + binding.editTextTextSignUpPersonName.getEditableText().clear(); + binding.editTextTextSignUpEmailAddress.getEditableText().clear(); + binding.editTextTextSignUpPassword.getEditableText().clear(); } //----------------------------------------------------------------- //----------------------------------------------------------------- - // - private void initView() { - views.add(findViewById(R.id.editTextTextSignUpPersonName)); - views.add(findViewById(R.id.editTextTextSignUpEmailAddress)); - views.add(findViewById(R.id.editTextTextSignUpPassword)); - views.add(findViewById(R.id.buttonSignUpRegister)); - views.add(findViewById(R.id.buttonAlreadyLoggedIn)); + // 初期化 + private void init() { + setContentView(R.layout.activity_sign_up); + binding = ActivitySignUpBinding.inflate(getLayoutInflater()); } + //----------------------------------------------------------------- } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit.xml b/app/src/main/res/layout/fragment_edit.xml index 2387242..7b89dbf 100644 --- a/app/src/main/res/layout/fragment_edit.xml +++ b/app/src/main/res/layout/fragment_edit.xml @@ -13,6 +13,7 @@ android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:layout_marginEnd="8dp" + android:text="This is edit fragment" android:textAlignment="center" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" @@ -31,4 +32,16 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + \ No newline at end of file