Sprint 冲刺第三阶段第6-10天
这几天一直都在整理我们之前的内容,检查会不会有细节问题。例如界面跳转、颜色等。
因为一直没办法找到guitub存放位置。于是在这里存放一些主代码。
MainActivity.java
package com.example.brdemo; import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.widget.CursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity {
private Button btn1,btn2,btn3;
private EditText edname,edsecret;
Intent iguangs, iches;
SQLiteDatabase db; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.b1);// 注册
btn2 = (Button) findViewById(R.id.bt3);// 测试
btn3 = (Button) findViewById(R.id.b2);// 登录 edname = (EditText) findViewById(R.id.editname);
edsecret = (EditText) findViewById(R.id.editsecret); db=SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/mydb.db3", null);
// 注册
btn1.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
String title,content;
title=edname.getText().toString();
content=edsecret.getText().toString();
try {
insertData(db, title, content);
Cursor cursor=db.rawQuery("select * from myTable", null);
inflateList(cursor);
} catch (SQLiteException e) {
// TODO: handle exception
db.execSQL("create table myTable(_id integer"
+"primary key autonicrement,"
+"title varchar(50),"
+ "content varchar(255))");
insertData(db, title, content);
Cursor cursor=db.rawQuery("select * from myTable", null);
inflateList(cursor);
}
Toast.makeText(MainActivity.this, "用户"+edname.getText() +"注册成功", Toast.LENGTH_LONG).show();
iguangs = new Intent();
Bundle bundle = new Bundle();
iguangs.setClass(MainActivity.this, H.class);
bundle.putString("userName", edname.getText().toString());
bundle.putString("phoneNum", edsecret.getText().toString());
iguangs.putExtras(bundle);
// 启动Activity
startActivity(iguangs); } private void inflateList(Cursor cursor) {
// TODO Auto-generated method stub } private void insertData(SQLiteDatabase db, String title,
String content) {
// TODO Auto-generated method stub }
});
// 测试
btn2.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Uri uri = Uri.parse("http://open.taobao.com");
iches = new Intent(Intent.ACTION_VIEW, uri);
startActivity(iches);
}
});
// 登录
btn3.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
iguangs = new Intent();
Bundle bundle = new Bundle();
iguangs.setClass(MainActivity.this, H.class);
bundle.putString("userName", edname.getText().toString());
bundle.putString("phoneNum", edsecret.getText().toString()); Toast.makeText(MainActivity.this, "用户"+edname.getText() +"登录成功", Toast.LENGTH_LONG).show();
iguangs.putExtras(bundle);
// 启动Activity
startActivity(iguangs); }
}); } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater = new MenuInflater(this);
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
} private void insertData(SQLiteDatabase db,String title,String content) {
db.execSQL("insert into myTable values(null,?,?)",new String[]{title,content});
} private void inflateList(Cursor cursor) {
SimpleCursorAdapter simpleCursorAdapter=new SimpleCursorAdapter(MainActivity.this,
R.layout.activity_main, cursor, new String[]{"title","content"},
new int[]{R.id.editname,R.id.editsecret}, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); }
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if (db!=null &&db.isOpen()) {
db.close();
}
}
}
CheckActivity.java(四则运算的核心算法)
package com.example.brdemo; import java.util.Random; import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CheckActivity extends Activity {
public Button btn1, btn2;// 开始答题,退出
public Button btnbof, btnzant, btg, btd;// 播放,退出,高音量,低音量
private AudioManager am;// 音量调节定义
private EditText et1;
private EditText et2;
long startTime;
long endTime;
private TextView t11;
private TextView t4;
private TextView t2;
private TextView t3;
private TextView t1;
private TextView t5;
private TextView t6;
int ranswer = 0;
int uanswer = 0;
String str = "";
String z = "";
private boolean stop = false;
public int num = 5, T = 0, F = 0, count = 1, b = 0; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.szys);
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
// 最大音量
int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 当前音量
int currentVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC); btn1 = (Button) findViewById(R.id.bb1);// 开始答题
btn2 = (Button) findViewById(R.id.bb2);// 退出 et2 = (EditText) findViewById(R.id.editText2);
et1 = (EditText) findViewById(R.id.editText1);
t11 = (TextView) findViewById(R.id.t11);
t4 = (TextView) findViewById(R.id.textView4);
t6 = (TextView) findViewById(R.id.textView6);
t2 = (TextView) findViewById(R.id.textView12);
t5 = (TextView) findViewById(R.id.textView10);
t3 = (TextView) findViewById(R.id.textView7);
t1 = (TextView) findViewById(R.id.textView14); ActionBar actionBar = getActionBar();// 获取ActionBar对象
actionBar.setDisplayShowHomeEnabled(true);// 显示应用程序图标
actionBar.setDisplayHomeAsUpEnabled(true);// 将应用程序图标转变为可点击图标,并添加一个返回箭头。 // 播放按钮
btnbof = (Button) findViewById(R.id.btstart);
btnbof.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startService(new Intent(CheckActivity.this, MyService.class));
}
});
// 暂停按钮
btnzant = (Button) findViewById(R.id.btstop);
btnzant.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
stopService(new Intent(CheckActivity.this, MyService.class));
}
});
// 高音量
btg = (Button) findViewById(R.id.btgao);
btg.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
am.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
});
// 低音量
btd = (Button) findViewById(R.id.btdi);
btd.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
am.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
});
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
CheckActivity.this.finish(); }
}); btn2.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
CheckActivity.this.finish();
}
});
// 开始答题
btn1.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) { T = 0;
F = 0;
str = "";
z = "";
stop = false; try {
String bb = et1.getText().toString();
num = Integer.parseInt(bb);
if (num > 15) { t11.setText("输入题数错误,请重新输入!(1-15)");
et1.setText("");
} else {
startTime = System.currentTimeMillis();
t4.setText("" + T);
t2.setText("" + F);
t1.setText("" + b);
// btn.setVisible(false);
// et1.setEditable(false); showtext(); } } catch (NumberFormatException e1) {
t11.setText("输入题数错误,请重新输入!(1~15)");
et1.setText("");
} } }); et2.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) { try {
if (!stop) { String tt = et2.getText().toString();
uanswer = Integer.parseInt(tt);
;
if (num == count) {
if (uanswer == ranswer) {
t4.setText("" + ranswer);
t3.setText("答对!"); T++;
t6.setText("" + T);
b = (100 / num) * T;
t1.setText("" + b); if (b > 90) {
Intent intent = new Intent();
intent.setClass(CheckActivity.this,
Test1.class);
startActivity(intent);
CheckActivity.this.finish(); }
count++;
} else {
t4.setText("" + ranswer);
t3.setText("答错!");
F++;
t2.setText("" + F);
count++;
}
stop = true;
t3.setText(" 答題結束!");
endTime = System.currentTimeMillis();
// et2.setEditable(true);
// btn.setVisible(true);
t5.setText((endTime - startTime) / 1000 + "s"); } else if (uanswer == ranswer) {
t4.setText("" + ranswer);
t3.setText("答对!"); T++;
t6.setText("" + T);
b = (100 / num) * T;
t1.setText("" + b);
showtext();
if (b > 90) {
Intent intent = new Intent();
intent.setClass(CheckActivity.this, Test1.class);
startActivity(intent);
CheckActivity.this.finish(); }
count++; } else {
t4.setText("" + ranswer);
t3.setText("答错!");
F++;
t2.setText("" + F);
showtext();
count++;
}
}
} catch (NumberFormatException e2) {
t11.setText(str + "答案格式错误,请重新输入答案!");
et2.setText("");
} }
});
} void showtext() {
char op = '+';
int a = 0, b = 0, c = 0, e = 0, f = 0, opnum = 0, chioce = 0;
int temp = 0;
Random ra = new Random();
e = ra.nextInt(10) + 1;
f = ra.nextInt(10) + 1;
chioce = ra.nextInt(2) + 1;
if (e % 2 == 0) {
a = ra.nextInt(10) + 2;
} else {
a = -ra.nextInt(10) + 2;
}
if (f % 2 == 0) {
b = ra.nextInt(10) + 2;
} else {
b = -ra.nextInt(10) + 2;
}
c = ra.nextInt(5);
opnum = Math.abs(ra.nextInt()) % 4 + 1;
et2.setText("");
switch (chioce) {
case 1: {
switch (opnum) {
case 1:
op = '+';
break;
case 2:
op = '-';
break;
case 3:
op = '*';
break;
case 4:
op = '/';
break;
} if ((op == '-') && (a < b)) {
temp = a;
a = b;
b = temp;
} if (op == '/') {
if (b == 0) {
b = 1;
}
a = a * b;
}
if (a > 0 && b > 0) {
z = String.valueOf(a) + String.valueOf(op) + String.valueOf(b)
+ "=" + "\n";
} else if (a < 0 && b > 0) {
z = "(" + String.valueOf(a) + ")" + String.valueOf(op)
+ String.valueOf(b) + "=" + "\n";
} else if (a > 0 && b < 0) {
z = String.valueOf(a) + String.valueOf(op) + "("
+ String.valueOf(b) + ")" + "=" + "\n";
} else {
z = "(" + String.valueOf(a) + ")" + String.valueOf(op) + "("
+ String.valueOf(b) + ")" + "=" + "\n";
}
str = str + z;
t11.setText(str); switch (op) {
case '+':
ranswer = a + b;
break;
case '-':
ranswer = a - b;
break;
case '*':
ranswer = a * b;
break;
case '/':
ranswer = a / b;
break;
}
break;
}
case 2: {
int jc = 1;
str = str + String.valueOf(c) + "!=" + "\n";
t11.setText(str);
for (int i = c; i > 0; i--) {
jc = jc * i;
}
ranswer = jc;
break;
}
} } // 返回主菜单
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
// 创建启动MainActivity的Intent
Intent intent = new Intent();
intent.setClass(this, H.class);
// 添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
CheckActivity.this.finish();
break; default:
break;
}
return super.onOptionsItemSelected(item);
}
}
MyService.java(音乐的播放)
package com.example.brdemo; import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.util.Log; public class MyService extends Service {
//系统使用MediaPlayer播放音乐,定义对象mp
private MediaPlayer mey;
private String TAG="Main";
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
//初始化MediaPlayer对象,准备播放音乐,音乐文件放在文件夹/res/raw中
mey = MediaPlayer.create(MyService.this, R.raw.zhou);
Intent intent = new Intent();
intent.putExtra("control", 1);
sendBroadcast(intent);
mey.start();
Log.i(TAG, "MusicService onCreate被运行");
} @Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
//开始播放音乐
mey.start();
Log.i(TAG, "MusicService onStartCommand被运行");
return super.onStartCommand(intent, flags, startId); } @Override
public void onDestroy() {
super.onDestroy();
//停止播放音乐
mey.stop();
Log.i(TAG, "MusicService onDestroy被运行");
} }
Sprint 冲刺第三阶段第6-10天的更多相关文章
- Sprint 冲刺第三阶段第二天
陈汝婷:播放音乐 1:做播放音乐这个功能时开始没有考虑周全,使用 PS P出来的图竟然没有用上,耗时耗人工.吃一见长一智,以后要考虑周全.还要耗了那么久,音乐的初效果终于出来了. 2:昨天出现的问题, ...
- Sprint 冲刺第三阶段第3-5天 数据库代码
数据库代码: package com.example.brdemo; import android.app.Activity; import android.content.Intent; impor ...
- Sprint 冲刺第三阶段第3-5天
陈汝婷:数据库的实现 具体实现用户登录在数据库中查找,用户注册的时候可以将用户的具体信息存放于SD卡中.刚学Android的数据库的数据库,还有一些问题.所以这个问题一直拖了几天才解决.问老师问同学, ...
- Sprint 冲刺第三阶段第一天
1.今晚我在整理之前的代码,检查细节,然后发现游戏要返回上一界面竟然出现了问题“项目停止运行”,仔细检查没办法解决,后来百度可能是因为修改了之前文件的名字,可在AndroidManifest.xml中 ...
- 第三个sprint冲刺第三阶段
公测版:
- Bete冲刺第三阶段
Bete冲刺第三阶段 今日工作: web: 检索了各类资料,今日暂时顺利解决了hibernate懒加载异常的问题,采用的凡是也比较简单就是添加了一个OpenSessionInViewFilter的过滤 ...
- 第三个Sprint冲刺第三天
讨论地点:宿舍 讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:增强了界面的效果,改善了视角
- 第二个Sprint冲刺第三天
讨论地点:宿舍 讨论成员:邵家文.李新.朱浩龙.陈俊金 燃尽图: 待解决的问题: 需要将主界面重新布局,下面的是原始主界面: 想实现一个统计的功能,今天就完成了一个基本的布局: 开发感悟:爱在何方
- 第一个Sprint冲刺第三天
讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:如何将新学的技术应用于四则运算项目中 讨论地点:宿舍 进展:跟预期相差不远
随机推荐
- 【19】Linux系统知识点
一.积跬步以致千里,积怠情以致深渊 二.目录结构
- 【夯实PHP基础】微信小程序开发 2017.02.06
本文地址 分享提纲 1. 概述 2. 简易教程 1. 概述 1)[小程序是什么] 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 2)[快速体验 ...
- Python程序的编写方式
直接在Python的交互式环境编写代码 现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你 ...
- minimum-depth-of-binary-tree (搜索)
题意:输出一个二叉树的最小深度. 思路:搜索一下就行了. 注意:搜索的时候,是比较每个子树的左右子树的大小,每个子树的深度要加上根节点! class Solution { public: int ru ...
- gitlab 使用流程
gitlab 使用流程 1. 开发人员写代码,开发产品. 2. 测试人员进行测试,如果发现bug, 填写 Issues - List - new issus 3. 开发人员修复bug, 从master ...
- python +百度语音识别+图灵对话
https://github.com/Dongvdong/python_Smartvoice 上电后,只要周围声音超过 2000,开始录音5S 录音上传百度识别,并返回结果文字输出 继续等待,周围声音 ...
- metamask源码学习-inpage.js
The most confusing part about porting MetaMask to a new platform is the way we provide the Web3 API ...
- Redis学习笔记--Redis数据过期策略详解==转
本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...
- JavaScript高级程序设计学习(六)之设计模式
每种编程语言都有其自己的设计模式.不禁让人疑惑设计模式是用来做什么?有什么用? 简单的说,设计模式是为了让代码更简洁,更优雅,更完美. 同时设计模式也会让软件的性能更好,同时也会让程序员们更轻松.设计 ...
- LINUX 手动建立SWAP文件及删除
原文:http://blog.itpub.net/7728585/viewspace-670175/ 1. 确定swap文件的大小,单位为M.将该值乘以1024得到块大小.例如,64MB的swap文件 ...