Android
文章平均质量分 69
一只小小小蜜蜂
这个作者很懒,什么都没留下…
展开
-
AndroidStudio签名打包爬坑记
昨天发布了两个APP,分别爬坑两次,每次都可以遇到一个新的问题第一坑:Error:Error: Expected resource of type id [ResourceType] 这个错误修改gradle(moudle:app)这个文件android { compileSdkVersion 17 buildToolsVersion "23.0.3" defa原创 2017-02-28 09:43:36 · 381 阅读 · 0 评论 -
Activity异常情况下生命周期分析
主要分析两种情况:1 系统资源不足导致优先级低的Activity被回收。Activity优先级排序:前台可见>前台可见不可交互(前台activity弹出dialog)>后台(用户按下home键、切换到其他应用)当前台activity被回收,系统处于要奔溃状态,前台可见但不可交互状态下的activity一般情况也不会回收。Activity被系统回收,如果需要保存一些现场数据和再次被用户打原创 2017-03-31 14:49:40 · 333 阅读 · 0 评论 -
读书笔记-Activity启动模式
在安卓系统,使用任务栈来管理应用的各个Activity。任务栈是一种“后进先出”的栈结构,每次新打开一个activity就会被压入栈中,back返回就有一个activity出栈,当栈为空,系统回收任务栈。启动模式就是来约束心打开的activity在任务栈的行为,有四种启动模式和若干启动标识符。启动模式:1 standard:标准模式,每次启动activity都会创建activity的实例原创 2017-04-01 14:54:05 · 282 阅读 · 0 评论 -
Android中System.exit(0)退出失败
System.exit(0):终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。System.exit(0)正常终止程序,有时候在退出安卓应用会使用到。使用这个方法如果前面存在没有finish()掉的Activity会重新启动,导致退出失败。MainActivity代码:直接启动第二个Activity:public class MainActiv原创 2017-03-16 11:48:25 · 8613 阅读 · 0 评论 -
读书笔记-Android对象序列化
为什么要序列化对象:1通过使用Intent和Binder传输对象 2把对象持久化到存储设备或通过网络传输给其他客户端序列化的两种方式:Serializable接口和Parcelable接口1 Serializable接口 Serializable接口是java所提供的序列化空接口,只为对象提供标准的序列化和反序列化操作,类直接实现该接口即可。 serialVersio原创 2017-04-13 14:04:47 · 331 阅读 · 0 评论 -
Android应用程序冷启动优化
1什么是冷启动冷启动是指从用户点击app图标到第一个Acitivity的onCreate()方法执行完毕这段时间程序所进行的活动。2冷启动都做些什么 当用户点击图标,Lnuix给APP创建独立进程,WindowManager会先加载APP里的主题样式里的窗口背景(Android:windowBackground)作为预览元素,Application和默认启动的Activity创建并初始原创 2017-04-13 16:38:42 · 419 阅读 · 0 评论 -
Android apk瘦身
如果开发出来的apk体积太大,影响用户体验,也会影响上架应用市场,特别对大型的应用更重要。apk瘦身的大致思路就两点:减少代码量和资源减少代码量:1 build.gradle中开启MinifEnabled,Proguard。打开这些编译属性之后,程序在打包的时候就不会把没有引用到的代码编译进来,以此达到减少安装包大小的目的。2 尽量使用针对移动app的jar和类, 使用其他jar包原创 2017-05-04 11:07:06 · 341 阅读 · 0 评论 -
Android应用实现QQ登录
QQ登录总结1权限和activity配置直接从官方文档拷贝到manifest文件 <activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask" >原创 2017-06-02 15:17:59 · 691 阅读 · 0 评论 -
Android应用实现微信登录和分享
微信登录和分享总结起来有四点:1、应用申请严格(获取appid和appsecret),大概需要一周。如果需要登录,还要申请登录接口,需要一周。2、由于在申请的时候需要签名信息,官方下载的apk,把自己的app用签名打包安装后,用官方提供的apk获取签名信息。这会导致一个问题,微信登录和分享的代码不能再Android Stuion中debug,debug中没有签名信息导致发生错误。没有个好办原创 2017-06-02 15:40:46 · 698 阅读 · 0 评论 -
分享一个安卓进阶的博客地址
地址:http://gityuan.com/android/原创 2017-06-08 10:03:08 · 235 阅读 · 0 评论 -
读书笔记-IntentFilter匹配规则
IntentFilter的匹配规则主要用于隐式启动activity、Service和BroadcastReceiver,主要匹配action、category和data。一、 action的匹配规则:Intent中action存在且必须和Intent-filter中的其中一个action相同(action是字符串,区分大小写)二、category的匹配规则:分两种情况: 1当in原创 2017-04-07 13:50:30 · 335 阅读 · 0 评论 -
Android中Dialog中自定义EditView导致软键盘无法弹出
1 自定义界面XML<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:padding="10dp" android:layout_margin="10dp" android:orientation=原创 2017-03-20 17:59:21 · 802 阅读 · 0 评论 -
Android控件设置透明度两种方式
在开发中总会出现给控件指定透明度的需求,这里一Button控件为例,总结设置透明度的三种方式:方式一:XML中实现android:background="#00000000"颜色值中前两位表示透明度,0表示完全透明,255(ff)表示完全不透明方式二:java代码实现Button bt=(Button)findViewById(R.id.bt);bt.getBackground().原创 2017-01-17 17:18:27 · 5258 阅读 · 0 评论 -
代码的书写规范的小总结
代码书写规范好像是个小问题,但也是很多新手经常会犯错。有时候我们知道该怎么做,挺难坚持的,今天公司的技术总监看完代码后,和我聊聊了代码的优雅和可读性。觉得有所收获,一边总结一边分享,让我们的代码越来越优雅和美观。1 命名:一般使用驼峰命名的方式,不使用没有任何意义的英语字母命名,不使用汉语拼音命名,使用准确的英文命名,看看老外的源码就能感受到那种优雅。对于名词,必须使用单数,对于数据,必须使用原创 2016-12-09 00:51:15 · 447 阅读 · 0 评论 -
android应用程序稳定性一点想法
这几天公司的app项目提交测试了,测试小伙伴反应了很多的问题,一边修改bug一边仔细想其中为什么会造成这么问题,大致可以分为以下几类:1 需求不清楚,导致一些功能没有实现或错误。这里有很重要的一点,整体需求不清楚,会对自己定义某些类和对象时候造成影响,影响代码的优雅和程序的健壮性。一句话,开始写代码知道自己要干嘛,这很重要。2 逻辑错误,在开始写代码前,和有开发经验的上司聊聊怎么实现,怎么原创 2016-12-01 18:24:34 · 1818 阅读 · 0 评论 -
WebApp性能优化的总结
H5强大的兼容性和手机硬件能力的提高,Webapp势头大有超过NativeApp趋势。也就很幸运的跟着公司做了一个项目,整体觉得Webapp的性能和用户体验还是有待提高。H5的启动速度优化: 1 主界面WebView并行启动 2 DOM快照,提前显示Dom结构。在html加载中,使用上一次没有数据的UI结构缓存填充界面,然后对UI结构进行内容填充,分步加载。H5常见性能问题:原创 2017-02-16 21:43:52 · 1646 阅读 · 0 评论 -
Android快速定位Bug总结
这几天修改公司以前的几个android项目,代码是别人写的,坑得自己来填。这种情况下根据测试对BUG描述,快速定位问题,具体就是快速找到在那个文件中、那些代码引起的问题。经过几天摸爬滚打,也找到一些好的方法分享总结一下,不足之处欢迎拍砖。 1.前人写的代码规范和合理,注释清晰,就像源码一样,好弄多了。然而现实是残酷的,不过根据命名还是能找到线索的。突然想起,平时多阅读源码是个好习惯啊。原创 2017-02-15 17:16:02 · 2219 阅读 · 0 评论 -
android中Calendar无法导入问题
在项目中,Calendar比Date使用更方便,使用的多。但在AndroidStudion中,自动导入的是import android.provider.CalendarContract,不是我们需要的Calendar。需要手动导入import java.util.Calendar;才可以public static Calendar calendar=Calendar.getInstance(原创 2017-02-13 14:29:09 · 1863 阅读 · 0 评论 -
关于android:descendantFocusability一些用法感触
项目中有这样的需求:ListView中Item包含CheckBox和TextView,textview中需要对部分关键字添加点击事件。问题在于item总是抢占textview的点击事件,事件分发中出现了冲突。最复杂的方法,可以自定义listview,重写事件分发相关方法,可以解决这个问题。但是自定义控件比较麻烦,自己也不自信。众里寻他千百度,蓦然回首,android:descendantFocus原创 2016-11-28 13:00:03 · 32055 阅读 · 2 评论 -
Android开发屏幕适配
为什么要进行屏幕适配?Android系统碎片化严重,物理硬件型号多,屏幕大小分辨率不同,适配为了追求更好的用户体验感。 屏幕尺寸信息1屏幕大小:屏幕对角线原创 2016-09-08 07:33:45 · 371 阅读 · 1 评论 -
Android文件路径小结
Android文件存储可分为内部存储和外部存储。内部存储(InnerStorage)应用私有,应用被卸载,文件删除。外部储存(ExternalStorage)可分为外部公用区域(App卸载文件保留)和应用私有区域(App卸载文件删除)。内部存储: //内部缓存文件 app卸载或空间不足,数据删除 File file6 = this.getCacheDir();原创 2017-03-02 13:24:42 · 344 阅读 · 0 评论 -
税典通项目总结
1.结构设计:一个MainActivity+多个Fragment的组合,MainActivity充当Fragment容器角色,负责管理各个Fragment。不同的功能块之间的切换,在remove和add不同的Fragment,启动Fragment速度比启动Activity快,整体app功能切换相比多个Activity的组合速度有了很大的提高。当然,一些辅助性的功能也用新的Activity实现,由于原创 2017-08-03 09:27:07 · 314 阅读 · 0 评论