andriod中一些需要注意的问题

andriod中一些需要注意的问题

转载请注明出处http://blog.csdn.net/qq_33536981/article/details/78224379

楼主马上就转去学习C++做游戏了,android的学习就要暂时停止一段时间了,有一些我学习时遇到的问题,我再次分享出来希望可以帮助到大家

1:environment.getexternalstoragedirectory()

获取外部储存(包含SD卡)

2:自定义View时可以MeasureSpec获取View的测量模式和大小。

3:创建Canvas时 一般传入一个Bitmap对象,为了让所有绘制都在这个Bitmap上完成。

4:viewGroup会调用dispatchDraw方法来绘制子View

5:canvas.save();和canvas.restore();是两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的

当我们对画布进行旋转,缩放,平移等操作的时候其实我们是想对特定的元素进行操作,比如图片,一个矩形等,但是当你用canvas的方法来进行这些操作的时候,其实是对整个画布进行了操作,那么之后在画布上的元素都会受到影响,所以我们在操作之前调用canvas.save()来保存画布当前的状态,当操作之后取出之前保存过的状态,这样就不会对其他的元素进行影响

6:postInvalidateDelayed可以用来刷新View

7:LinearGradient

LinearGradient shader = new LinearGradient(0, 0, endX, endY, new int[]{startColor, midleColor, endColor},new float[]{0 , 0.5f, 1.0f}, TileMode.MIRROR);
其中参数new int[]{startColor, midleColor, endColor}是参与渐变效果的颜色集合,
其中参数new float[]{0 , 0.5f, 1.0f}是定义每个颜色处于的渐变相对位置,
这个参数可以为null,如果为null表示所有的颜色按顺序均匀的分布

8:向量的叉乘可以判断点的顺逆时针

*用于做旋转判断

9:postInvalidate()和invalidate()

postIncalidate()可以在线程中调用。

invalidate()不可以在线程中调用。

10:getWritableDatabase() 和 getReadableDatabase()

getWritableDatabase()读的方式来打开数据库,要是没有写就会报错
getReadableDatabase()读和写的方式来打开数据库

11:contentProvider 由系统调用,必须有个无参构造器

12:ContentUris.withAppendeId(Uri,id) 返回id 的Uri

13:setContentView()作用

14:activity、window和view之间的关系

而当我们运行程序的时候,有一个setContentView()方法,Activity其实不是显示视图(直观上感觉是它),实际上Activity调用了PhoneWindow的setContentView()方法,然后加载视图,将视图放到这个Window上,而Activity其实构造的时候初始化的是Window(PhoneWindow),Activity其实是个控制单元,即可视的人机交互界面。

15: Message message = Message.obtain();

可以复用一些Message

16:时间转化

SimpleDateFormat formatter   =   new   SimpleDateFormat        ("yyyy年MM月dd日   HH:mm:ss");
Date curDate =  new Date(System.currentTimeMillis());
String  data   =   formatter.format(curDate);

由于楼主是很晚才开始做笔记了,所以就只有这些了,大家学习的时候一定要勤做笔记,不然一定时间就忘了!
android暂时就到这了,我要开始另一个坑了,希望大家学习有什么好的方法和想法都分享出来,这样我们才能更厉害!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值