谈谈Android中的奇葩


Android 系统信息获取


原文地址: http://blog.csdn.net/aminfo/article/details/7603302

一、内存(ram);二、Rom大小;三、sdCard大小;四、电池电量;五、CPU信息;
六、系统的版本信息;七、MAC地址和开机时间;最后贴一个格式化数据的方法。


android AudioManager类 详解 

AudioManager类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。 http://blog.csdn.net/hellofeiya/article/details/9667879

AudioManager audiomanage = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);

获得 LayoutInflater 实例的三种方式

http://www.cnblogs.com/androidez/archive/2013/07/01/3164729.html
LayoutInflater localinflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。
不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;
而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用:

1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;
2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。

获得 LayoutInflater 实例的三种方式:
1.LayoutInflater inflater = getLayoutInflater();  //调用Activity的getLayoutInflater()

2.LayoutInflater localinflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

3. LayoutInflater inflater = LayoutInflater.from(context);  

其实,这三种方式本质是相同的,从源码中可以看出:



Android对象序列化的实现?

java是实现implements Serializable,而Android是implements Parcelable;

public class City implements Parcelable{ }

需要进行序列化,在使用的时候还需要反序列化;

Intent in = new Intent(this, CitySelect1Activity.class);
in.putExtra("city", city);
startActivityForResult(in, 1);

Intent in = getIntent();
city = in.getParcelableExtra("city");



谈谈Android中的Rect类——奇葩的思维

http://www.cnblogs.com/hrlnw/archive/2013/07/14/3189755.html
最近在工作中遇到了一些问题,总结下来就是Android中Rect这个类造成的。不得不说,不知道Android SDK的开发人员是怎么想的, 这个类设计的太奇葩了。首先介绍一下Rect类:Rect类主要用于表示坐标系中的一块矩形区域,并可以对其做一些简单操作。这块矩形区域,需要用左上右下两个坐标点表示(left,top,right,bottom),你也可以获取一个Rect实例的Width和Height。就在这里,奇葩的事情来了,作为一个有一点经验的做图像或者矩阵运算或者编程的程序员来说,大家的共识是,如果一个矩阵是MxN的,也就是M行N列,那么行号是[0,M-1],列号是[0,N-1]。可是奇葩的Rect类并不是这样的!如果你这么声明一个Rect类:

Rect rect=new Rect(100,50,300,500);
那么右下角(300,500)其实是不在这个矩形里面的,但是左上角(100,50)在,也就是说,这个矩形实际表示的区域是:(100,50,299,499)。另外,Rect计算出的Height和Width倒是对的。所以,在此告诫各位程序员,在涉及Rect运算的时候,尽量不要使用它的右下角左边,即right和bottom。因为他们是错的。当然,在你调用android自己的函数时,是可以使用的,因为Android里面一直保持这么奇葩的思维。


具体内容,自己百度;

你可能感兴趣的:(谈谈Android中的奇葩)