Android 开发学习笔记

来源:互联网 发布:淘宝上的好评怎么删除 编辑:程序博客网 时间:2024/05/18 03:34

第二天学习Android开发,目标是参加谷歌Android大赛,争取拿个奖回来,不过奖励是小,积累开发经验是大,也好在找工作的日子里找一个好工作~~


今天学习内容:helloworld 主要涉及内容是 一个Activity是一个窗口的感觉,每次新建一个Activity都,然后在xml中AndroidManifest.xml里面注册一下。

Android的资源都在Res里记录这,例如目录values里面 的string,可以定义程序中使用的所有字符串,在layout中,则定义了所有的UI,实现了MVC的涉及模式

而引用这些资源要使用R类为 桥梁来访问这些资源,例如setContentView(R.layout.main);

如果要使用layout中定义的资源,例如一个button,我们在UI编辑窗口可以编辑这个UI部件的ID,然后在主程序中,通过ID来引用这个部件


例如我们在main layout中定义一个button,编辑它的id是 button1,这个时候,button1在这个id,在R这个类中就自动生成了一个成员,名字和button1是一样的,我们可以引用这个button1来引用这个资源。

代码如下:Button button = (Button)findViewById(R.id.button2);

然后就可以对button进行逻辑编辑,例如增加相应函数:

button.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();}});
这部分代码就是调用button,来添加click响应函数的

里面的Intent的含义是一个用来调用从一个activity切换到另一个activity用的。实现类似界面切换这种功能


例子3给的例子是访问通讯录,通讯录的访问方式随着版本的不同发生了一些变化,实践中,NUMBER字段已经没有了,下面的代码可以获得电话号码和用户

        ContentResolver cr = getContentResolver();                  //取得电话本中开始一项的光标        Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);        //向下移动一下光标        while(cursor.moveToNext())         {         //取得联系人名字        int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);             String contact = cursor.getString(nameFieldColumnIndex);         String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID));        Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,                ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,null,null);        while(phone.moveToNext())        {        int phoneFieldcolumnIndex = phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);        String phoneNumber = phone.getString(phoneFieldcolumnIndex);        string += contact +":" + phoneNumber + "\n";        }
                phone.close();        //string += (contact+":"+number+"\n");        }        cursor.close();//设置TextView显示的内容tv.setText(string);