Android常用知识笔记

 

1、 安卓图片自适应

android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能 
<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true" 
android:anyDensity="true"/> 

2、 /*获取屏幕像素和屏幕密度*/

       DisplayMetrics metrics=new DisplayMetrics();

       getWindowManager().getDefaultDisplay().getMetrics(metrics);

       int width=metrics.widthPixels;

       int height=metrics.heightPixels;

       float density=metrics.density;

        int densityDpi=metrics.densityDpi;

3、  Android2.2中match_parent和fill_parent是一个意思 .两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了

4、  读取电话薄

AndroidManifest.xml

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

java文件:

public void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       // setContentView(R.layout.activity_contacts);

       TextView tv = new TextView(this);

       // TextView tv = (TextView) findViewById(R.id.textViewC1);

       String string = "联系人如下:\n";

       try {

           // 得到ContentResolver对象

           ContentResolver contentResolver = getContentResolver();

           // 取得电话本中开始一项的光标

           Cursor cursor = contentResolver.query(

                  ContactsContract.Contacts.CONTENT_URI, null, null, null,

                  null);

           // 向下移动光标

           while (cursor.moveToNext()) {

              // 取得联系人名字

              int nameFieldColumnIndex = cursor

                     .getColumnIndex(PhoneLookup.DISPLAY_NAME);

              String contract = cursor.getString(nameFieldColumnIndex);

              // 取得电话号码

             

               int numberFieldColumnIndex = cursor

                .getColumnIndex(PhoneLookup.NUMBER); String number =

                cursor.getString(numberFieldColumnIndex);

              string += contract + "\n";

           }

           cursor.close();

           tv.setText(string);

           setContentView(tv);

       } catch (Exception e) {

           e.printStackTrace();

           Log.i(TAG, e.toString());

       }

    }

5、 窗口切换public void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_01);

       Log.i(TAG, "onCreate");

       Button button1 = (Button) findViewById(R.id.button11);

       /* 监听button的事件信息 */

button1.setOnClickListener(new Button.OnClickListener() {

           public void onClick(View v) {

              // 新建一个Intent对象

              Intent intent = new Intent();

              // 指定Intent要启动的类

              intent.setClass(Activity01.this, Activity02.class);

              // 启动一个新的Activity

              startActivity(intent);

              // 关闭当前的Activity

              Activity01.this.finish();

           }

       });

}

6、  android.intent.action.MAIN决定应用程序最先启动的Activity ,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里。Main和LAUNCHER同时设定才有意义

技术分享

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。