团队作业4——第一次项目冲刺(Alpha版本)第一天+第二天+第三天+第四天+第五天+第六天+第七天

冲刺第一天

一、Daily Scrum Meeting照片

 

二、每个人的工作

1.今天计划完成的任务

 GUI、计时功能、题目生成

2.工作中遇到的困难

 刚开始在计时功能模块只能做到秒位,经过查询资料后可以精确到毫秒。

三、发布项目燃尽图

 

1.解释说明横纵坐标代表的含义

 软件功能个数。

2.解释说明实线虚线代表的含义

 平均每日应完成量。

3.理解燃尽图的作用

 燃尽图(burn down chart)是在项目完成之前,对需要完成的工作的一种可视化表示。

四、代码签入

1.生成题目的界面设计

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3     android:layout_width="match_parent"
  4     android:layout_height="match_parent"
  5     android:orientation="vertical"
  6     android:background="#ffa726" >
  7     <LinearLayout
  8         android:layout_width="match_parent"
  9         android:layout_height="100dp"
 10         >
 11         <TextView
 12             android:layout_width="match_parent"
 13             android:layout_height="wrap_content"
 14             android:layout_gravity="center"
 15             android:text="00:00.0"
 16             android:gravity="center"
 17             android:id="@+id/timer"
 18             android:textSize="50sp"
 19             android:textColor="#03a9f4"
 20             android:textStyle="bold"/>
 21     </LinearLayout>
 22     <LinearLayout
 23         android:layout_width="match_parent"
 24         android:layout_height="400dp"
 25         android:orientation="vertical"
 26         android:focusable="true"
 27         android:focusableInTouchMode="true">
 28 
 29         <LinearLayout
 30             android:layout_width="match_parent"
 31             android:layout_height="0dp"
 32             android:layout_weight="1"
 33             android:background="#b06d15">
 34 
 35             <TextView
 36                 android:id="@+id/question_1"
 37                 android:layout_width="180dp"
 38                 android:layout_height="match_parent"
 39                 android:layout_marginLeft="60dp"
 40                 android:gravity="center_vertical"
 41                 android:text="12/13-23/14="
 42                 android:textColor="#000000"
 43                 android:textSize="23sp"
 44                 android:textStyle="bold" />
 45 
 46             <EditText
 47                 android:id="@+id/answer_1"
 48                 android:layout_width="80dp"
 49                 android:layout_height="35dp"
 50                 android:layout_gravity="center"
 51                 android:background="@drawable/editsharp2"
 52                 android:gravity="center"
 53                 android:text=""
 54                 android:textColor="#000000"
 55                 android:textStyle="bold" />
 56 
 57             <ImageView
 58                 android:id="@+id/RW1"
 59                 android:layout_width="match_parent"
 60                 android:layout_height="wrap_content"
 61                 android:layout_gravity="center" />
 62 
 63         </LinearLayout>
 64 
 65         <LinearLayout
 66             android:layout_width="match_parent"
 67             android:layout_height="0dp"
 68             android:layout_weight="1">
 69             <TextView
 70                 android:id="@+id/question_2"
 71                 android:layout_width="180dp"
 72                 android:layout_height="match_parent"
 73                 android:layout_marginLeft="60dp"
 74                 android:gravity="center_vertical"
 75                 android:text="12/13-23/14="
 76                 android:textColor="#000000"
 77                 android:textStyle="bold"
 78                 android:textSize="23sp"/>
 79             <EditText
 80                 android:id="@+id/answer_2"
 81                 android:background="@drawable/editsharp2"
 82                 android:layout_width="80dp"
 83                 android:layout_height="35dp"
 84                 android:layout_gravity="center"
 85                 android:gravity="center"
 86                 android:textColor="#000000"
 87                 android:textStyle="bold"
 88                 android:text=""/>
 89             <ImageView
 90                 android:id="@+id/RW2"
 91                 android:layout_width="match_parent"
 92                 android:layout_height="wrap_content"
 93                 android:layout_gravity="center"/>
 94 
 95         </LinearLayout>
 96         <LinearLayout
 97             android:layout_width="match_parent"
 98             android:layout_height="0dp"
 99             android:layout_weight="1"
100             android:background="#b06d15">
101             <TextView
102                 android:id="@+id/question_3"
103                 android:layout_width="180dp"
104                 android:layout_height="match_parent"
105                 android:layout_marginLeft="60dp"
106                 android:gravity="center_vertical"
107                 android:text="12/13-23/14="
108                 android:textColor="#000000"
109                 android:textStyle="bold"
110                 android:textSize="23sp"/>
111             <EditText
112                 android:id="@+id/answer_3"
113                 android:background="@drawable/editsharp2"
114                 android:layout_width="80dp"
115                 android:layout_height="35dp"
116                 android:layout_gravity="center"
117                 android:gravity="center"
118                 android:textColor="#000000"
119                 android:textStyle="bold"
120                 android:text=""/>
121             <ImageView
122                 android:id="@+id/RW3"
123                 android:layout_width="match_parent"
124                 android:layout_height="wrap_content"
125                 android:layout_gravity="center"/>
126 
127         </LinearLayout>
128 
129         <LinearLayout
130             android:layout_width="match_parent"
131             android:layout_height="0dp"
132             android:layout_weight="1">
133 
134             <TextView
135                 android:id="@+id/question_4"
136                 android:layout_width="180dp"
137                 android:layout_height="match_parent"
138                 android:layout_marginLeft="60dp"
139                 android:gravity="center_vertical"
140                 android:text="12/13-23/14="
141                 android:textColor="#000000"
142                 android:textSize="23sp"
143                 android:textStyle="bold" />
144 
145             <EditText
146                 android:id="@+id/answer_4"
147                 android:layout_width="80dp"
148                 android:layout_height="35dp"
149                 android:layout_gravity="center"
150                 android:background="@drawable/editsharp2"
151                 android:gravity="center"
152                 android:text=""
153                 android:textColor="#000000"
154                 android:textStyle="bold" />
155 
156             <ImageView
157                 android:id="@+id/RW4"
158                 android:layout_width="match_parent"
159                 android:layout_height="wrap_content"
160                 android:layout_gravity="center" />
161 
162         </LinearLayout>
163 
164         <LinearLayout
165             android:layout_width="match_parent"
166             android:layout_height="0dp"
167             android:layout_weight="1"
168             android:background="#b06d15">
169             <TextView
170                 android:id="@+id/question_5"
171                 android:layout_width="180dp"
172                 android:layout_height="match_parent"
173                 android:layout_marginLeft="60dp"
174                 android:gravity="center_vertical"
175                 android:text="12/13-23/14="
176                 android:textColor="#000000"
177                 android:textStyle="bold"
178                 android:textSize="23sp"/>
179             <EditText
180                 android:id="@+id/answer_5"
181                 android:background="@drawable/editsharp2"
182                 android:layout_width="80dp"
183                 android:layout_height="35dp"
184                 android:layout_gravity="center"
185                 android:gravity="center"
186                 android:textColor="#000000"
187                 android:textStyle="bold"
188                 android:text=""/>
189             <ImageView
190                 android:id="@+id/RW5"
191                 android:layout_width="match_parent"
192                 android:layout_height="wrap_content"
193                 android:layout_gravity="center"/>
194 
195         </LinearLayout>
196         <LinearLayout
197             android:layout_width="match_parent"
198             android:layout_height="0dp"
199             android:layout_weight="1">
200             <TextView
201                 android:id="@+id/question_6"
202                 android:layout_width="180dp"
203                 android:layout_height="match_parent"
204                 android:layout_marginLeft="60dp"
205                 android:gravity="center_vertical"
206                 android:text="12/13-23/14="
207                 android:textColor="#000000"
208                 android:textStyle="bold"
209                 android:textSize="23sp"/>
210             <EditText
211                 android:id="@+id/answer_6"
212                 android:background="@drawable/editsharp2"
213                 android:layout_width="80dp"
214                 android:layout_height="35dp"
215                 android:layout_gravity="center"
216                 android:gravity="center"
217                 android:textColor="#000000"
218                 android:textStyle="bold"
219                 android:text=""/>
220             <ImageView
221                 android:id="@+id/RW6"
222                 android:layout_width="match_parent"
223                 android:layout_height="wrap_content"
224                 android:layout_gravity="center"/>
225 
226         </LinearLayout>
227         <LinearLayout
228             android:layout_width="match_parent"
229             android:layout_height="0dp"
230             android:layout_weight="1"
231             android:background="#b06d15">
232             <TextView
233                 android:id="@+id/question_7"
234                 android:layout_width="180dp"
235                 android:layout_height="match_parent"
236                 android:layout_marginLeft="60dp"
237                 android:gravity="center_vertical"
238                 android:text="12/13-23/14="
239                 android:textColor="#000000"
240                 android:textStyle="bold"
241                 android:textSize="23sp"/>
242             <EditText
243                 android:id="@+id/answer_7"
244                 android:background="@drawable/editsharp2"
245                 android:layout_width="80dp"
246                 android:layout_height="35dp"
247                 android:layout_gravity="center"
248                 android:gravity="center"
249                 android:textColor="#000000"
250                 android:textStyle="bold"
251                 android:text=""/>
252             <ImageView
253                 android:id="@+id/RW7"
254                 android:layout_width="match_parent"
255                 android:layout_height="wrap_content"
256                 android:layout_gravity="center"/>
257 
258         </LinearLayout>
259         <LinearLayout
260             android:layout_width="match_parent"
261             android:layout_height="0dp"
262             android:layout_weight="1">
263             <TextView
264                 android:id="@+id/question_8"
265                 android:layout_width="180dp"
266                 android:layout_height="match_parent"
267                 android:layout_marginLeft="60dp"
268                 android:gravity="center_vertical"
269                 android:text="12/13-23/14="
270                 android:textColor="#000000"
271                 android:textStyle="bold"
272                 android:textSize="23sp"/>
273             <EditText
274                 android:id="@+id/answer_8"
275                 android:background="@drawable/editsharp2"
276                 android:layout_width="80dp"
277                 android:layout_height="35dp"
278                 android:layout_gravity="center"
279                 android:gravity="center"
280                 android:textColor="#000000"
281                 android:textStyle="bold"
282                 android:text=""/>
283             <ImageView
284                 android:id="@+id/RW8"
285                 android:layout_width="match_parent"
286                 android:layout_height="wrap_content"
287                 android:layout_gravity="center"/>
288 
289         </LinearLayout>
290         <LinearLayout
291             android:layout_width="match_parent"
292             android:layout_height="0dp"
293             android:layout_weight="1"
294             android:background="#b06d15">
295             <TextView
296                 android:id="@+id/question_9"
297                 android:layout_width="180dp"
298                 android:layout_height="match_parent"
299                 android:layout_marginLeft="60dp"
300                 android:gravity="center_vertical"
301                 android:text="12/13-23/14="
302                 android:textColor="#000000"
303                 android:textStyle="bold"
304                 android:textSize="23sp"/>
305 
306             <EditText
307                 android:id="@+id/answer_9"
308                 android:layout_width="80dp"
309                 android:layout_height="35dp"
310                 android:layout_gravity="center"
311                 android:background="@drawable/editsharp2"
312                 android:gravity="center"
313                 android:text=""
314                 android:textColor="#000000"
315                 android:textStyle="bold" />
316             <ImageView
317                 android:id="@+id/RW9"
318                 android:layout_width="match_parent"
319                 android:layout_height="wrap_content"
320                 android:layout_gravity="center"/>
321 
322         </LinearLayout>
323         <LinearLayout
324             android:layout_width="match_parent"
325             android:layout_height="0dp"
326             android:layout_weight="1">
327 
328             <TextView
329                 android:id="@+id/question_10"
330                 android:layout_width="180dp"
331                 android:layout_height="match_parent"
332                 android:layout_marginLeft="60dp"
333                 android:gravity="center_vertical"
334                 android:text="12/13-23/14="
335                 android:textColor="#000000"
336                 android:textSize="23sp"
337                 android:textStyle="bold" />
338 
339             <EditText
340                 android:id="@+id/answer_10"
341                 android:layout_width="80dp"
342                 android:layout_height="35dp"
343                 android:layout_gravity="center"
344                 android:background="@drawable/editsharp2"
345                 android:gravity="center"
346                 android:text=""
347                 android:textColor="#000000"
348                 android:textStyle="bold" />
349 
350             <ImageView
351                 android:id="@+id/RW10"
352                 android:layout_width="match_parent"
353                 android:layout_height="wrap_content"
354                 android:layout_gravity="center"/>
355 
356         </LinearLayout>
357         <LinearLayout
358             android:layout_width="match_parent"
359             android:layout_height="10dp"
360             android:background="#b06d15">
361 
362         </LinearLayout>
363     </LinearLayout>
364 
365     <LinearLayout
366         android:layout_width="match_parent"
367         android:layout_height="match_parent">
368         <TextView
369             android:id="@+id/right_percent"
370             android:layout_width="wrap_content"
371             android:layout_height="match_parent"
372             android:layout_marginLeft="30dp"
373             android:layout_gravity="center"
374             android:gravity="center"
375             android:text="                             "
376             android:textStyle="bold"
377             android:textSize="20sp"
378             android:textColor="#000000"/>
379         <Button
380             android:id="@+id/finish"
381             android:layout_width="100dp"
382             android:layout_height="50dp"
383             android:layout_gravity="center"
384             android:layout_marginLeft="70dp"
385             android:background="@drawable/buttonsharp"
386             android:gravity="center"
387             android:text="答完了"
388             android:textColor="#FFFFFF"
389             android:textStyle="bold" />
390 
391     </LinearLayout>
392 </LinearLayout>

2.生成题目的功能实现以及正误判断的功能实现

  1 package com.example.hh.myapplication;
  2 
  3 import android.content.SharedPreferences;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.os.Bundle;
  6 import android.view.View;
  7 import android.widget.Button;
  8 import android.widget.EditText;
  9 import android.widget.ImageView;
 10 import android.widget.TextView;
 11 import android.os.Handler;
 12 
 13 
 14 public class QuestionAcitvity extends AppCompatActivity {
 15     private TextView tvRight_percent;
 16     private TextView Tquestion_1;
 17     private TextView Tquestion_2;
 18     private TextView Tquestion_3;
 19     private TextView Tquestion_4;
 20     private TextView Tquestion_5;
 21     private TextView Tquestion_6;
 22     private TextView Tquestion_7;
 23     private TextView Tquestion_8;
 24     private TextView Tquestion_9;
 25     private TextView Tquestion_10;
 26     private EditText Eanswer_1;
 27     private EditText Eanswer_2;
 28     private EditText Eanswer_3;
 29     private EditText Eanswer_4;
 30     private EditText Eanswer_5;
 31     private EditText Eanswer_6;
 32     private EditText Eanswer_7;
 33     private EditText Eanswer_8;
 34     private EditText Eanswer_9;
 35     private EditText Eanswer_10;
 36     private Button Bfinish;
 37     private ImageView IRW_1=null;
 38     private ImageView IRW_2=null;
 39     private ImageView IRW_3=null;
 40     private ImageView IRW_4=null;
 41     private ImageView IRW_5=null;
 42     private ImageView IRW_6=null;
 43     private ImageView IRW_7=null;
 44     private ImageView IRW_8=null;
 45     private ImageView IRW_9=null;
 46     private ImageView IRW_10=null;
 47 
 48     int[] image={
 49             R.drawable.error_symbol,
 50             R.drawable.right_symbol
 51     };
 52     public double rightNum;
 53     public static TextView tvTimer;
 54     private double Time=0;
 55     private int Time_minute=0;
 56     private final Handler handler=new Handler();
 57 
 58     private final Runnable update_thread = new Runnable() {
 59         @Override
 60         public void run() {
 61             Time++;
 62             if(Time_minute==0){
 63                 if(Time<100){
 64                     tvTimer.setText("00:0"+Time/10);
 65                 }
 66                 else
 67                 tvTimer.setText("00:"+Time/10);
 68                 if(Time==600){
 69                     Time_minute++;
 70                     Time=0;
 71                 }
 72             }
 73             if(Time_minute>0&&Time_minute<10){
 74                 if(Time<100){
 75                     tvTimer.setText("0"+Time_minute+":0"+Time/10);
 76                 }
 77                 else
 78                 tvTimer.setText("0"+Time_minute+":"+Time/10);
 79                 if(Time==600){
 80                     Time_minute++;
 81                     Time=0;
 82                 }
 83             }
 84             if(Time_minute<60&&Time_minute>=10){
 85                 if(Time<100){
 86                     tvTimer.setText(Time_minute+":0"+Time/10);
 87                 }
 88                 else
 89                 tvTimer.setText(Time_minute+":"+Time/10);
 90                 if(Time==600){
 91                     Time_minute++;
 92                     Time=0;
 93                 }
 94             }
 95             if(Time_minute==60){
 96                 tvTimer.setText("别做了,洗洗睡吧");
 97             }
 98 
 99             handler.postDelayed(update_thread, 100);
100         }
101     };
102 
103 
104 
105 
106     @Override
107     protected void onCreate(Bundle savedInstanceState) {
108         super.onCreate(savedInstanceState);
109         setContentView(R.layout.question_print);
110         final QA_List List=new QA_List(1);
111         tvTimer=(TextView)findViewById(R.id.timer);
112         tvRight_percent=(TextView)findViewById(R.id.right_percent);
113         Tquestion_1=(TextView)findViewById(R.id.question_1);
114         Tquestion_2=(TextView)findViewById(R.id.question_2);
115         Tquestion_3=(TextView)findViewById(R.id.question_3);
116         Tquestion_4=(TextView)findViewById(R.id.question_4);
117         Tquestion_5=(TextView)findViewById(R.id.question_5);
118         Tquestion_6=(TextView)findViewById(R.id.question_6);
119         Tquestion_7=(TextView)findViewById(R.id.question_7);
120         Tquestion_8=(TextView)findViewById(R.id.question_8);
121         Tquestion_9=(TextView)findViewById(R.id.question_9);
122         Tquestion_10=(TextView)findViewById(R.id.question_10);
123         Eanswer_1=(EditText)findViewById(R.id.answer_1);
124         Eanswer_2=(EditText)findViewById(R.id.answer_2);
125         Eanswer_3=(EditText)findViewById(R.id.answer_3);
126         Eanswer_4=(EditText)findViewById(R.id.answer_4);
127         Eanswer_5=(EditText)findViewById(R.id.answer_5);
128         Eanswer_6=(EditText)findViewById(R.id.answer_6);
129         Eanswer_7=(EditText)findViewById(R.id.answer_7);
130         Eanswer_8=(EditText)findViewById(R.id.answer_8);
131         Eanswer_9=(EditText)findViewById(R.id.answer_9);
132         Eanswer_10=(EditText)findViewById(R.id.answer_10);
133         IRW_1=(ImageView)findViewById(R.id.RW1);
134         IRW_2=(ImageView)findViewById(R.id.RW2);
135         IRW_3=(ImageView)findViewById(R.id.RW3);
136         IRW_4=(ImageView)findViewById(R.id.RW4);
137         IRW_5=(ImageView)findViewById(R.id.RW5);
138         IRW_6=(ImageView)findViewById(R.id.RW6);
139         IRW_7=(ImageView)findViewById(R.id.RW7);
140         IRW_8=(ImageView)findViewById(R.id.RW8);
141         IRW_9=(ImageView)findViewById(R.id.RW9);
142         IRW_10=(ImageView)findViewById(R.id.RW10);
143         Bfinish=(Button)findViewById(R.id.finish);
144         Tquestion_1.setText(List.Qusetion.get(0));
145         Tquestion_2.setText(List.Qusetion.get(1));
146         Tquestion_3.setText(List.Qusetion.get(2));
147         Tquestion_4.setText(List.Qusetion.get(3));
148         Tquestion_5.setText(List.Qusetion.get(4));
149         Tquestion_6.setText(List.Qusetion.get(5));
150         Tquestion_7.setText(List.Qusetion.get(6));
151         Tquestion_8.setText(List.Qusetion.get(7));
152         Tquestion_9.setText(List.Qusetion.get(8));
153         Tquestion_10.setText(List.Qusetion.get(9));
154 
155         Eanswer_1.setOnFocusChangeListener(new View.OnFocusChangeListener(){
156             public void onFocusChange (View v, boolean hasFocus) {
157                 if(hasFocus) {
158                 }
159                 else {
160                     if(Eanswer_1.getText().toString().equals(List.Answer.get(0)))
161                     {
162                         IRW_1.setImageDrawable(getResources().getDrawable(image[1]));
163                         rightNum++;
164                     }
165 
166                     else
167                         IRW_1.setImageDrawable(getResources().getDrawable(image[0]));
168                     Eanswer_1.setOnFocusChangeListener(null);
169                     Eanswer_1.setKeyListener(null);
170                 }
171             }
172         });
173         Eanswer_2.setOnFocusChangeListener(new View.OnFocusChangeListener(){
174             public void onFocusChange (View v, boolean hasFocus) {
175                 if(hasFocus) {
176                 }
177                 else {
178                     if(Eanswer_2.getText().toString().equals(List.Answer.get(1)))
179                     {
180                         IRW_2.setImageDrawable(getResources().getDrawable(image[1]));
181                         rightNum++;
182                     }
183                     else
184                         IRW_2.setImageDrawable(getResources().getDrawable(image[0]));
185                     Eanswer_2.setOnFocusChangeListener(null);
186                     Eanswer_2.setKeyListener(null);
187                 }
188             }
189         });
190         Eanswer_3.setOnFocusChangeListener(new View.OnFocusChangeListener(){
191             public void onFocusChange (View v, boolean hasFocus) {
192                 if(hasFocus) {
193                 }
194                 else {
195                     if(Eanswer_3.getText().toString().equals(List.Answer.get(2)))
196                     {
197                         IRW_3.setImageDrawable(getResources().getDrawable(image[1]));
198                         rightNum++;
199                     }
200                     else
201                         IRW_3.setImageDrawable(getResources().getDrawable(image[0]));
202                     Eanswer_3.setOnFocusChangeListener(null);
203                     Eanswer_3.setKeyListener(null);
204                 }
205             }
206         });
207         Eanswer_4.setOnFocusChangeListener(new View.OnFocusChangeListener(){
208             public void onFocusChange (View v, boolean hasFocus) {
209                 if(hasFocus) {
210                 }
211                 else {
212                     if(Eanswer_4.getText().toString().equals(List.Answer.get(3)))
213                     {
214                         IRW_4.setImageDrawable(getResources().getDrawable(image[1]));
215                         rightNum++;
216                     }
217                     else
218                         IRW_4.setImageDrawable(getResources().getDrawable(image[0]));
219                     Eanswer_4.setOnFocusChangeListener(null);
220                     Eanswer_4.setKeyListener(null);
221                 }
222             }
223         });
224         Eanswer_5.setOnFocusChangeListener(new View.OnFocusChangeListener(){
225             public void onFocusChange (View v, boolean hasFocus) {
226                 if(hasFocus) {
227                 }
228                 else {
229                     if(Eanswer_5.getText().toString().equals(List.Answer.get(4)))
230                     {
231                         IRW_5.setImageDrawable(getResources().getDrawable(image[1]));
232                         rightNum++;
233                     }
234                     else
235                         IRW_5.setImageDrawable(getResources().getDrawable(image[0]));
236                     Eanswer_5.setOnFocusChangeListener(null);
237                     Eanswer_5.setKeyListener(null);
238                 }
239             }
240         });
241         Eanswer_6.setOnFocusChangeListener(new View.OnFocusChangeListener(){
242             public void onFocusChange (View v, boolean hasFocus) {
243                 if(hasFocus) {
244                 }
245                 else {
246                     if(Eanswer_6.getText().toString().equals(List.Answer.get(5)))
247                     {
248                         IRW_6.setImageDrawable(getResources().getDrawable(image[1]));
249                         rightNum++;
250                     }
251                     else
252                         IRW_6.setImageDrawable(getResources().getDrawable(image[0]));
253                     Eanswer_6.setOnFocusChangeListener(null);
254                     Eanswer_6.setKeyListener(null);
255                 }
256             }
257         });
258         Eanswer_7.setOnFocusChangeListener(new View.OnFocusChangeListener(){
259             public void onFocusChange (View v, boolean hasFocus) {
260                 if(hasFocus) {
261                 }
262                 else {
263                     if(Eanswer_7.getText().toString().equals(List.Answer.get(6)))
264                     {
265                         IRW_7.setImageDrawable(getResources().getDrawable(image[1]));
266                         rightNum++;
267                     }
268                     else
269                         IRW_7.setImageDrawable(getResources().getDrawable(image[0]));
270                     Eanswer_7.setOnFocusChangeListener(null);
271                     Eanswer_7.setKeyListener(null);
272                 }
273             }
274         });
275         Eanswer_8.setOnFocusChangeListener(new View.OnFocusChangeListener(){
276             public void onFocusChange (View v, boolean hasFocus) {
277                 if(hasFocus) {
278                 }
279                 else {
280                     if(Eanswer_8.getText().toString().equals(List.Answer.get(7)))
281                     {
282                         IRW_8.setImageDrawable(getResources().getDrawable(image[1]));
283                         rightNum++;
284                     }
285                     else
286                         IRW_8.setImageDrawable(getResources().getDrawable(image[0]));
287                     Eanswer_8.setOnFocusChangeListener(null);
288                     Eanswer_8.setKeyListener(null);
289                 }
290             }
291         });
292         Eanswer_9.setOnFocusChangeListener(new View.OnFocusChangeListener(){
293             public void onFocusChange (View v, boolean hasFocus) {
294                 if(hasFocus) {
295                 }
296                 else {
297                     if(Eanswer_9.getText().toString().equals(List.Answer.get(8)))
298                     {
299                         IRW_9.setImageDrawable(getResources().getDrawable(image[1]));
300                         rightNum++;
301                     }
302                     else
303                         IRW_9.setImageDrawable(getResources().getDrawable(image[0]));
304                     Eanswer_9.setOnFocusChangeListener(null);
305                     Eanswer_9.setKeyListener(null);
306                 }
307             }
308         });
309         Eanswer_10.setOnFocusChangeListener(new View.OnFocusChangeListener(){
310             public void onFocusChange (View v, boolean hasFocus) {
311                 if(hasFocus) {
312                     //if()
313                 }
314                 else {
315                     if(Eanswer_10.getText().toString().equals(List.Answer.get(9)))
316                     {
317                         IRW_10.setImageDrawable(getResources().getDrawable(image[1]));
318                         rightNum++;
319                     }
320                     else
321                         IRW_10.setImageDrawable(getResources().getDrawable(image[0]));
322                     Eanswer_10.setOnFocusChangeListener(null);
323                     Eanswer_10.setKeyListener(null);
324                 }
325             }
326         });
327         handler.post(update_thread);
328         Bfinish.setOnClickListener(new View.OnClickListener(){
329             public void onClick(View v){
330                 handler.removeCallbacks(update_thread);
331                 tvRight_percent.setText("正确率:"+rightNum/10*100+"%");
332                 SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
333                 editor.putString("one",List.Qusetion.get(0));
334                 editor.apply();
335 
336             }
337         });
338 
339 
340 
341 
342     }
343 }

五、软件的最新进展和运行截图

  今日我们的团队完成了基本的GUI界面、计时功能以及题目的生成功能。

 

 

 

六、今日小结

  1. 团队作业和前面个人作业不同的是需要全体成员共同努力完成目标,由于前期的不适应,所以第一天冲刺效果不怎么理想。
  2. 虽然此次任务时间较为紧迫,但每个组员都认真对待,相信冲刺结束以后会给出满意的答卷。
  3. 今天主要任务是手机客户端的GUI实现和题目的生成,由于组员在此前没有相关的经验,所以花了较多的时间在手机客户端的实现上。
  4. 团队协作需要每一个成员都用心对待,齐心协力一定能完成我们的目标!

 

冲刺第二天

 

一、Daily Scrum Meeting照片

 

 

 

二、每个人的工作

 

1.今天计划完成的任务

   判断对错功能, 计算正确率功能。

2.工作中遇到的困难

   在显示对错方面不知用什么方式表达较好,经测试和调试以后决定使用“√”“×”图片。

三、发布项目燃尽图

 

 

 

四、代码签入

  代码git链接: https://git.coding.net/NianQiFeng/szys.git

五、软件的最新进展和运行截图

 

 

六、今日小结

  1. 经过了第一天的磨合,我们以及慢慢适应团队冲刺的节奏
  2. 今天主要任务是判断对错以及计算正确率,由于我们之前有过相关的程序作业,今天并没有在这个上面纠结太久。
  3. 在分配任务中应该考虑每个成员所擅长的领域,以及协调好大家的时间,做到效率最大化。

 

 

 

冲刺第三天

 

一、Daily Scrum Meeting照片

 

 

 

二、每个人的工作

1.今天计划完成的任务

   a.对程序进行改进,使其实现用户输入生成题目的功能

   b.对程序界面进行重新设计.

   c.设置APP的内置数据库,用来保存错题.

2.工作中遇到的困难

   a.由于刚开始没有用户输入需求题目数的功能,所以,对以后的题目生成功能要有改变,可能需要分页显示,所以要对界面进行重新设计.

   b.因为我们不太了解如何设置APP的内置数据库,所以需要查找一些参考资料在进行实验,困难比较大.

三、发布项目燃尽图

 

 

四、代码签入

  代码git链接: https://git.coding.net/NianQiFeng/szys.git

五、软件的最新进展和运行截图

 

 

六、今日小结

  1. 今天,在我们小组成员讨论过程中发现了一个问题,就是我们设计的软件忘记了用户输入出题数的功能,所以我们今天不仅对程序进行了改进,还对界面进行了重新设计,来满足程序的需求。

  2. 今天主要任务是改进程序,实现用户输入需求题目数的功能以及APP的内置数据库,由于我们之前有过相关的程序作业,对用户输入功能并没有太大困难,主要是设置APP内置数据库用来保存错题花费我们较长时间。

  3. 每天团队成员之间进行讨论还是很有必要的,通过多人的讨论,能够及时发现我们自己在编程时忽略的问题,及时改正,而不是到最后的时候才发现,如果我们到最后才发现的话,那时我们重新设计需求的工作量就会很多。

 

 

冲刺第四天

一、Daily Scrum Meeting照片

 

 

二、每个人的工作

 

1.今天计划完成的任务

  

   a.本来我们的四则运算自动生成器输入生成的题目数量是1~10,我们觉得太少,想扩展到1~100题;

   b.昨天的时候已经把数据库搭建起来了,但是还没有把数据库和保存错题的机制联系起来,今天希望能够把错的题目保存到我们搭建的这个数据库里面;

   c.能够初步完成“错题吧”模块,即点击“错题吧”中的复习功能,所有生成的题目就都是之前做过但是做错的题目。

 

2.小组内的分工

 

   a.余洋(031)和潘志坚(044)两位组员继续进行需求调研,把我们昨天完善的安卓apk安装包推荐给家里有弟弟妹妹在上小学的同学或者小学数学老师使用,让他们给我们提建议,看看还有哪些功能需要调整和完善;

   b.邱文鑫(043)和念其锋(045)两位组员对昨日的调研结果进行调整,即把自动生成1~10题的功能扩展到自动生成1~100题,然后将保存错题的文档导入到我们搭建的数据库当中;

   c.林青(047)和黄子敬(052)两位组员负责研究如何在点击复习之后,生成题目的时候能够定位到数据库里我们存储错题的那个文档当中,即生成的题目都是之前做错的题目。

 

2.工作中遇到的困难

 

   a.在生成题目的过程中,如果用户需要生成的题目数量较大时,偶尔会出现生成重复题目的情况。这个情况不在我们的意料之中,所以比较懵逼。百度上也没有找到类似问题的解决方法,最后我们FQ在谷歌上面进行搜索,终于在YouTube上面找到解决类似问题的视频;

 

   b.在生成题目数量比较多的时候,需要滚动屏幕才能看到下面的题目,但我们在测试的时候发现我们把最前面的几题的答案输入到方框之后,它先会判断正误,但是当我们往下滚动几页之后,上面的那些结果会消失,目前我们还没找到问题出在哪里,所以还没解决。而且这个问题不在我们的预料之内,因此打乱了我们今天的工作安排,导致大家都一起在讨论解决这个问题而落下了原本需要完成的工作。

 

三、发布项目燃尽图

 

 

 

四、代码签入

 

  代码git链接: https://git.coding.net/NianQiFeng/szys.git

 

五、软件的最新进展和运行截图

 

 

 

 

 

六、今日小结

       1.今天我们是在昨天调研的基础上继续完善我们的功能,用户提出说最多只能生成十道题是远远不够的,所以我们考虑到了要提高这项功能,我们想把这个生成题目的上限提高到100道。但是改善这个功能并没有我们想的那么简答,并不像之前写C语言的时候只需要把n的值置为100即可,这次的修改可以说是牵一发而动全身,需要改的东西特别多,界面也要做相应的修改。刚开始的时候我们也没有什么思路,在百度上查找资料也没有找到类似的,最后FQ之后在YouTube上面才发现一个类似的指导视频,我们也不断摸石头过河,费了很大的劲才解决这个问题;

       2.在我们调整了题目数量之后,又出现了新的问题。就是当生成的题目数量比较多的时候,例如需要生成手机屏幕5页的四则运算题目,而当我们输入第一页的答案之后,继续做后几页的题目的时候,返回第一页时就发现刚刚在第一页输入的答案已经不见了,第一页的答案框又变成了空白的。这个问题给我们小组造成了很大的困扰,不仅到现在还没有解决,还打乱了今天原本的计划,导致今天的计划只完成了一半,所以后面需要再加把劲,把今天落下的半天补充回来。

 

冲刺第五天

 

一、Daily Scrum Meeting照片

 

二、每个人的工作

 

1.今天计划完成的任务

      a.继续对数据库进行改进,使得能够链接到错题库。

      b.解决填答案时,滑动和到一定时间会使得答案消失的问题

      c.解决提交完答案的时候,答案消失的问题

 

2.工作中遇到的困难

   a.因为我们不太了解如何设置APP的内置数据库,所以需要查找一些参考资料在进行实验,困难比较大.即使内部数据库已经创建成功,但是无法连接到错题库,所以数据库方面卡了很久都没办法解决。

  b.对于app的开发,毕竟大家都没有基础,都是重新学起的,所以,在软件的开发过程中,很多问题需要花很多时间去解决,严重拖慢了进度。

三、发布项目燃尽图

 

 

 

四、代码签入

  代码git链接: https://git.coding.net/NianQiFeng/szys.git

五、软件的最新进展和运行截图

 

 

六、  今日小结

  1. 今天有一个主要内容就是对于数据库的改进,这方面基础薄弱,所以原定昨天就解决的连接数据库问题一直没能解决,毕竟原本设想的太过于简单,原以为只需要创建起数据库然后存储做错的题目即可,但是后面发现并没有那么轻松,毕竟把数据库和app结合在一起是一个大的难点。
  2. 今天解决的第二个问题就是,对于出题做题界面的改进,原本会出现滑动和时间导致原本输入和存储的数据丢失的bug,也是团队查阅了很多资料,才得以解决。
  3. 经过实践,发现团队的配合确实是很关键的,一个人的力量终究有限,但是当一群人聚在一起互相探讨解决问题的时候,会发现其实很多问题都能迎刃而解,这就是团队的力量。

 

冲刺第六天

一、Daily Scrum Meeting照片

 

 

二、每个人的工作

1.今天计划完成的任务

   a. 实现错题储存功能

   b.修复出现的BUG

 

2.工作中遇到的困难

   a.用数据库存错题是开始只能实现一行存入,经查阅资料后可实现多行存入。

 

三、发布项目燃尽图

                       

四、代码签入

     代码git链接: https://git.coding.net/NianQiFeng/szys.git

 

五、软件的最新进展和运行截图

 

 

六、  今日小结

1.今日主要任务在于修复以前出现的BUG,使程序能更稳定的运行。每次修复都是一个学习的过程,在修复过程中可以让我们积累更多的经验。

2.在数据库的使用上还不够熟练,这方面技能需要提高。

 

冲刺第七天

一、Daily Scrum Meeting照片

 

 

 

二、每个人的工作

 

1.今天计划完成的任务

   

   a.我们在前几天从0~10题扩展到0~100题之后,我们还是不满足,我们希望可以把这款APP改成可以生成任意数目题量的APP,不论用户输入的数目是多少,系统都能生成相应数量的题目;

   b.昨天的时候已经把数据库和保存错题的机制联系起来了,点击“错题吧”模块就可以复习错题,今天希望能够把这个存储过程和调用数据库的过程再完善一下,尝试着优化代码,让生成错题的速度更快;

   c.逐步完善“错题吧”模块,我们希望生成错题的数量也可以是任意的,只要需要生成的题目数量小于或等于数据库内保存的错题数量,就可以生成任意数量的题目。

   d.我们希望制作一个弹窗,即当用户点击完成练习的时候,会弹出一个提示窗口,报告本次练习用户的成绩单,提醒用户本次练习过程的耗时、正确的题目数以及正确率。

 

2.小组内的分工

 

   a.余洋(031)和潘志坚(044)两位组员继续进行需求调研,把我们昨天完善的安卓apk安装包推荐给家里有弟弟妹妹在上小学的同学或者小学数学老师使用,让他们给我们提建议,看看还有哪些功能需要调整和完善;

   b.邱文鑫(043)把自动生成1~100题的功能再次扩展到可以生成任意数目的题量,然后对这个功能进行测试,看看到达多少题的时候系统是无法支持的;

   c.念其锋(045)负责制作用户答题结束时的弹窗,在用户点击“完成”按钮的时候,要立即弹出一个窗口,提醒用户本次训练的耗时、正确的题数以及正确率;

   d.林青(047)和黄子敬(052)两位组员负责继续优化“错题吧”模块,使得生成的错题数量也可以时任意的,同时对这个功能进行测试,看看达到多少题目时系统会崩掉。

 

2.工作中遇到的困难

 

   a.我们在进行测试这个软件的时候发现了一个不大不小的问题,我们发现当我们多次进行训练的时候,即完成每次训练之后没有退出APP而是继续进行下一轮训练时,计时器不会跟着重新启动,而是接着上一轮的时间接着往下走,这个问题可大可小,如果用户每次训练完都退出APP的话就不会有这个问题,但用户一旦连续使用时计时器就会故障。但是我们并不知道问题出在哪里,猜测可能是计时的结束语句存在问题,但是我们还不知道怎么去验证怎么去修改

 

   b.在生成错题的时候,我们的设想是希望生成的错题数量可以是任意的,只要小于或等于数据库里的错题数目即可。例如,如果我的错题文档里有1000道的错题,那生成错题的数量就可以是1~1000,但是我们在操作的过程出现了一个很诡异的问题,就是它可以自动生成的错题数量是随机的,比如我们在测试的时候先是查询了文档里的错题数量,是912道,但是自动生成是输入912系统会报错,输入500也会报错,最后我们发现200多一点点就是它的上限,给人一种是按比例生成的感觉,但是我们仍然还不清楚问题出在哪里,这一点可能还要下一步的完善。

 

三、发布项目燃尽图

 

四、代码签入

 

  代码git链接: https://git.coding.net/NianQiFeng/szys.git

 

五、软件的最新进展和运行截图

 

 

六、今日小结

       1.今天是我们第一阶段冲刺的最后一天,所以我们希望在最后一天能够多完成一些任务,多实现一些功能,所以我们在前一天的会议上就给自己提出了比之前几天都要大的任务量,希望能有个完美的结尾。大家也都做得比往常更卖力,但我们还是遇到了很棘手的问题,导致这七天计划完成的小卡片还有一个没有完成,大家还是有点失落的,雄心壮志想做好每一个环节但往往会有意想不到的bug出现打断我们的进度;

       2.虽然我们没有还剩一个卡片没有完成,但相对于我们在第一次冲刺开始前的计划来说,我们还是超额完成任务的。因为我们在每天完善功能之后,都会继续把完善好的APP发给一些朋友使用,让他们继续帮我们测试、提建议,所以我们的APP实际上是每一天都在进步的,而且很多完善的功能点是我们最开始没有想到的然后在做的过程中又慢慢摸索到的,这是我们本次冲刺最大的收获;

       3.本次冲刺我们团队已经基本上完成了最开始时设想的功能,出题、复习、计时功能都已经实现,同时还把原来限定的1~10以内的题目扩展到任意数量的题目。错题复习方面,即使还不能做到生成任意数目,但已经可以实现在200道题目以下的任意数目,这个对于实际使用中其实已经是够用的,但我们还是会继续完善。我们在用户调研的过程中还新增了弹窗提醒的功能,这可以帮助用户对自己的水平有更准确地定位。总而言之,我对我们团队第一次冲刺的成果非常满意,我们会继续努力的。

 

posted @ 2017-04-24 22:00  爸爸说的都队  阅读(497)  评论(8编辑  收藏  举报