ログインの通信 #8

Merged h-matsumoto merged 10 commits into nitta-lab-2018:master from nitta-lab-2018:ログインの通信 on 12 Jun 2018
Showing 13 changed files
View
.idea/caches/build_file_checksums.ser
Not supported
View
2
■■■
app/build.gradle
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
 
implementation group: 'net.arnx', name: 'jsonic', version: '1.3.10'
}
View
1
■■■■
app/src/main/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.ntlab.radishforandroidstudio">
 
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
 
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
View
11
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/connections/LoginFragmentConnection.java 0 → 100644
package org.ntlab.radishforandroidstudio.cactusClient.connections;
 
import org.ntlab.radishforandroidstudio.framework.network.HttpAsyncConnection;
 
public class LoginFragmentConnection extends HttpAsyncConnection {
 
public LoginFragmentConnection() {
super("http://nitta-lab-www2.is.konan-u.ac.jp:8080/CactusServer/rest/accounts");
 
}
}
View
11
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/connections/SignUpFragmentConnection.java 0 → 100644
package org.ntlab.radishforandroidstudio.cactusClient.connections;
 
import org.ntlab.radishforandroidstudio.framework.network.HttpAsyncConnection;
 
public class SignUpFragmentConnection extends HttpAsyncConnection {
 
public SignUpFragmentConnection() {
super("http://nitta-lab-www2.is.konan-u.ac.jp:8080/CactusServer/rest/accounts");
 
}
}
View
27
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/AddressedEntity.java 0 → 100644
package org.ntlab.radishforandroidstudio.cactusClient.models;
 
/**
* �e���\�[�X��POST�ō쐬�����ۂ�, ���Y���\�[�X�̎��̂�URI���Ăяo�����ɕԂ��Ƃ��ɗp����N���X
* @author r-isitani
*
*/
public abstract class AddressedEntity {
private Entity body;
protected AddressedEntity() {
// JSONDecode���̌Ăяo���p
}
 
public AddressedEntity(Entity body) {
setBody(body);
}
 
public Entity getBody() {
return body;
}
public void setBody(Entity body) {
this.body = body;
}
}
View
11
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/Entity.java 0 → 100644
package org.ntlab.radishforandroidstudio.cactusClient.models;
 
/**
* AddressedEntity�N���X�ɂĈ������̂�\�����ۃN���X
* @author r-isitani
*
*/
public abstract class Entity {
 
}
View
31
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/URIAddressedEntity.java 0 → 100644
package org.ntlab.radishforandroidstudio.cactusClient.models;
 
import java.net.URI;
 
public class URIAddressedEntity extends AddressedEntity {
private URI uri;
 
private URIAddressedEntity() {
// JSONDecode時の呼び出し用
}
 
public URIAddressedEntity(URI uri, Entity body) {
super(body);
setUri(uri);
}
 
public URIAddressedEntity(String str, Entity body) {
super(body);
setUri(URI.create(str));
}
 
public URI getUri() {
return uri;
}
 
public void setUri(URI uri) {
this.uri = uri;
}
 
}
View
0
■■■■■
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/test 100644 → 0
View
72
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
import net.arnx.jsonic.JSON;
 
import org.ntlab.radishforandroidstudio.R;
import org.ntlab.radishforandroidstudio.cactusClient.connections.LoginFragmentConnection;
import org.ntlab.radishforandroidstudio.cactusClient.models.URIAddressedEntity;
import org.ntlab.radishforandroidstudio.framework.network.CallBack;
 
public class LoginFragment extends Fragment {
// private URIAddressedEntity connection;
private LoginFragmentConnection connection;
 
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.login_fragment, container, false);
 
}
 
 
@Override
public void onStart() {
super.onStart();
public void onClick(View view) {
EditText userName = (EditText)getActivity().findViewById(R.id.inputUserName);
EditText passWord = (EditText)getActivity().findViewById(R.id.checkPassword);
 
CharSequence userNameText = userName.getText();
CharSequence passWordText = passWord.getText();
 
 
if (userName.getText().toString().isEmpty()) {
Toast.makeText(getActivity(), "ユーザー名が未記入です", Toast.LENGTH_SHORT).show();
} else if(passWord.getText().toString().isEmpty()){
Toast.makeText(getActivity(), "パスワードが未記入です", Toast.LENGTH_SHORT).show();
} else {
 
Toast tp = Toast.makeText(getActivity(), passWordText, Toast.LENGTH_SHORT);
tp.setGravity(Gravity.BOTTOM, 0, 0);
tp.show();
connection = new LoginFragmentConnection();
 
 
 
 
 
// if (userName.getText().toString().isEmpty()) {
// Toast.makeText(getActivity(), "値が未記入です", Toast.LENGTH_SHORT).show();
// } else {
//
// connection = new URIAddressedEntity();
//
// connection.setCallBack(new CallBack() {
// @Override
// public void onResponse(String response) {
// //通信した時の処理を書くのだ
// }
//
// });
// connection.addFormParam("userName", userName.getText().toString());
// connection.doPost();
// }
 
 
 
 
 
connection.setCallBack(new CallBack() {
@Override
public void onResponse(String response) {
//通信した時の処理を書くのだよ
URIAddressedEntity ac = JSON.decode(response, URIAddressedEntity.class);
System.out.println(ac.getUri());
System.out.println(response);
}
});
connection.addFormParam("user_id", userName.getText().toString());
connection.addFormParam("password", passWord.getText().toString());
connection.doPut();
}
}
});
 
}
View
73
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java
package org.ntlab.radishforandroidstudio.cactusClient.views;
 
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import net.arnx.jsonic.JSON;
import org.ntlab.radishforandroidstudio.R;
import org.ntlab.radishforandroidstudio.cactusClient.connections.SignUpFragmentConnection;
import org.ntlab.radishforandroidstudio.cactusClient.models.URIAddressedEntity;
import org.ntlab.radishforandroidstudio.framework.network.CallBack;
 
public class SignUpFragment extends Fragment {
private SignUpFragmentConnection connection;
 
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
 
//↓↓↓↓↓↓↓↓画面遷移↓↓↓↓↓↓↓↓
@Override
public void onStart() {
 
super.onStart();
 
//ログインボタン
Button button = (Button) getActivity().findViewById(R.id.LoginButton2);
button.setOnClickListener(new View.OnClickListener() {
 
@Override
transaction.commit();
}
});
 
Button sihnupButton = (Button) getActivity().findViewById(R.id.signUp2);
sihnupButton.setOnClickListener(new View.OnClickListener(){
//サインアップ
Button signUpButton = (Button) getActivity().findViewById(R.id.signUp2);
signUpButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
EditText inputPassword = (EditText)getActivity().findViewById(R.id.inputPassword2);
EditText checkPassWord = (EditText)getActivity().findViewById(R.id.checkPassword);
EditText inputUserName = (EditText)getActivity().findViewById(R.id.inputUserName);
EditText inputUserID = (EditText)getActivity().findViewById(R.id.inputUserID);
 
String strInputPassword = EditTextChangeToString(inputPassword);
String strCheckPassWord = EditTextChangeToString(checkPassWord);
 
if (strInputPassword.isEmpty()) {
if (inputPassword.getText().toString().isEmpty()) {
Toast.makeText(getActivity(), "パスワードを入力してください", Toast.LENGTH_SHORT).show();
} else if (strCheckPassWord.isEmpty()) {
} else if (checkPassWord.getText().toString().isEmpty()) {
Toast.makeText(getActivity(), "確認用パスワードを入力してください", Toast.LENGTH_SHORT).show();
} else if (!strInputPassword.equals(strCheckPassWord )) {
} else if (!inputPassword.getText().toString().equals(checkPassWord.getText().toString() )) {
Toast.makeText(getActivity(), "パスワードが一致しません", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getActivity(), "アカウント作成に成功しましたね", Toast.LENGTH_SHORT).show();
 
connection = new SignUpFragmentConnection();
connection.setCallBack(new CallBack() {
@Override
public void onResponse(String response) {
//通信した時の処理を書くのだよ
URIAddressedEntity ac = JSON.decode(response, URIAddressedEntity.class);
 
System.out.println(ac.getUri());
System.out.println(response);
 
}
});
 
connection.addFormParam("user_id", inputUserID.getText().toString());
connection.addFormParam("user_name", inputUserName.getText().toString());
connection.addFormParam("password", inputPassword.getText().toString());
connection.doPost();
Toast.makeText(getActivity(),inputUserID.getText().toString(), Toast.LENGTH_SHORT).show();
}
}
});
}
 
private static String EditTextChangeToString(EditText text){
 
CharSequence CharSequenceText = text.getText();
 
String str = CharSequenceText.toString();
 
return str;
}
}
View
2
■■■
app/src/main/res/layout/login_fragment.xml
android:layout_height="20dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/signUP1"
android:layout_marginTop="41dp"
android:text="UserName" />
android:text="UserID" />
 
<TextView
android:id="@+id/password"
android:layout_width="wrap_content"
View
4
app/src/main/res/layout/sign_up_fragment.xml
android:layout_alignStart="@+id/checkPassword"
android:text="userID" />
 
<EditText
android:id="@+id/editText"
android:id="@+id/inputUserID"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_alignStart="@+id/checkPassword"
android:layout_below="@+id/userName"
android:id="@+id/UserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/checkPassword"
android:layout_below="@+id/editText"
android:layout_below="@+id/inputUserID"
android:text="UserName" />
 
<EditText
android:id="@+id/inputUserName"