package top.vchao.examine.activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.Chronometer;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
import okhttp3.Call;
import okhttp3.Response;
import top.vchao.examine.R;
import top.vchao.examine.bean.JsonQuestBean;
import top.vchao.examine.bean.QuestBean;
import top.vchao.examine.constants.Config;
import top.vchao.examine.db.LoveDao;
import top.vchao.examine.fragment.AnswerFragment;
import top.vchao.examine.utils.LogUtils;
import top.vchao.examine.utils.ToastUtils;
/**
* @ 创建时间: 2017/6/13 on 17:08.
* @ 描述:回答界面
* @ 作者: 郑卫超 QQ: 2318723605
*/
public class AnswerActivity extends BaseActivity implements Chronometer.OnChronometerTickListener {
@BindView(R.id.vp_answer)
ViewPager vp_answer;
@BindView(R.id._chro_exam)
Chronometer chronometer;
private ArrayList<Fragment> fragmentlists;
private int minute = 0;
private int second = 0;
private AlertDialog.Builder builder;
private ArrayList<String> a;
private int nowpager = 0;
private List<QuestBean> messages;
private String type;
@Override
int getLayoutId() {
return R.layout.activity_answer;
}
@Override
void getPreIntent() {
// 获取传递来的变量
type = getIntent().getExtras().get("type").toString().trim();
}
@Override
void initView() {
// 联网获取数据
initNet(type);
vp_answer.setOnPageChangeListener(new MyOnPageChangeListener());
setChronometer();
}
/**
* 设置计时器
*/
private void setChronometer() {
chronometer.setText(nowtime());
chronometer.start();
chronometer.setOnChronometerTickListener(this);
}
/**
* 计时器规则
*
* @param chronometer
*/
@Override
public void onChronometerTick(Chronometer chronometer) {
second++;
if (second == 59) {
minute++;
second = 00;
}
}
/**
* 现在时间
*
* @return
*/
private String nowtime() {
if (second < 10) {
return (minute + ":0" + second);
} else {
return (minute + ":" + second);
}
}
/**
* 初始化网络连接
*
* @param type
*/
private void initNet(String type) {
a = new ArrayList<>();
fragmentlists = new ArrayList<>();
LogUtils.e("initNet: 开始联网…………");
//进度条对话框
final ProgressDialog progressDialog = new ProgressDialog(AnswerActivity.this, R.style.AppTheme_Dark_Dialog);
progressDialog.setIndeterminate(true);
progressDialog.setMessage("获取题目中...");
progressDialog.show();
// 联网
OkGo.get(Config.URL_GET_QUESTION)
.params("type", type)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
LogUtils.e("onSuccess: ========---------======" + s);
//gson解析
Gson gson = new Gson();
JsonQuestBean jsonQuestBean = gson.fromJson(s, JsonQuestBean.class);
messages = jsonQuestBean.getMessages();
for (int i = 0; i < messages.size(); i++) {
QuestBean questBeanQ = messages.get(i);
questBeanQ.setId(i);
fragmentlists.add(new AnswerFragment(questBeanQ));
LoveDao.insertLove(questBeanQ);
a.add(questBeanQ.getId() + "");
LogUtils.e(i + " onSuccess : " + questBeanQ.getId() + questBeanQ.getTitle());
}
// 设置适配器
vp_answer.setAdapter(new MainAdapter(getSupportFragmentManager()));
progressDialog.dismiss();
}
@Override
public void onError(Call call, Response response, Exception e) {
LogUtils.e("onError ");
}
});
LogUtils.e("initNet: 联网结束…………");
}
@OnClick({R.id._btn_previous, R.id._btn_submit, R.id._btn_next})
public void onViewClicked(View view) {
switch (view.getId()) {
// 点击上一题按钮
case R.id._btn_previous:
// 如果是第一题,则谈吐司提醒,否则上移一道题
if (nowpager == 0) {
ToastUtils.showShort("已经到头啦!");
} else {
vp_answer.setCurrentItem(--nowpager);
}
break;
// 点击提交按钮
case R.id._btn_submit:
// 简答题不进行提交评分
if (type.equals("3")) {
ToastUtils.showShort("简答题目前暂不支持评分");
return;
}
// 否则初始化并展示提交对话框
initAlertDialog();
builder.show();
break;
// 点击下一题按钮
case R.id._btn_next:
// 如果是最后一题,则谈吐司提醒,否则下移一道题
if (nowpager == fragmentlists.size()) {
ToastUtils.showShort("已经是最后一题了!");
} else {
vp_answer.setCurrentItem(++nowpager);
}
break;
}
}
/**
* viewpager适配器
*/
class MainAdapter extends FragmentPagerAdapter {
public MainAdapter(FragmentManager fm) {
super(fm);
}
//获取条目
@Override
public Fragment getItem(int position) {
return fragmentlists.get(position);
}
//数目
@Override
public int getCount() {
return fragmentlists.size();
}
}
// 弹出是否确认交卷的对话框
private void initAlertDialog() {
//新建对话框
builder = new AlertDialog.Builder(AnswerActivity.this);
builder.setTitle("提示");
builder.setMessage("是否确定交卷?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 计算分数
int grade = 0;
// 判断题
if (type.equals("2")) {
for (int i = 0; i < messages.size(); i++) {
// 查询
QuestBean questBeenA = LoveDao.queryLove(Integer.parseInt(a.get(i)));
// 判断
if (questBeenA.getAnswer().equals("对") && questBeenA.getMyanswer().equals("A") || questBeenA.getAnswer().equals("错") && questBeenA.getMyanswer().equals("B")) {
grade += 20;
}
}
}
// 选择题
else {
for (int i = 0; i < messages.size(); i++) {
QuestBean questBeenA = LoveDao.queryLove(Integer.parseInt(a.get(i)));
if (questBeenA.get
没有合适的资源?快使用搜索试试~ 我知道了~
android期末大作业,答题app
共129个文件
png:51个
xml:37个
java:28个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 7 浏览量
2023-12-19
00:17:55
上传
评论
收藏 513KB ZIP 举报
温馨提示
android期末大作业,答题app - 运行中有什么问题可以私聊博主,主页置顶有常见问题解决的方法 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
android期末大作业,答题app (129个子文件)
gradlew.bat 2KB
.gitignore 118B
.gitignore 7B
build.gradle 1KB
build.gradle 624B
settings.gradle 15B
gradlew 5KB
gradle-wrapper.jar 52KB
AnswerActivity.java 9KB
TestAnswerActivity.java 9KB
TestGradeActivity.java 8KB
GradeActivity.java 5KB
LoginActivity.java 5KB
SPUtils.java 5KB
SignupActivity.java 5KB
AnswerFragment.java 4KB
QuestBean.java 4KB
ToastUtils.java 3KB
TestSettingActivity.java 2KB
MainActivity.java 2KB
JsonQuestBean.java 2KB
MyApplication.java 1KB
BaseFragment.java 1KB
SplashActivity.java 1KB
LogUtils.java 1KB
BaseActivity.java 1KB
LoveDao.java 1KB
Config.java 1KB
TimeUtils.java 1KB
ExampleInstrumentedTest.java 738B
JsonLoginBean.java 615B
JsonSignupBean.java 554B
ExampleUnitTest.java 395B
UpGradeBean.java 333B
AboutActivity.java 315B
SPkey.java 271B
bg_splash.jpg 42KB
ic_bg_main.jpg 41KB
ic_bg_exercises_main.png 112KB
left_bg.png 67KB
logo.png 35KB
vchao.png 29KB
ic_main_mnks.png 17KB
ic_launcher_round.png 14KB
ic_launcher.png 10KB
ic_launcher_round.png 10KB
ic_launcher.png 8KB
ic_launcher_round.png 6KB
ic_launcher.png 5KB
ic_app.png 4KB
ic_launcher_round.png 4KB
icon_rule1.png 3KB
ic_launcher.png 3KB
ic_main_ctjlb.png 3KB
location_arrows.png 3KB
icon_rule2.png 3KB
icon_ranking1.png 3KB
ic_main_sjlx.png 3KB
icon_ranking2.png 3KB
ic_launcher_round.png 2KB
ic_main_zjlx.png 2KB
close.png 2KB
ic_launcher.png 2KB
icon_newcar_n.png 2KB
icon_sign1.png 2KB
icon_sign2.png 2KB
ic_finish1.png 2KB
icon_newcar_s.png 2KB
ic_time.png 2KB
ic_main_sxlx.png 2KB
ic_check1.png 2KB
ic_finish2.png 2KB
ic_check2.png 2KB
ic_collect.png 2KB
collect.png 2KB
ic_favor1.png 2KB
ic_favor2.png 2KB
setting.png 1KB
ic_zjlx_bg_title.png 1KB
feedback.png 1KB
icon_collect.png 1KB
icon_previous1.png 1003B
ic_next1.png 939B
ic_uncollect.png 911B
icon_previous2.png 872B
ic_next2.png 849B
partition.png 798B
icon_uncollect.png 639B
ic_zjlx_item_arrow.png 451B
proguard-rules.pro 926B
gradle.properties 730B
gradle-wrapper.properties 230B
activity_main.xml 7KB
activity_signup.xml 3KB
activity_test_grade.xml 3KB
fragment_quest.xml 3KB
activity_about.xml 3KB
list_item_activity_score.xml 3KB
activity_login.xml 3KB
activity_test_setting.xml 2KB
共 129 条
- 1
- 2
资源评论
Android安卓科研室
- 粉丝: 1528
- 资源: 1164
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功