网站首页 网站导航 课程中心
新闻中心
您所在的位置:Android培训 > 新闻中心 > 【Android培训】android项目中常见问题

【Android培训】android项目中常见问题

来源:中软卓越 日期:2018-05-07 14:23 人气:
标签:
中软国际教育集团Python+大数据课程入驻大武汉啦!!!
1、如果是阅读型文本(例如一篇文章),不需要固定大小的,textSize可以使用sp;如果是展示型文本(例如按钮中的文本),其大小受到限制的,textSize可以使用dp。
 
2、使用json用作网络数据传输时,应该使用String字段取代int字段。
 
3、按照现在正常密度比(系统的densityDPI根据分辨率和屏幕尺寸为正常的120、160、240、320、480、640时)9:16的安卓机其尺寸为(360dp*540dp)。UI有时会根据iPhone机型使用750px*1334px作图,而按照1dp=2px来算,其结果为(375dp*667dp)。这样放置控件,宽度上会少15dp,高度上会少127dp,如果UI不做图的话,可以根据美观自行处理(通常不应在整个页面的padding上修改尺寸,这个尺寸应该是一开始原型图就规定好的全局样式)。
 
4、使用GsonFormat插件生成实体类时,整个实体类应放在bean文件夹下。
 
5、使用Butterknife注解布局时,可以使用Android Butterknife Zelezny插件自动生成注解。
 
6、需要提交多个模块代码时,按模块多次提交(也方便填写提交信息)。
 
7、空页面应该有空页面图片提示。
 
8、支付宝沙箱环境测试,需要在页面启动前添加这么一句代码EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);

9、
 
10、在完成一个版本上线后,应至少分成两个分支,一个日常修复bug以及紧急上线,另一个用于正常功能开发。
 
11、如果一个接口不需要传参,应设计为传一个空参(例如new Object()),而不是不传参数,这样方便以后拓展接口。
 
12、adapter中所有的变化的view或值,都应该在viewholder中定义,并在onBinderView中赋值。
 
13、预览时选择Project Themes,同时gradle中应使用compile而不是implementation。
 

14、沉浸式状态栏需要设置主题为

另v19设置主题为

如果还需要使状态栏中的电量等都隐藏,需要在使用的activity代码中设置
 

15、进行了某个操作想退出应用,可以使用这样的技巧
 

16、textview设置滚动,第一步现在XML中设置scrollbars属性,第二步在代码中设置textView.setMovementMethod(ScrollingMovementMethod.getInstance());
 
17、setOffscreenPageLimit(0)没有效果,最小是1,也就是最小左右各一预加载。
 
18、调用webview的页面应及时销毁,防止内存泄漏(具体如下):
 

19、WebView的一些相关设置

20、scrollView设置android:fillViewport="true",使scrollview的子控件能够充满屏幕。
 
21、gradle编译报错

Windows下需要打开AndroidStudio的Files——>Settings——>Build...——>Gradle,手动设置gradle位置。
 
22、将弹出的软键盘的回车键改为搜索键
 
 

其中android:imeOptions需要配合android:inputType属性(或者singleLine属性,PS:单独设置maxLines并不能解决问题)才能使回车键变为需要的图标。
 
23、TableLayout中的tableRow中的子控件width设置match_parent(如果子控件的内容小于宽度则不会撑满整个宽度,大于宽度则会显示在屏幕外),解决方法一:在tableLayout中设置android:stretchColumns="对应列",解决方法二:部分情况下可以把该子控件的width设置为wrap_content。
24、注意dialog和popupWindow可能引起的windowleak。
 
25、

这个内存泄漏的问题找了好久,结果发现是因为开启了Android Profiler的原因
 

就是勾选了这个的原因。
 
26、在android5.1(API22)及以下的手机上出现了GridLayout不显示的问题,使用V7包下的没问题,可以使用支持包时应优先使用支持包?
 
27、OKHttp优点:a可以使用GZIP压缩减少传输的数据量;b可以缓存响应避免重复的网络请求;c可以使用拦截器预处理请求与响应;d可以尝试服务器的多个IP地址。
 
28、retrofit优点:可以使用注解的方式提供功能:请求方法注解、标记类注解、参数类注解。
 
29、RxJava优点:a、在与okhttp配合时异步写法更简便(不需要使用call.enqueue(callback)的形式);b、在与okhttp配合时请求
和响应可以放在合适的线程中处理(请求在Schedulers.io()这个无限线程池中处理,响应发送到AndroidSchedulers.mainThread()
 
主线程中处理);c、RxBus事件总线框架(面向事件过程编程,更好的解耦模块)。
 
30、a三方能使用的资源有应用程序资源、系统资源和厂商资源(是通过Native方法addAssetPathNative()方法添加的);b查找资
源ID对应的不是文件会返回对应的资源字符串;c查找资源ID对应不是文件分为三步:1查找资源文件、2构建XmlResourceParser对
 
象、3解析文件内容创建view(如果为merge就会减少一层UI嵌套)。
 
31、android同一个activity下不同fragment的xml布局的id应不同,在组件化的项目中更要注意id的命名(有时候真的项目太紧,才导
 
致的这些错误)。
 
32、项目一应该有三种分支,稳定或已发布版本分支,用于修复bug以及随时紧急上线分支,功能开发分支。
 
33、EasyPermission使用时被@AfterPermissionGranted注解的方法不能含有参数。


免责声明:本文转载自网络,转载目的在于传递更多信息,版权归原作者所有,如涉及内容、版权和其它问题请联系我们进行删除。

 

中软卓越是中软国际有限公司投资的大型人才服务机构,是中软国际人才战略的核心组成部分之一,承担集团发展过程中人才储备和培养的任务,是软件及外包业务快速发展的重要人才支撑平台,是集团保持高速增长动力之一。

中软国际教育集团专注IT教育36年,一直秉承“用良心做教育”的理念,是中国移动互联网研发人才一体化服务的开拓者,全力打造移动互联网研发人才服务优质平台。

公司总部位于武汉,目前已在深圳、上海、郑州、广州、大连、武汉、成都、西安、杭州、重庆、长沙、合肥、无锡、南宁、厦门、南京、南昌等全国22个省成立了60多家分公司。拥有全国的移动互联网教学就业保障团队,做到了毕业学员业内高薪水,成为学员信赖的IT培训机构。

营业执照 版权所有©Copyright 2008-2017,武汉中软卓越科技有限公司 , All Rights Reserved. ICP备案号:15018648号-1

sitemap | 来校路线 | 分类导航 | 关于我们