开发个人总结

黄金比例:
(√5-1)/2  约等于 0.618, 约等于6:10,约等于5:8

访问控制符(access specifier):public private protected

InputStream指的是在数据流中的数据读入到指定object是为Input,通常使用InputStream.read
OutputStream指的是将数据输出到OutputStream中,是为Output,通常使用OutputStream.write

float浮点类型,只有在数值后面加f就是浮点数值,例如0.5f,同样的double也是加d;例如0.5d

java整型的与、或、非、异或运算:
计算之前将10进制转为2进制,对每位进行运算
例如:1与2就是2进制的:1与10结果为0
129-->10000001
128-->10000000
128|129 -->10000001 结果129整型没初始化值为0

字符串没有初始化值为null
即:
    String mText;//值为0
    int mInt; //值为null
异或就是相同为真不相同为假,1和1、0和0异或都为真

return 跳出有返回值的方法       
return ;//可以退出void方法
break //跳出当前循环,
//如果在switch中,碰到break,会退出switch
在循环中,break是退出循环体,continue是结束当前这次循环开始下一次循环

new A()   //是为匿名对象

//java三目运算:
a ? b:c   //a为真返回b,为假返回c

//三角函数公式使用,Math.PI为圆周率,1度为π/180弧度
Math.sin((30) * Math.PI / 180) = 0.49999999     //sin30度,约等于0.5
Math.sin(30) 			 //是指sin30弧度
Math.asin(0.49999999) 		 //可以得到反sin的数值:0.52359877(这就是30度的值:30*Math.PI/180 == 0.52359877)
Math.asin(0.49999999)*180/Math.PI = 30  //也可以使用toDegrees()来得到角度,toDegrees()也是使用了 数值乘以180再除以圆周率的计算公式的

//字符串和char数组互转
String str = "ggg";
char[] bm;
bm = str.toCharArray();
str = String.valueOf(bm);

//浮点除法运算,加(float)强转是关键
float wratio = (float)mViewWidth / mBackgroundBitmap.getWidth();
int转float
Math.round(mBackgroundBitmap.getHeight() * wratio))

//Double转int
Double d = 10d;
int mBorderRadius = d.intValue();

实例化表: ArrayList list;
	 list=new ArrayList();
增加操作:add(n);从0开始加入
删除操作:remove(n)
取出操作:get(n);从0开始取出例如:get(0),get(1),get(2)
计算长度:list.size();有几个数据就有几个,如果add3次,list.size()就是3
表中的元素转换int类型:Integer.valueOf(String.valueOf(list.get(n))).intValue();
表中的元素转换String类型:String.valueOf(list.get(n));


//实例化数组:
String res_randomstr[?];//问号是表示创建几个元素,
res_randomstr=new String[10];//例如:下标为res_randomstr[0]到res_randomstr[9]共10个

//数组长度:
int grid_id[][];
grid_id.length //有几个数据就有几个,即第一维的长度
//二维数组元素长度:   
grid_id[].length
//输出2维数组所有数据:     
for(int i=0;i<grid_id.length;i++){
	for(int j=0;j<grid_id[i].length;j++) {
		Log.v(String.valueOf(grid_id[i][j]),String.valueOf(grid_id[i][j]));
	}
}

在线程的使用过程中,要特别注意线程同步的问题,
例如:在线程中遍历列表list,如果其他线程对列表list进行 删除操作,则可能出现 下标溢出、空指针等错误
方法1:如果列表list在主线程创建,则在主线程中复制多个列表list,再作为参数赋给各个线程
方法2:使用线程同步synchronized锁住list: 在使用到list的地方都将list使用synchronized锁住
方法3:使用线程同步synchronized锁住方法,封装list,在类A中创建列表list并设为私有类型,在构造方法中实例化列表list
  其他线程通过只能通过操作类A的实例化对象来对list进行操作, 在类A中的操作list的方法method前加入关键字synchronized,
  这样就可以将操作list的方法锁住,可以防止多个线程同时操作该方法,这样也就是对list操作实现了线程同步

//生成随机数: 
Random r = new Random();
r.nextInt(9);//生成从0到8
r.nextInt(n);//生成从0到n-1

//生成随机数: 
Random r = new Random();
r.nextInt(9);//生成从0到8
r.nextInt(n);//生成从0到n-1

//创建线程:  
  private class Mythread extends Thread
    {
        int scount;
        int slevel;
//构造方法
        private Mythread(int count,int level)
        {
           scount=count;
            slevel=level;
        }
//重写run方法
        @Override
        public void run(){
            
        }
    }
//最后:Mythread实例化之后.start

//创建线程2
//实例化接口
  class MutliThread implements Runnable{
      @Override
  public void run(){}
  }
      MutliThread m3=new MutliThread();
      Thread t1=new Thread(m1);
      t1.start;

Math.max(13,90)//返回90
Math.min(13,90)//返回13

//沉睡:
try {
	Thread.sleep(1000);
} catch (InterruptedException e) {
	e.printStackTrace(); 
}

JSON的2种格式:
1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

//JSON解析
//封装并存储成文件:
JSONObject object = new JSONObject();
try {
	object.put("Common1", "#ffffffff");
	object.put("Common2", "#ffffffff");
	object.put("Common3", "#ffffffff");
	object.put("Common4", "#ffffffff");
	object.put("Common5", "#ffffffff");
	object.put("Common6", "#ffffffff");
	object.put("Common7", "#ffffffff");
	object.put("Common8", "#ffffffff");
	object.put("Common9", "#ffffffff");
	object.put("Common10", "#ffffffff");
} catch (JSONException e) {
	e.printStackTrace();
}

try {
	OutputStream os = context.openFileOutput(FileName, Activity.MODE_PRIVATE);
	os.write(object.toString().getBytes());
	os.close();
	Log.w(FileName+" is create",FileName+" is create");
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

//读取JSON文件
try {
	FileInputStream fis =context.openFileInput(FileName);
	byte[] buff=new byte[1024];
	int hasRead=0;
	StringBuilder sd=new StringBuilder("");
	while ((hasRead=fis.read(buff))>0)
	{
		sd.append(new String(buff,0,hasRead));
	}
	fis.close();
//                Log.w("JSON",sd.toString());
	return sd.toString();
}
catch (Exception e)
{
}
//将上面的返回值(字符串型)转成JSONTokener ,使用JSONObject 查找数据,sd.toString()就是JSON的数据格式
try {
	JSONTokener jsonTokener = new JSONTokener(sd.toString());
	JSONObject jsonObject = (JSONObject) jsonTokener.nextValue();
	jsonObject.getString("Common"+CommonNumber);
} catch (JSONException ex) {
}

//JSON数组封装:
JSONObject person = new JSONObject();  
JSONArray phone = new JSONArray();  
phone.put("12345678").put("87654321");  
person.put("phone", phone); 

//JSON数组读取:
String t={"initial":"R","name":"reiz","likes":["JavaScript","Skiing","Apple Pie"]}
JSONObject.fromObject(t)
JSONArray likes=jo.getJSONArray("likes"); //得到likes数组
like.getString(2);                        //得到likes数组第三个

Time t=new Time(); 
t.setToNow(); 
int year = t.year;  
int month = t.month;  
int date = t.monthDay;  
int hour = t.hour; // 0-23  
int minute = t.minute;  
int second = t.second;  
//1月份t.month为0,第一天t.yearDay为0

//反射机制:
//方法无参数:
//获取方法:
Class iInputMethodWrapper = service.getClass();
try {
	Method getInternalInputMethod = iInputMethodWrapper.getMethod("getInternalInputMethod",null);
} catch (Exception e) {
	e.printStackTrace();
}

//执行方法:
getInternalInputMethod.invoke("iInputMethodWrapper",null)























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值