OneZero第二周第三次站立会议(2016.3.30)
会议时间:2016年3月30日 13:00~13:20
会议成员:冉华,张敏,王巍,夏一鸣。
会议目的:汇报前一天工作,全体成员评论,确定会后修改内容或分配下一步任务。
会议内容:
1.前端,完成功能点为“将获取信息转化为中端所需格式”,“发送获取的信息给中端”。以下是代码部分
package com.onezero.account; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import com.onezero.account.controller.Account;
import com.onezero.account.controller.AccountManager;
import com.onezero.account.controller.AccountManagerImpl; import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; public class add extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_main);
// 显示当前时间
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy年MM月dd日 HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
String str = formatter.format(curDate); TextView mTime = (TextView) findViewById(R.id.mytime);
mTime.setText(str); // 实现事件类型选择,点击并改变显示。
final TextView accounttype = (TextView) findViewById(R.id.accounttype);
// 一般
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button1 = (Button) findViewById(R.id.button1);
accounttype.setText(button1.getText()); }
});
// 餐饮
Button button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button2 = (Button) findViewById(R.id.button2);
accounttype.setText(button2.getText()); }
}); // 购物
Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button3 = (Button) findViewById(R.id.button3);
accounttype.setText(button3.getText()); }
});
// 交通
Button button4 = (Button) findViewById(R.id.button4);
button4.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button4 = (Button) findViewById(R.id.button4);
accounttype.setText(button4.getText()); }
});
// 娱乐
Button button5 = (Button) findViewById(R.id.button5);
button5.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button5 = (Button) findViewById(R.id.button5);
accounttype.setText(button5.getText()); }
}); // 医疗
Button button6 = (Button) findViewById(R.id.button6);
button6.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button6 = (Button) findViewById(R.id.button6);
accounttype.setText(button6.getText()); }
}); Button button7 = (Button) findViewById(R.id.button7);
button7.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
OK(); }
}); } public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.add, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml. // 获取“录入”的返回键,并执行返回。
int id = item.getItemId();
if (id == R.id.action_add_back) { onBackPressed();
} return super.onOptionsItemSelected(item);
} // OK按钮
public void OK() { TextView mytime = (TextView) findViewById(R.id.mytime);
String text1 = mytime.getText().toString(); TextView accounttype = (TextView) findViewById(R.id.accounttype);
String text2 = accounttype.getText().toString(); EditText editText1 = (EditText) findViewById(R.id.editText1);
String text3 = editText1.getText().toString(); EditText editText2 = (EditText) findViewById(R.id.editText2);
String text4 = editText2.getText().toString(); if (text3.equals("")) { Log.e("$%^", "toast");
Toast toast = Toast.makeText(add.this, "请输入金额。",
Toast.LENGTH_SHORT);
toast.show();
} else if(text3.equals(".")||text3.substring(0, 1).equals("0")){ Toast toast = Toast.makeText(add.this, "输入有误,请重新输入。",
Toast.LENGTH_SHORT);
toast.show(); } else{ AccountManager accountManager = new AccountManagerImpl();
Account account = new Account();
account.setAccountId(1); try {
account.setAccountDate(new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").parse(text1));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} account.setAccountType(text2);
account.setAccountSum(text3);
accountManager.addAcount(account); onBackPressed();
} } }
add.java
2.中端,完成功能点为“接收前端发送的数据”,“发送数据给后端”,“提供查询接口”。以下是代码部分
package com.onezero.account; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import com.onezero.account.controller.Account;
import com.onezero.account.controller.AccountManager;
import com.onezero.account.controller.AccountManagerImpl; import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; public class add extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_main);
// 显示当前时间
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy年MM月dd日 HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
String str = formatter.format(curDate); TextView mTime = (TextView) findViewById(R.id.mytime);
mTime.setText(str); // 实现事件类型选择,点击并改变显示。
final TextView accounttype = (TextView) findViewById(R.id.accounttype);
// 一般
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button1 = (Button) findViewById(R.id.button1);
accounttype.setText(button1.getText()); }
});
// 餐饮
Button button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button2 = (Button) findViewById(R.id.button2);
accounttype.setText(button2.getText()); }
}); // 购物
Button button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button3 = (Button) findViewById(R.id.button3);
accounttype.setText(button3.getText()); }
});
// 交通
Button button4 = (Button) findViewById(R.id.button4);
button4.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button4 = (Button) findViewById(R.id.button4);
accounttype.setText(button4.getText()); }
});
// 娱乐
Button button5 = (Button) findViewById(R.id.button5);
button5.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button5 = (Button) findViewById(R.id.button5);
accounttype.setText(button5.getText()); }
}); // 医疗
Button button6 = (Button) findViewById(R.id.button6);
button6.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Button button6 = (Button) findViewById(R.id.button6);
accounttype.setText(button6.getText()); }
}); Button button7 = (Button) findViewById(R.id.button7);
button7.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
OK(); }
}); } public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.add, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml. // 获取“录入”的返回键,并执行返回。
int id = item.getItemId();
if (id == R.id.action_add_back) { onBackPressed();
} return super.onOptionsItemSelected(item);
} // OK按钮
public void OK() { TextView mytime = (TextView) findViewById(R.id.mytime);
String text1 = mytime.getText().toString(); TextView accounttype = (TextView) findViewById(R.id.accounttype);
String text2 = accounttype.getText().toString(); EditText editText1 = (EditText) findViewById(R.id.editText1);
String text3 = editText1.getText().toString(); EditText editText2 = (EditText) findViewById(R.id.editText2);
String text4 = editText2.getText().toString(); if (text3.equals("")) { Log.e("$%^", "toast");
Toast toast = Toast.makeText(add.this, "请输入金额。",
Toast.LENGTH_SHORT);
toast.show();
} else if(text3.equals(".")||text3.substring(0, 1).equals("0")){ Toast toast = Toast.makeText(add.this, "输入有误,请重新输入。",
Toast.LENGTH_SHORT);
toast.show(); } else{ AccountManager accountManager = new AccountManagerImpl();
Account account = new Account();
account.setAccountId(1); try {
account.setAccountDate(new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").parse(text1));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} account.setAccountType(text2);
account.setAccountSum(text3);
accountManager.addAcount(account); onBackPressed();
} } }
Account.java
package com.onezero.account.controller; import java.util.List; public interface AccountManager { /**
* 添加账本信息
*
* @param account 帐本信息
* @return true 添加成功 false:添加失败
*
*TODO: 需要确认添加失败是否抛出异常,给用户友好提示
*/
boolean addAcount(Account account); /**
* 查询全部账本信息,返回信息按时间降序排序
*
* @return 全部账本信息
*/
List<Account> queryAcount();
}
AccountManager.java
package com.onezero.account.controller; import java.util.Date;
import java.util.List;
import java.util.ArrayList;
public class AccountManagerImpl implements AccountManager{ /**
* 添加账本信息
*
* @param account 帐本信息
* @return true 添加成功 false:添加失败
*
*TODO: 需要确认添加失败是否抛出异常,给用户友好提示
*/
public boolean addAcount(Account account){
// TODO:调用数据库层
return true;
} /**
* 查询全部账本信息,返回信息按时间降序排序
*
* @return 全部账本信息
*/
public List<Account> queryAcount(){
List<Account> accountList = new ArrayList<Account>(); // TODO: 调用数据库层 (暂时写假的)
Account account = new Account();
account.setAccountId(1);
account.setAccountDate(new Date());
account.setAccountType("transportation");
account.setAccountSum("50"); accountList.add(account);
return accountList;
}
}
AccountManagerImpl.java
3.后端,完成功能点为“将获取的数据插入数据库”。
会议体会:昨天布置的任务大家都顺利完成,继续努力。以下是本周的燃尽图,我对昨天的燃尽图进行了修改。
以上是OneZero第二周第三次站立会议。
OneZero第二周第三次站立会议(2016.3.30)的更多相关文章
- OneZero第二周第四次站立会议(2016.3.31)
会议时间:2016年3月30日 13:00~13:20 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论,确定会后修改内容或分配下一步任务. 会议内容: 1.前端,夏.张 ...
- OneZero第二周第五次站立会议(2016.4.1)
会议时间:2016年4月1日 会议成员:冉华,张敏,夏一鸣.(王请假). 会议目的:汇报前一天工作,会议成员评论. 会议内容: 1.前端,由夏,张负责汇报,完成前端功能,待命. 2.数据逻辑控制,由王 ...
- OneZero第三周第三次站立会议(2016.4.6)
1. 时间: 13:05--13:15 共计10分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...
- OneZero第四周第三次站立会议(2016.4.13)
1. 时间: 15:15--15:30 共计15分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...
- OneZero第二周第二次站立会议(2016.3.29)
会议时间:2016年3月29日 13:05~13:16 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论,确定会后修改内容或分配下一步任务. 会议内容:以下是会议插图 1 ...
- OneZero第二周第一次站立会议(2016.3.28)
会议时间:2016年3月28日 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:分配第二周任务. 会议内容:由于老师要求4月1日进行Alpha发布,我们决定最优先完成消息录入功能.工作具体分配如下 1 ...
- OneZero第三次站立会议(2016.3.23)
会议时间:2016年3月23日 13:00~13:15 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论并修改. 会议内容:以下为会议插图 1.界面原型方面,夏在统计界面中 ...
- 《Spring1之第三次站立会议》
<第三次站立会议> 昨天:我对自己找到的代码进行了相关的了解后,把它们在编译环境中进行了编译以及接着对代码进行逐步深入了解: 今天:我把小组成员找到的写关于登录界面的代码加到了我的项目工程 ...
- 4月17日 (PS:由于时间问题,现在才发,望老师见谅)疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜
疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容: 组员依次汇报自己的工作进度,并且提出自己在进行任务的过程中遇到的问题,是否解决以及解决办法. 以下 ...
随机推荐
- Redis 4.x 安装及 发布/订阅实践和数据持久化设置
1.或者源码安装包 #wget http://download.redis.io/releases/redis-4.0.6.tar.gz 2.解压源码包 #tar -zxf redis-4.0.6.t ...
- leetcode 26—Remove Duplicates from Sorted Array
Given a sorted array nums, remove the duplicates in-place such that each element appear only once an ...
- Python2.7-canlendar
calendar模块的主要功能是针对万年历.星期几的,此外模块内还有方便的判断闰年.获取月份名.星期名的方法 1.模块的类 1.1.calendar.Calendar([firstweekday]) ...
- ZOJ3623:Battle Ships(全然背包)
Battle Ships is a new game which is similar to Star Craft. In this game, the enemy builds a defense ...
- 十万的License只取决于一个连接
前段时间看到一份代码,小规模.低难度的一个应用,MVC用到极致,业务逻辑却混成一团麻,应该是中了培训班的毒.现在的程序员,大多是没仔细读过<现代操作系统>,没看过编译原理,不知道堆与栈,没 ...
- 线程池原理及python实现
为什么需要线程池 目前的大多数网络服务器,包括Web服务器.Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短. 传统多线程方案中我们采 ...
- # 2017-2018-2 20155319『网络对抗技术』Exp6:信息收集与漏洞扫描
2017-2018-2 20155319『网络对抗技术』Exp6:信息收集与漏洞扫描 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.O ...
- SVD(奇异值分解)小结
注:奇异值分解在数据降维中有较多的应用,这里把它的原理简单总结一下,并且举一个图片压缩的例子,最后做一个简单的分析,希望能够给大家带来帮助. 1.特征值分解(EVD) 实对称矩阵 在理角奇异值分解之前 ...
- 阿里云代金券 - 双12疯了~~~ 4核8G 3M带宽只要1890元/3年
阿里云双12大促简直疯了,4核8G 3M带宽只要1890元/3年,比双11疯狂多了,双11没有上车的赶快来买吧!!! 前去阿里云双12活动页面 截图如下: 从截图中可以看出,不仅4核8G降到了地板,1 ...
- Linux中tty、pty、pts的概念区别 转载
基本概念: > tty(终端设备的统称): tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西 ...