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