1.解决了ScrollView滑动冲突问题。html
2.设置好了“查看详解”与“题目编号”的部分。java
3.完成了app启动图片的设置,并在启动的过程当中开辟新的线程链接服务器并开启监听数据。sql
别忘了注册启动Activity,并设置为app启动项。数据库
参考:http://www.iteye.com/problems/62343数组
http://www.cnblogs.com/mybkn/archive/2012/07/18/2597347.html服务器
4.mCsv.setEnabled(true);设置是否能够触控,mCsv.setClickable(true);设置是否能够点击app
5.在线程中执行Toast操做,报 Can't create handler inside thread that has not called Looper.prepare()这个运行时异常。ide
是因为Toast依赖一个Handler来消息队列,非主线程须要为Toast准备Looper。oop
参考:http://blog.csdn.net/neo_86/article/details/25830443spa
6.
/**
* 链接服务器
*/
public void connectServer() {
new Thread(new Runnable() {
@Override
public void run() {
Looper.prepare();
// TODO Auto-generated method stub
NetworkService.getInstance().onInit(mContext);
NetworkService.getInstance().setupConnection();
// 判断链接状态
if (NetworkService.getInstance().getIsConnected()) {
// Toast.makeText(mContext, "链接成功", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(mContext, "服务器链接失败", Toast.LENGTH_LONG).show();
}
Looper.loop();
}
}).start();
}
7.
8. String->char->int
/**
* 当选择答案错误时,显示并改变正确选项的颜色
*/
private void setTrueOptionColor() {
// 显示并改变正确选项的颜色
String getTureId = QuestionList.get(QuestionsIndex).getAnswer();
char temp = getTureId.charAt(0);
((RadioButton) radioGroup.getChildAt(temp - 1 - 65))
.setTextColor(getResources().getColor(R.color.exam_true_option));
}
9.在代码里写入一个输入输出流便可。
具体实现以下:
BufferedReader bf= new BufferedReader(new FileReader("file"));
注:其中file替换为文件路径;
bf.readLine();
注:便可实现一行一行读取txt文档。
10.动态插入数据到数据库,省得手动输入。
package com.magicalign.ortholink.database; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; /** * 插入数据到数据库 * * @CopyRight: MagicAlign.com * @author Hanshenquan * @time 2016年3月15日20:09:43 */ public class WriteToDatabase { private static String[] mQuestion; private static String[] mAnswera; private static String[] mAnswerb; private static String[] mAnswerc; private static String[] mAnswerd; private static String[] mAnswere; private static String[] mAnswerf; private static String[] mExamExplain; private static String[] mTrueAnswer; // 数据库中数据个数,由于个人数据库里有150条记录 private static int mDataNumber = 150; public static void main(String[] args) throws IOException, SQLException { // TODO Auto-generated method stub WriteToDatabase.initStringArray(); WriteToDatabase.insertIntoDatabase(); } /** * 写每个字段数据 * * @param array * @param path * @throws IOException */ private static void writeQuestion(String[] str, String path) throws IOException { BufferedReader bf = new BufferedReader(new FileReader(path)); str = new String[mDataNumber]; for (int i = 0; i < mDataNumber; i++) { str[i] = bf.readLine().trim(); } bf.close(); for (int i = 0; i < mDataNumber; i++) { System.out.println(str[i]); } } /** * 获得字符串数组 * * @throws IOException * */ private static void initStringArray() throws IOException { writeQuestion(mQuestion, "D://data/question.txt"); writeQuestion(mAnswera, "D://data/Answera.txt"); writeQuestion(mAnswerb, "D://data/Answerb.txt"); writeQuestion(mAnswerc, "D://data/Answerc.txt"); writeQuestion(mAnswerd, "D://data/Answerd.txt"); writeQuestion(mAnswere, "D://data/Answere.txt"); writeQuestion(mExamExplain, "D://data/ExamExplain.txt"); writeQuestion(mTrueAnswer, "D://data/TrueAnswer.txt"); } /** * 执行插入数据库操做 * * @throws SQLException */ private static void insertIntoDatabase() throws SQLException { Connection conn = DBCon.getConnect(); for (int i = 0; i < mDataNumber; i++) { String sql = "insert into examination values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; PreparedStatement pst = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pst.setInt(1, i + 1); pst.setInt(2, 1); pst.setInt(3, 1); pst.setString(4, mQuestion[i]); pst.setString(5, mAnswera[i]); pst.setString(6, mAnswerb[i]); pst.setString(7, mAnswerc[i]); pst.setString(8, mAnswerd[i]); pst.setString(9, mAnswere[i]); pst.setString(10, "");// f 默认为空 pst.setString(11, "");// g pst.setString(12, mExamExplain[i]); pst.setInt(13, 0);// totalnumber pst.setInt(14, 0);// wrongnumber pst.setString(15, mTrueAnswer[i]); pst.setInt(16, 1); pst.executeUpdate(); pst.close(); conn.close(); } } }