android_base(1--2)

1:自定义对话框(lostprotectedActivity)
2: 增加一个淡入的动画效果 
   RelativeLayout rl =  (RelativeLayout) findViewById(R.id.splash_rl);
   AlphaAnimation  aa = new AlphaAnimation(0.1f, 1.0f);
   aa.setDuration(3000);
   rl.setAnimation(aa);
3: PackageManager packageManager;//获取apk的信息
   //获取packagemanager的实例 
   packageManager = getPackageManager();
   //"cn.itcast.mobliesafe":获取某个具体包的信息
   PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(), 0);
   return packInfo.versionName;
4:CursorAdapter 和 ArrayAdapter是对BaseAdapter的封装
   CursorAdapter 和 ArrayAdapter 继承BaseAdapter
   BaseAdapter实现了ListAdapter
5: 获取系统的服务:
   context.getSystemService(Context.常量);
   //LayoutInflater的服务常量为:
   Context.LAYOUT_INFLATER_SERVICE
   //闹钟的常量为:
   Context.ALARM_SERVICE

6:对话框的创建方式:
   a: AlertDialog:
   b: Dialog:
      Dialog d  = new Dialog(this);
      View view = inflater.inflate(R.layout.normal_entry_dialog, null);
      //不允许用户通过 后退键  取消对话框 
      d.setCancelable(false);
      d.setTitle("请输入密码 ");
      //RelativeLayout.LayoutParams
      //FrameLayout.LayoutParams
      d.setContentView(view, new LinearLayout.LayoutParams(220,180));
      d.show();
   c: ProgressDialog
7: Activity切换的动画效果:
   overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
   也可以自定义动画效果存放在resource目录下的anim目录下
8:利用ContentResolver得到一个cursor(联系人信息)
9:startActivityForResult(intent, 0);//激活一个activity, 当目标activity结束的时候 , 可以返回一个状态码,	   还有一个值

   @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	// TODO Auto-generated method stub
	super.onActivityResult(requestCode, resultCode, data);

	if (data != null) {
		String number = data.getStringExtra("number");
		et_number.setText(number);
	}
   }

   //给listview的每个item注册点击事件	
   lv.setOnItemClickListener(new OnItemClickListener() {
	public void onItemClick(AdapterView<?> parent, View view,
			int position, long id) {
		// TODO Auto-generated method stub
		ContactInfo info = (ContactInfo) lv.getItemAtPosition(position);
		String number = info.getNumber();
		Intent intent = new Intent();
		intent.putExtra("number", number);
		
		//把intent里面的数据返回给调用的activity
		setResult(0, intent);
		finish();
	}
   });

10:广播有两种:有序广播, 无序广播
    接受短信的广播接受者
    接收呼出电话的广播接受者
    <receiver android:name=".receiver.CallPhoneRecevier"></receiver>
    <receiver android:name=".receiver.SMSReceiver">
	<intent-filter android:priority="1000">
		<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
	</intent-filter>
    </receiver>
    android:priority="1000"  广播接受者的优先级 
    获取广播接收者的数据
    getResultData();
    intent.getExtras()
    终止一个有序广播 
    abortBroadcast();
    如果是指定了广播接收者的广播:
    context.sendOrderedBroadcast(intent, receiverPermission, resultReceiver, scheduler, initialCode, initialData, initialExtras)
    不能被终止掉.但可以:
    setResultData(null);

  

posted @ 2012-07-15 22:19  ligang305  阅读(507)  评论(0)    收藏  举报