隐式调用
对于手机外部存储卡的状态变化的Broadcast,在注册监听器的时候就需要加上DataScheme,否则就会接收不到。这个也花费了我几个小时的调试时间,改在代码中用Context.registerReceiver(BroadcastReceiver,IntentFilter)注册也不行,最后参考了Music中的做法,加上了DataScheme才能在onReceive()中接收到Intent。同样对于后面的Package相关的Broadcast,也是要加上DataScheme否则也是接收不到Broadcast。
IOS:
Xcode5.0+ 自带svn管理工具 SourceControl 不支持提交一个新项目到服务器,
如果用其他终端或者命令提交以后,在check out 这个时候SourceControl下面操作才可以用
Android:
ListView addFootView addHeadView 方法加的view不能和listView所在的xml在一块
setEmptyView 方法设置的view必须和listview所在xml在一块,或者同级
BaiduMapView 在oncreate如果设置中心点不起作用,请用异步线程
关闭软键盘方法 :InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
if(isOpen)
{
View v = getCurrentFocus();
if(v != null)
{
imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
boolean isOpen=imm.isActive();
if(isOpen)
{
View v = getCurrentFocus();
if(v != null)
{
imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。
广播接收优先级
以短信为例:
代码注册 >mainfest注册>系统广播
其中如果都是代码注册看启动优先顺序,
如果都是mainfest注册看权限
默认mainfest注册优先级大于系统,但是不是绝对的
proguard.cfg 混淆
在project.properties里面把proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
这行注释去掉即可
或者 加一句proguard.config=proguard.cfg
如果高版本默认了
android:Theme.Holo.Light
就会出现高版本sdk button大小和低版本显示不一致,原因这个style设置了最小尺寸
如果不是必须用Button 可以用Imageview TextView 等代替