android_base(1--2)

Android开发技巧与实践
本文深入探讨了Android应用开发中的关键技巧与实现方法,包括自定义对话框、动画效果、系统服务获取、Activity切换动画、内容解析与广播接收等核心知识点。

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

  

转载于:https://www.cnblogs.com/ligang305/archive/2012/07/15/2592778.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值