car os
1.在ViewPager各个页面切换的时候默认会消耗重建,但是很多时候我们是不能让它这么干的就需要
mViewPager.setOffscreenPageLimit(3);
2.对一个View反复用FragmentTransaction commit的时候记得一定要用FragmentLayout这个布局layout,别的layout不能被反复commit。
3.
为了安全起见编译服务器是不能访问外网也不能被外网访问,这就要配置代理 在build.gradle里处理。
服务器上面的gradle是老的为了与其兼容 gradle\wrapper 要配置成老的。
app\build.gradle 这个里的v7版本 什么的也要是服务器上老的版本。
代码中可能有些接口是新的 老的里面没有 所以仍上去编译的时候要注意。
4.在使用android studio的时候 打开一个之前还没有任何问题的工程 突然无法导入v4中的任何类了。显示cannot resolve the symbol,很奇葩。
http://stackoverflow.com/questions/20386331/android-studio-and-android-support-v4-app-fragment-cannot-resolve-symbol
这个可以解决这个问题。
在用FragmentManager的FragmentTransaction管理各个Fragment,在切换各个Fragment的时候为了高效利用各个Fragment不是每次重新创建 add,而是用show 和hide接口来保证高效的进行各个相关Fragment之间的切换。
还有就是用FragmentTransaction切换各个Fragment的时候需要注意一点,多个之间切换的时候我们通常会先new多个Fragment对象,然后没add过add,add过show hide。如果某一个Fragment没add过 但是提前被hide了,在add commit之后是不会显示出来的,这点会引起一些调试时候的问题,需要值得注意。
http://blog.csdn.net/xplee0576/article/details/43057633
fragment 需要一个空的public 构造函数,原因见上面博客
5.gps定位存在一些问题。有的手机没法使用这个功能可能是手机本身的问题,如果出现建议换个手机试试。具体位置可以在回调中获取现在信息(location)。或者requestLocationUpdates获取。这个参数室内建议使用LocationManager.NETWORK_PROVIDER。
6.让Android Studio支持系统签名
Android Studio系统签名
让Android Studio集成系统签名,需要用到一个工具keytool-importkeypair,详见下文。
keytool-importkeypair
keytool-importkeypair – A shell script to import key/certificate pairs into an existing Java keystore
这个工具的作用是将系统签名的相关信息导入到已有的签名文件里。可从这里下载。
工具的使用方法可以通过–help或README.textile来寻求帮助,或参考使用keytool工具 这篇文章。
相关文件
platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh
我的做法是在App根目录新建Signature文件夹专门存放签名相关文件。
步骤
1、生成demo.jks签名文件
2、编写签名脚本signature.sh,内容如下:
!/bin/sh
转换系统签名命令
./keytool-importkeypair -k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo
demo.jks : 签名文件
123456 : 签名文件密码
platform.pk8、platform.x509.pem : 系统签名文件
demo : 签名文件别名
为脚本文件添加可执行权限:
$ sudo chmod a+x signature.sh
执行脚本:
$ ./signature.sh
以上2的操作内容是在ubuntu上实现完成的,这个操作会生成新的demo.jks。
3、配置builde.gradle
在android区域下(与defaultConfig同级)添加配置:
signingConfigs {
release {
storeFile file(“../signature/demo.jks”)
storePassword ‘123456’
keyAlias ‘demo’
keyPassword ‘123456’
}
debug {
storeFile file("../signature/demo.jks")
storePassword '123456'
keyAlias 'demo'
keyPassword '123456'
}
}
这样debug或release apk就带有系统签名了。
如果想直接Run app就是release版且带系统签名的apk,还需修改:
1) 变体app
2) 修改buildTypes:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’
signingConfig signingConfigs.release
}
}
这样直接Run app就是带系统签名的release版apk了。
7.从eclipse工程中导入到android studio步骤 File->New->Import Project…导入工程后可能会出现:
Gradle project sync failed. Please fix your project and try again. 使用 方法4就能解决。
8.adb shell dumpsys activity 可以查看进程优先级
9.调试的时候测试网络一般需要指 host,注意hosts文件的修改。一般用echo 或者用电脑修改后注意最后有个回车
10.根据需求 把整体需求按照类划分,再一步步细化。