CreateFrag #149

Merged s-michishita merged 3 commits into nitta-lab-2021:master from nitta-lab-2021:createFrag on 21 Jul 2021
Showing 7 changed files
View
7
.idea/misc.xml
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
<component name="VisualizationToolProject">
<option name="state">
<ProjectState>
<option name="scale" value="0.203125" />
</ProjectState>
</option>
</component>
</project>
View
66
app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java 0 → 100644
package org.ntlab.acanthus_client.views.main_menu_ui.create;
 
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
 
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
 
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.FragmentCreateBinding;
import org.ntlab.acanthus_client.databinding.FragmentEditBinding;
import org.ntlab.acanthus_client.views.main_menu_ui.edit.EditViewModel;
import org.ntlab.acanthus_client.views.paint.PaintActivity;
 
public class CreateFragment extends Fragment {
private CreateViewModel createViewModel;
private FragmentCreateBinding binding;
 
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
createViewModel =
new ViewModelProvider(this).get(CreateViewModel.class);
 
binding = FragmentCreateBinding.inflate(inflater, container, false);
View root = binding.getRoot();
 
return root;
}
 
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button appButton = view.findViewById(R.id.Paint_button_create);
 
//ダミーユーザー
Integer uid = 1;
String token = "abc0";
 
appButton.setOnClickListener(v -> {
Acanthus acanthus = (Acanthus) getActivity().getApplication();
//Integer uid = acanthus.getPreferenceUid();
String name = ((EditText)view.findViewById(R.id.AnimationNameCreate)).getText().toString();
//String token = acanthus.getPreferenceToken();
Integer aid = createViewModel.startWorkCreate(uid, name, token);
acanthus.setAid(aid);
transitionPaintActivity();
});
}
 
//-----------------------------------------------------------------
// 画面遷移
private void transitionPaintActivity() {
Acanthus acanthus = (Acanthus) getActivity().getApplication();
Intent intent = new Intent(acanthus, PaintActivity.class);
startActivity(intent);
}
}
View
47
app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java 0 → 100644
package org.ntlab.acanthus_client.views.main_menu_ui.create;
 
import androidx.lifecycle.ViewModel;
 
import org.ntlab.acanthus_client.entities.AidJson;
import org.ntlab.acanthus_client.resources.accounts.WorkRest;
 
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
 
public class CreateViewModel extends ViewModel {
//新規作品作成APIの呼び出し
public Integer startWorkCreate(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<AidJson> call = workRest.createWork(uid, animationName, token);
call.enqueue(new Callback<AidJson>() {
@Override
public void onResponse(Call<AidJson> call, Response<AidJson> response) {
if (response.isSuccessful()) {
if (response.body() != null) {
aid[0] = response.body().getAid();
//aidJsonMutableLiveData.setValue(response.body());
}
}
}
 
@Override
public void onFailure(Call<AidJson> call, Throwable t) {
 
}
});
 
return aid[0];
}
}
View
1
■■■■
app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java
 
}
//-----------------------------------------------------------------
 
 
}
View
34
app/src/main/res/layout/fragment_create.xml 0 → 100644
<?xml version="1.0" encoding="utf-8"?>
<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:layout_width="match_parent"
android:layout_height="match_parent">
 
<Button
android:id="@+id/Paint_button_create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.823"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.484" />
 
<EditText
android:id="@+id/AnimationNameCreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="AnimationName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.079"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.486" />
 
</androidx.constraintlayout.widget.ConstraintLayout>
View
6
app/src/main/res/navigation/mobile_navigation.xml
android:label="@string/title_search"
tools:layout="@layout/fragment_search" />
 
<fragment
android:id="@+id/navigation_create"
android:name="org.ntlab.acanthus_client.views.main_menu_ui.create.CreateFragment"
android:label="@string/title_create"
tools:layout="@layout/fragment_create" />
 
<fragment
android:id="@+id/navigation_make"
android:name="org.ntlab.acanthus_client.views.main_menu_ui.edit.EditFragment"
android:label="@string/title_make"
tools:layout="@layout/fragment_edit" />
View
2
■■■
build.gradle
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
classpath 'com.android.tools.build:gradle:4.2.2'
 
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}