项目总结

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.根据需求 把整体需求按照类划分,再一步步细化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值