两个很简单的小问题,但又容易忘记,所以在此记录一下:

一、解决横纵屏问题:

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);