当前位置:首页 > android常用控件总结
如果希望Android应用能够对外部事件(如电话打入时,数据网络可用时,)做出响应,可用使用IntentReceiver.虽然IntentReceiver在如上事件发生
时会使用NotificationManager通知用户,但它并不能生产UI。IntentReceiver可以在AndroidManifest.xml中注册,也可在代码中使用Context.registerReceiver 进行注册。当IntentReceiver被触发时,系统会在需要的时候启动应用。各种应用还可以通过ContentReceiver()将他们自己的IntentReceiver广播出去。 ???????
Content Provider
作用:主要用于不同应用程序中的数据的传递。 Content Provider 是一个特殊的存储数据的类型。 Android自身提供现成的Content
Provider:Contacts ,Browser,CallLog,Settings,MediaStore
应用可用通过唯一的ContentResolver界面来使用具体的Conten Provider,然后可以用ContentResolver提供的方法来使用你需要的Content Provider
其中,ContentResolver提供的方法有query(),insert(),update()等。 URI----String形式的Content Provider的完整路径。
下面这个这个例子通过ContentProvider获取电话本中的数据,然后显示到TextView中去。
public class Activity01 extends Activity{ public void onCreate(Bundle savedInstanceState){
TextView textView = new TextView(this);//得到TextView对象 String string = \
super.onCreate(savedInstanceState);
ContentResolver resolver = getContentResolver();//得到ContentResolver对象
Cursor cursor =
resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);//取得电话本中开始一项的光标,通过query方法查询出符合标准的电话本记录 //向下移动光标
while(cursor.moveToNext()){ //取得联系人名字
int name_index = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME); String name = cursor.getString(name_index); //取得电话号码
int number_index = cursor.getColumnIndex(PhoneLookup.NUMBER); String number = cursor.getString(number_index);
string +=(name+\ }
cursor.close();
textView.setText(string);//设置TextView显示的内容
setContentView(textView);//显示到屏幕上 其实TextView也是View的一种 } }
注意:在使用这些模块中用到了读取联系人的API,所以必须在AndroidManifest.xml中声明
声明方式为: android:name=\ Service 后台服务,没有界面 启动service方法: a.Context.startService() b.Context.bindService()//与上一种方法不同处 如果这个Service没有处于启动状态,则将其启动 下面这个例子以Activity中的俩个控件来控制播放一首Mp3. (例中:需要在res文件夹中创建一个raw文件夹 然后放入一首MP3) public class Activity01 extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); //从main.xml布局中获得Button对象 Button button_start = (Button)findViewById(R.id.start); Button button_stop = (Button)findViewById(R.id.stop); //设置按钮(Button)监听 button_start.setOnClickListener(start); button_stop.setOnClickListener(stop); } //开始按钮 private OnClickListener start = new OnClickListener(){ public void onClick(View v){ //开启Service startService(new Intent(\ } }; //停止按钮 private OnClickListener stop = new OnClickListener(){ public void onClick(View v){ //停止Service stopService(new Intent(\ } }; } public class MusicService extends Service{ //MediaPlayer对象 private MediaPlayer player; public IBinder onBind(Intent arg0){ return null; } public void onStart(Intent intent, int startId){ super.onStart(intent, startId); //这里可以理解为装载音乐文件 player = MediaPlayer.create(this, R.raw.test); //开始播放 player.start(); } public void onDestroy(){ super.onDestroy(); //停止音乐-停止Service player.stop(); } } AndroidManifest.xml文件中 2.2 Aandrod的生命周期 public class Activity02 extends Activity{ private static final String TAG = \ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main2); Log.v(TAG, \ } public void onStart(){ super.onStart(); Log.v(TAG, \
共分享92篇相关文档