兩個很簡單的小問題,但又容易忘記,所以在此記錄一下:
一、解決橫縱屏問題:
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);