Monthly Archives: March 2017

Java基础之synchronized同步的使用

0、有关多线程的实现先参考:Java基础之多线程的基本实现
1、两个线程访问同一个对象,如果没有同步的限制,会出现一个意想不同的问题;
2、比如对象成员属性int i = 100;某方法每执行一次都会对该值进行减1操作,直接为0结束;
3、单次调用的基本流程应该是:start->{body}->end;[……]

继续阅读

Java基础知识之IO流的简单使用

1
2
3
4
5
6
7
import java.io.*;
class Demo{
	public static void main(String args[]){
		// 声明输入流的引用
		FileInputStream input = null;
		// 声明输出流的引用
		FileOutputStream[......]<p class="read-more"><a href="https://www.yusian.com/blog/java/2017/03/16/154032945.html">继续阅读</a></p>

Java基础知识之异常处理Exception的基本使用

1、设计一个Person类,该类包含一个age属性,即人的年龄,该值不能为负数;
2、在给该对象属性赋值为负数时,抛出异常,有两种方式可以实现;
2.1、在Person对象的setAge方法中将异常进行抛出,uncheked方式,能正常编译通过,运行时报错;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Person{
	private int age;
	public void setAge(int age){
		if (age < 0){
			throw new RuntimeException("年龄不能为负数...");
		}
		this.age = age;
	}
}
class Demo{
	public static void main(String args[]){
		Person p = new Person();
		p.setAge(-1);
	}
}
运行结果:
Exception in thread "main" java.lang.RuntimeException: 年龄不能为负数...
	at Person.setAge(Person.java:5)
	at Demo.main(Demo.java:4)

[……]

继续阅读

Java基础知识try…catch…finally的基本使用

1、代码

1
2
3
4
5
6
7
class Demo{
	public static void main(String args[]){
		System.out.println("1");
		try{
			System.out.println("2");
			int i = 1/0;
			System.out.[......]<p class="read-more"><a href="https://www.yusian.com/blog/java/2017/03/16/142510938.html">继续阅读</a></p>

Android开发实战小游戏“1秒OneSecond”,适合新手训练

1、先上图看下效果

2、基本需求
2.1、玩家凭个人感觉长按点击区域,大概1秒时松开,系统会检测本次时间;
2.2、如果时间误差在0.1秒内(超过0.1秒或差0.1秒)均记录“大神”1次,否则记录“凡人”1次;
2.3、“大神”1次以红色显示,突出效果;

3、主要技术点
3.1、相对布局加线性布局,整体使用相对布局,中间按钮部分使用线性布局;
3.2、中间长按区域不是按钮,是一个布局(可以看成是一个View),并且绑定onTouch事件;
3.3、普通View要实现Touch事件必须加上属性android:clickable=”true”,否则只能TouchDown,其他均无法响应;
3.4、“按钮”上有两行文字,必要的时候只显示一行,2行时平分,1行是居中;
3.5、android:visibility=”xxx”,xxx有三个枚举值分别为:gone、visible、invisible;[……]

继续阅读