zoukankan      html  css  js  c++  java
  • 2016年3月15日Android实习日记

    1.解决了ScrollView滑动冲突问题。

    2.设置好了“查看详解”与“题目编号”的部分。

    3.完成了app启动图片的设置,并在启动的过程中开辟新的线程连接服务器并开启监听数据。

    别忘了注册启动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);设置是否可以点击

    5.在线程中执行Toast操作,报 Can't create handler inside thread that has not called Looper.prepare()这个运行时异常。

    是由于Toast依赖一个Handler来消息队列,非主线程需要为Toast准备Looper。

    参考:http://blog.csdn.net/neo_86/article/details/25830443

    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.

    1如何将字串 String 转换成整数 int?

    A. 有两个方法:

    1). int i = Integer.parseInt([String]); 或
    i = Integer.parseInt([String],[int radix]);

    2). int i = Integer.valueOf(my_str).intValue();

    注: 字串转成 Double, Float, Long 的方法大同小异.
    2 如何将整数 int 转换成字串 String ?
    A. 有叁种方法:

    1.) String s = String.valueOf(i);

    2.) String s = Integer.toString(i);

    3.) String s = "" + i;

    注: Double, Float, Long 转成字串的方法大同小异.
    参考:http://blog.sina.com.cn/s/blog_4f9d6b1001000bfo.html

    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();
    
    		}
    
    	}
    
    }
    

      

     

  • 相关阅读:
    FastDFS概述及原理
    SpringBoot中使用Redis缓存注解
    SpringBoot中使用Redis
    Jedis
    Redis客户端
    Redis的集群配置
    Redis的复制
    英语笔记-5
    内网转发Ubuntu
    数学笔记-4
  • 原文地址:https://www.cnblogs.com/hsqdboke/p/5278108.html
Copyright © 2011-2022 走看看