Android---项目中遇到的小坑

71 阅读1分钟
  1. Android开发是及其依赖网络环境质量,网络环境质量直接决定着开发效率。特别是当项目添加了很多依赖和开源库之后,编译时一定要保持优质的网络质量,不然。。。编译多久都是个未知数,而且无论编译多久,都会出错的,无网无库、依赖、开源;

2. Activity和ApplicationContext,要区分清楚;这里是在碎片中调用Activity和ApplicationContext对象, LocationClient()需要的参数是Activity,SDKInitializer.initialize()需要的是ApplicationContext; ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0c6d0e76c2524987845fe12c811b8d1b~tplv-k3u1fbpfcp-zoom-1.image) ``` activity = (DrawerActivity) getActivity(); mLocationClient = new LocationClient(activity); mLocationClient.registerLocationListener(new MyLocationListener()); SDKInitializer.initialize(activity.getApplicationContext()); ```
  1. Intent的new放置位置要谨慎,如果intent是全局变量,又在用一个activity中有多次局部赋值(有时候你拿到的是别人的代码,所以写之前记得看清楚这一点),起的点击跳转的作用,那计算参数的代码和new的代码,建议都放在对应的回调方法(例如onClick())里边,否则很混乱,有时候连跳转都没法实现; 像上图这种,intent就该放在onClick()里边(如果别处有赋值的话),**什么状态对应什么回调方法+对应什么跳转,这三者是一气呵成的,别拆开,**像上图,intent的new如果放在onClick之外init之内,就有bug了。