两个很简单的小问题,但又容易忘记,所以在此记录一下:
一、解决横纵屏问题:
android系统默认设置下,切换屏幕方向时,生命周期方法会被重新调用一次,如,当把横屏切换成纵屏时,activity会分别调用以下方法:onPause()- onStop()- onDestroy() - onCreate() - onStart() - onResumn()。所以这样就会导致界面被重新加载一次,影响性能。
解决这个问题,需要在清单文件里设置activity的属性:
android:configChanges="orientation|keyboardHidden"
若想要自己设置屏幕方向,则是:android:screenOrientation="portrait",
portrait :纵屏
landscape:横屏
sensor :显示的方向由方向传感器决定的(两个方向)
fullSensor:显示的方向由方向传感器决定的(四个方向)
二、获取系统通讯录数据:
//获取内容解析者
ContentResolver resolver = getContentResolver();
//通过内容解析者去查询系统联系人
Cursor cursor = resolver.query(Phones.CONTENT_URI, null, null, null, null);
String[] from = new String[]{Phones.NAME,Phones.NUMBER};
int[] to = new int[]{R.id.textView1,R.id.textView2};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item_list,
cursor, from, to);
mListView.setAdapter(adapter);