Skip to content

Commit 1f6b586

Browse files
authored
Add files via upload
1 parent 361e9ea commit 1f6b586

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+5026
-0
lines changed

AddDogActivity.java

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package com.example.user.dogslight;
2+
3+
import android.os.Bundle;
4+
import android.support.v7.app.AlertDialog;
5+
import android.support.v7.app.AppCompatActivity;
6+
import android.view.View;
7+
import android.widget.Button;
8+
import android.widget.EditText;
9+
import android.widget.RadioGroup;
10+
11+
import com.android.volley.RequestQueue;
12+
import com.android.volley.Response;
13+
import com.android.volley.toolbox.Volley;
14+
15+
import org.json.JSONObject;
16+
17+
// 강아지를 추가하는 액티비티.
18+
public class AddDogActivity extends AppCompatActivity {
19+
20+
@Override
21+
protected void onCreate(Bundle savedInstanceState) {
22+
super.onCreate(savedInstanceState);
23+
setContentView(R.layout.activity_add_dog);
24+
25+
// xml 안의 요소들을 가져온다.
26+
final EditText dogNameText = (EditText) findViewById(R.id.dogNameText); // 강아지 이름을 입력하는 editText
27+
final EditText dogWeightText = (EditText) findViewById(R.id.dogWeightText); // 강아지 몸무게를 입력하는 editText
28+
final RadioGroup dogAgesRadio = (RadioGroup) findViewById(R.id.dogAgesRadio); // 강아지 나잇대를 선택하는 radioGroup
29+
final Button addDogButton = (Button) findViewById(R.id.addDogButton); // 입력한 내용을 추가하는 button
30+
31+
// 추가 버튼을 클릭하면 아래와 같은 일을 한다.
32+
addDogButton.setOnClickListener(new View.OnClickListener() {
33+
@Override
34+
public void onClick(View v) {
35+
// 사용자가 입력한 editText 값을 가져온다.
36+
String dogName = dogNameText.getText().toString();
37+
String dogWeight = dogWeightText.getText().toString();
38+
String dogAges;
39+
// MainActivity에 static으로 선언된 userID를 가져온다.
40+
String userID = MainActivity.userID;
41+
42+
// 사용자가 체크한 라디오 버튼에 따라, dogAges값을 바꾼다.
43+
if (dogAgesRadio.getCheckedRadioButtonId() == R.id.puppy) {
44+
dogAges = "puppy";
45+
} else {
46+
dogAges = "adult";
47+
}
48+
49+
// 사용자가 값을 덜 넣으면 아래의 문장을 수행한다.
50+
if (dogName.equals("") || dogWeight.equals("") || dogAges.equals("")) {
51+
AlertDialog.Builder builder = new AlertDialog.Builder(AddDogActivity.this);
52+
AlertDialog dialog = builder.setMessage("빈칸 없이 입력해주십시오.")
53+
.setPositiveButton("확인", null)
54+
.create();
55+
dialog.show();
56+
return;
57+
}
58+
59+
// 추가 작업을 하는 리스너를 만든다.
60+
Response.Listener<String> responseListener = new Response.Listener<String>() {
61+
@Override
62+
public void onResponse(String response) {
63+
try {
64+
// JSONObject의 response값을 얻어온다.
65+
JSONObject jsonResponse = new JSONObject(response);
66+
boolean success = jsonResponse.getBoolean("success");
67+
// response의 success값이 true, 즉 삽입이 성공적으로 이루어졌다면 현재 액티비티를 종료한다.
68+
if (success) {
69+
finish(); // MyFragment로 돌아간다.
70+
}
71+
72+
} catch (Exception e) {
73+
e.printStackTrace();
74+
}
75+
}
76+
};
77+
// AddDogRequest에 입력된 값을 모두 넘긴다.
78+
AddDogRequest addDogRequest = new AddDogRequest(userID, dogName, dogAges, dogWeight, responseListener);
79+
// 큐를 만들어 리퀘스트를 실제로 보낼 수 있도록 한다.
80+
RequestQueue queue = Volley.newRequestQueue(AddDogActivity.this);
81+
queue.add(addDogRequest);
82+
83+
}
84+
});
85+
}
86+
87+
88+
@Override
89+
protected void onStop() {
90+
super.onStop();
91+
92+
}
93+
}

AddDogFoodActivity.java

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.example.user.dogslight;
2+
3+
import android.os.Bundle;
4+
import android.support.v7.app.AlertDialog;
5+
import android.support.v7.app.AppCompatActivity;
6+
import android.view.View;
7+
import android.widget.Button;
8+
import android.widget.EditText;
9+
10+
import com.android.volley.RequestQueue;
11+
import com.android.volley.Response;
12+
import com.android.volley.toolbox.Volley;
13+
14+
import org.json.JSONObject;
15+
16+
// 사료를 추가하는 액티비티.
17+
public class AddDogFoodActivity extends AppCompatActivity {
18+
19+
@Override
20+
protected void onCreate(Bundle savedInstanceState) {
21+
super.onCreate(savedInstanceState);
22+
setContentView(R.layout.activity_add_dog_food);
23+
24+
// xml 안의 요소들을 가져온다.
25+
final EditText foodNameText = (EditText) findViewById(R.id.foodNameText);
26+
final EditText foodProteinText = (EditText) findViewById(R.id.foodProteinText);
27+
final EditText foodFatText = (EditText) findViewById(R.id.foodFatText);
28+
final EditText foodFiberText = (EditText) findViewById(R.id.foodFiberText);
29+
final Button addFoodButton = (Button) findViewById(R.id.addFoodButton);
30+
31+
// 추가 버튼을 클릭하면 아래와 같은 일을 한다.
32+
addFoodButton.setOnClickListener(new View.OnClickListener() {
33+
@Override
34+
public void onClick(View v) {
35+
// 사용자가 입력한 editText 값을 가져온다.
36+
String foodName = foodNameText.getText().toString();
37+
String foodProtein = foodProteinText.getText().toString();
38+
String foodFat = foodFatText.getText().toString();
39+
String foodFiber = foodFiberText.getText().toString();
40+
// MainActivity에 static으로 선언된 userID를 가져온다.
41+
String userID = MainActivity.userID;
42+
43+
// 사용자가 값을 덜 넣으면 아래의 문장을 수행한다.
44+
if (foodName.equals("") || foodProtein.equals("") || foodFat.equals("") || foodFiber.equals("")) {
45+
AlertDialog.Builder builder = new AlertDialog.Builder(AddDogFoodActivity.this);
46+
AlertDialog dialog = builder.setMessage("빈칸 없이 입력해주십시오.")
47+
.setPositiveButton("확인", null)
48+
.create();
49+
dialog.show();
50+
return;
51+
}
52+
53+
// 추가 작업을 하는 리스너를 만든다.
54+
Response.Listener<String> responseListener = new Response.Listener<String>() {
55+
@Override
56+
public void onResponse(String response) {
57+
try {
58+
// JSONObject의 response값을 얻어온다.
59+
JSONObject jsonResponse = new JSONObject(response);
60+
boolean success = jsonResponse.getBoolean("success");
61+
// response의 success값이 true, 즉 삽입이 성공적으로 이루어졌다면 현재 액티비티를 종료한다.
62+
if (success) {
63+
finish(); // MyFragment로 돌아간다.
64+
}
65+
66+
} catch (Exception e) {
67+
e.printStackTrace();
68+
}
69+
}
70+
};
71+
// AddDogFoodRequest에 입력된 값을 모두 넘긴다.
72+
AddDogFoodRequest addDogFoodRequest = new AddDogFoodRequest(userID, foodName, foodProtein, foodFat, foodFiber, responseListener);
73+
// 큐를 만들어 리퀘스트를 실제로 보낼 수 있도록 한다.
74+
RequestQueue queue = Volley.newRequestQueue(AddDogFoodActivity.this);
75+
queue.add(addDogFoodRequest);
76+
}
77+
});
78+
}
79+
80+
81+
@Override
82+
protected void onStop() {
83+
super.onStop();
84+
85+
}
86+
}

AddDogFoodRequest.java

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.example.user.dogslight;
2+
3+
import com.android.volley.Response;
4+
import com.android.volley.toolbox.StringRequest;
5+
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
9+
// FOOD 테이블에 새로운 데이터를 삽입하는 작업을 한다.
10+
public class AddDogFoodRequest extends StringRequest {
11+
// FOOD 테이블의 삽입 작업을 하는 url을 선언한다.
12+
final static private String URL = "http://dms7147.cafe24.com/MyDogFoodAdd.php";
13+
private Map<String, String> parameters;
14+
15+
// 생성자
16+
public AddDogFoodRequest(String userID, String foodName, String foodProtein, String foodFat, String foodFiber, Response.Listener<String> listener) {
17+
super(Method.POST, URL, listener, null); //url에 파라미터를 post방식으로 보내준다.
18+
parameters = new HashMap<>();
19+
// id와 사료이름, 단백질, 지방, 섬유질 함량을 php파일에 넘겨준다.
20+
parameters.put("userID", userID);
21+
parameters.put("foodName", foodName);
22+
parameters.put("foodProtein", foodProtein);
23+
parameters.put("foodFat", foodFat);
24+
parameters.put("foodFiber", foodFiber);
25+
}
26+
27+
@Override
28+
public Map<String, String> getParams() {
29+
return parameters;
30+
}
31+
32+
}

AddDogRequest.java

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.example.user.dogslight;
2+
3+
import com.android.volley.Response;
4+
import com.android.volley.toolbox.StringRequest;
5+
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
9+
// DOG 테이블에 새로운 데이터를 삽입하는 작업을 한다.
10+
public class AddDogRequest extends StringRequest {
11+
// DOG 테이블의 삽입 작업을 하는 url을 선언한다.
12+
final static private String URL = "http://dms7147.cafe24.com/MyDogAdd.php";
13+
private Map<String, String> parameters;
14+
15+
// 생성자
16+
public AddDogRequest(String userID, String dogName, String dogAges, String dogWeight, Response.Listener<String> listener) {
17+
super(Method.POST, URL, listener, null); //url에 파라미터를 post방식으로 보내준다.
18+
parameters = new HashMap<>();
19+
// id와 강아지이름, 나이대, 몸무게를 php파일에 넘겨준다.
20+
parameters.put("userID", userID);
21+
parameters.put("dogName", dogName);
22+
parameters.put("dogAges", dogAges);
23+
parameters.put("dogWeight", dogWeight);
24+
25+
}
26+
27+
@Override
28+
public Map<String, String> getParams() {
29+
return parameters;
30+
}
31+
32+
}

AddScheduleActivity.java

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
package com.example.user.dogslight;
2+
3+
import android.content.Intent;
4+
import android.os.Bundle;
5+
import android.support.v7.app.AlertDialog;
6+
import android.support.v7.app.AppCompatActivity;
7+
import android.view.View;
8+
import android.widget.Button;
9+
import android.widget.EditText;
10+
import android.widget.TextView;
11+
12+
import com.android.volley.RequestQueue;
13+
import com.android.volley.Response;
14+
import com.android.volley.toolbox.Volley;
15+
16+
import org.json.JSONObject;
17+
18+
import java.text.SimpleDateFormat;
19+
import java.util.Date;
20+
21+
// 산책 기록을 추가하는 액티비티.
22+
public class AddScheduleActivity extends AppCompatActivity {
23+
24+
private String walk;
25+
private String formatDate;
26+
27+
@Override
28+
protected void onCreate(Bundle savedInstanceState) {
29+
super.onCreate(savedInstanceState);
30+
setContentView(R.layout.activity_add_schedule);
31+
32+
// xml의 위젯을 변수로 선언한다.
33+
final TextView walkContentText = (TextView) findViewById(R.id.walkContentText);
34+
final TextView walkDateText = (TextView) findViewById(R.id.walkDateText);
35+
final EditText walkNameText = (EditText) findViewById(R.id.walkNameText);
36+
final Button addButton = (Button) findViewById(R.id.addButton);
37+
38+
//현재시간을 now에 저장한다.
39+
long now= System.currentTimeMillis();
40+
// now로 새로운 Date객체를 만든다.
41+
Date date= new Date(now);
42+
// date를 테이블에 삽입하는 타입으로 만들기 위해 SimpleDateFormat 변수를 선언한다.
43+
SimpleDateFormat df;
44+
df = new SimpleDateFormat("yyyy-MM-dd");
45+
// date, 즉 현재 날짜를 formatDate에 2017-08-30과 같은 값으로 저장한다.
46+
formatDate= df.format(date);
47+
48+
// 자신을 부른 Intent를 얻어온다.
49+
Intent intent = getIntent();
50+
// Intent에 넣어준 산책 시간인 walk를 String변수에 저장한다.
51+
walk = intent.getExtras().getString("walk");
52+
53+
// textView에 현재시간과 산책시간을 보여준다.
54+
walkDateText.setText(formatDate);
55+
walkContentText.setText(walk);
56+
57+
// 추가버튼을 누르면 아래와 같은 작업을 한다.
58+
addButton.setOnClickListener(new View.OnClickListener() {
59+
@Override
60+
public void onClick(View v) {
61+
// textView에 적힌 데이터를 읽어 String 변수에 저장한다.
62+
String content = walkContentText.getText().toString();
63+
String date = walkDateText.getText().toString();
64+
String name = walkNameText.getText().toString();
65+
// MainActivity에 static으로 선언된 userID를 가져온다.
66+
String userID = MainActivity.userID;
67+
68+
// 사용자가 값을 덜 넣으면 아래의 문장을 수행한다.
69+
if(content.equals("") ||date.equals("") || name.equals("")) {
70+
AlertDialog.Builder builder = new AlertDialog.Builder(AddScheduleActivity.this);
71+
AlertDialog dialog = builder.setMessage("빈칸 없이 입력해주십시오.")
72+
.setPositiveButton("확인", null)
73+
.create();
74+
dialog.show();
75+
return;
76+
}
77+
78+
// 추가 작업을 하는 리스너를 만든다.
79+
Response.Listener<String> responseListener = new Response.Listener<String>() {
80+
@Override
81+
public void onResponse(String response) {
82+
try {
83+
// JSONObject의 response값을 얻어온다.
84+
JSONObject jsonResponse = new JSONObject(response);
85+
boolean success = jsonResponse.getBoolean("success");
86+
// response의 success값이 true, 즉 삽입이 성공적으로 이루어졌다면 현재 액티비티를 종료한다.
87+
if(success) {
88+
finish(); // WalkFragment로 돌아간다.
89+
}
90+
91+
} catch (Exception e) {
92+
e.printStackTrace();
93+
}
94+
}
95+
};
96+
// AddScheduleRequest에 입력된 값을 모두 넘긴다.
97+
AddScheduleRequest addScheduleRequest = new AddScheduleRequest(userID, content, name, date, responseListener);
98+
// 큐를 만들어 리퀘스트를 실제로 보낼 수 있도록 한다.
99+
RequestQueue queue = Volley.newRequestQueue(AddScheduleActivity.this);
100+
queue.add(addScheduleRequest);
101+
}
102+
});
103+
}
104+
105+
106+
@Override
107+
protected void onStop() {
108+
super.onStop();
109+
110+
111+
}
112+
}

AddScheduleRequest.java

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.example.user.dogslight;
2+
3+
import com.android.volley.Request;
4+
import com.android.volley.Response;
5+
import com.android.volley.toolbox.StringRequest;
6+
7+
import java.util.HashMap;
8+
import java.util.Map;
9+
10+
// WALK 테이블에 새로운 데이터를 삽입하는 작업을 한다.
11+
public class AddScheduleRequest extends StringRequest {
12+
// WALK 테이블의 삽입 작업을 하는 url을 선언한다.
13+
final static private String URL = "http://dms7147.cafe24.com/MyScheduleAdd.php";
14+
private Map<String, String> parameters;
15+
16+
// 생성자
17+
public AddScheduleRequest(String userID, String content, String name, String date, Response.Listener<String> listener) {
18+
super(Request.Method.POST, URL, listener, null); //url에 파라미터를 post방식으로 보내준다.
19+
parameters = new HashMap<>();
20+
// id와 산책시간, 강아지이름, 날짜를 넘겨준다.
21+
parameters.put("userID", userID);
22+
parameters.put("walkContent", content);
23+
parameters.put("walkName", name);
24+
parameters.put("walkDate", date);
25+
26+
}
27+
28+
//@Override
29+
public Map<String, String> getParams() {
30+
return parameters;
31+
}
32+
33+
}

0 commit comments

Comments
 (0)