解決橫縱屏問題、得到系統通訊錄數據的方法

   兩個很簡單的小問題,但又容易忘記,所以在此記錄一下:

   一、解決橫縱屏問題:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章