包含讲解android中的java特性以及面试题或者知识点
1、数据结构+算法
2、
一切都是类
android哪些对象我们要下意识的认为他也是类。(配置文件也是类!)
Android中何时用到?
比如Button继承了View,我们可能需要instanceof来进行类型的判断
LinearLayout layout = (LinearLayout )this.getLayoutInflater().inflate(R.layout.layout_main,null);//将布局文件实例化
setContentView(layout );
childCount = layout.getChildCount();//获得子控件个数
View childView = layout.getChildAt(i); //获得子控件
if(childView instanceof Button)//判断是button
{
//按钮相关操作
}
int colors[] = getResource().getStringArray(R.array,colorsarray);
LinearLayout layoutRoot = new LinearLayout(this);
layoutRoot.setOrientation(LinearLayout.VERTICAL); //设置方向为竖直
LinearLayout.LayoutParams lyparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT); //该线型布局的属性
LinearLayout.LayoutParams childParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);//linearlayout中子控件的属性
layoutRoot.setLayoutParams(lyparams); //设置本身属性
for(int i =0; i < 10; i++)
{
TextView textView = new TextView(this);
layoutRoot.addView(textView, childParams);//添加子控件,并且设置属性
}
setContentView(layoutRoot); //将该线型布局显示出来
一些配置信息可以在运行时进行实例化,并且能对其进行一些操作。
都是通过反射来实现的
String className = "android.app.NotificationManager";
Class classToInvest;
try {
classToInvest = Class.forName(className);
//classToInvest.getMethod(.....); 可以得到实例的方法
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Constructor[] classConstructors = classToInvest.getDeclaredConstructors();//得到构造函数
for(Constructor constructor: classConstructors) //循环处理
{
//constructor的一些操作
}
cursor:数据游标
例如button的onClickListenner就可以使用
能帮助生成软件文档
ANR错误(无响应错误)
Object object = new object();
synchronized(object)//对象锁
//synchronized(this)给自己加锁
{
sale();//
}
如何使用?
7种控件
DatePicker 日期选择器
TimePicker 时间选择器
DigitalClock 只显示时间
TextClock 能显示时间和日期,在4.2 API17之后推荐使用(不再使用digitalclock)
AnalogClock 模拟指针的时间显示
Chronometer 计时器
CalendarView:日历控件 链接:http://www.cnblogs.com/hanyonglu/archive/2012/03/26/2418178.html