
安卓
平凡的路
这个作者很懒,什么都没留下…
展开
-
Android最佳实践
导言:因为新工作使用内网代理的关系,涉及到信息安全,外网基本被屏蔽掉了,因此部门内部还是有相当一部分人在使用eclipse,不过我还是打算申请外网,尼玛还要钱,兼用android studio 和eclipse 毕竟前者基本上沦为主流开发工具,github上很多优秀的开源项目都迁到studio上了,本来是打算在eclipse中搭建gradle环境,网上也是存在相应的解决方案,不过我还是觉得eclip原创 2016-11-23 19:49:18 · 501 阅读 · 0 评论 -
SVN
1.本地的而文件要在SVN客户端的控制之下 http://zhidao.baidu.com/link?url=2vzSLD1Qz4GpmHghCNecum18MX1MrP74okwyUJHlVJwQBymiUmOreVQVdilsc0xefuO_MMgSVqMteqlbjooUHvscJxVuNNJaa_hKa3q3NOO http://jingyan.baidu.com/article/497原创 2016-10-20 15:07:29 · 546 阅读 · 0 评论 -
版本更新
1.步骤:1)检测当前版本的信息AndroidManifest.xml–>manifest–>android:versionName。2)从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面。3)当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进入程序主界面。2.说原创 2016-10-20 17:18:05 · 991 阅读 · 0 评论 -
Android 应用安全
1.Android 安全的概念1.1.应用和数据处理安全问题1.2.保护应用数据和服务不被其他应用访问,1.3.唯一用户ID,唯一的密钥签名1.4.只有当其他应用在它们的AndroidManifest.xml文件中显式声明了、正确权限后,Android的权限系统才会允许1.5.应用也可以定义权限2.签名和密钥2.1.过程: 1)通过Gradle构建系统自动生成的调试密钥来对应用进行签名原创 2016-10-20 17:01:59 · 399 阅读 · 0 评论 -
ViewPager
1.简介 1)ViewFlow: gethub上的一个开源项目 废弃掉,有更好的,ViewFlow 相当于 Android UI 部件提供水平滚动的 ViewGroup,动态添加View的功能,也就是说如果你的View数目是不固定的,那么你就应该使用ViewFlow;ViewPager:不能动态添加View,实现屏幕间的切换。 手势滑动,PagerAdapter接口生成页面视图;ViewFli原创 2016-10-20 16:53:45 · 363 阅读 · 0 评论 -
ListView
1.ListView和Adapter1)ListView就是一个能数据集合以动态滚动的方式展示到用户界面上的View,即:以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。2)ListView和数据是分开的,不直接接触。而是通过Adapter(适配器)加载到屏幕。也就是说Adapter相当于是数据和View之间的桥梁。Adapter负责为每一个数据项制作View。 2.ListView工原创 2016-10-20 16:25:55 · 2040 阅读 · 0 评论 -
Android Activity 系列二
1.设备配置与备选资源销魂重建Activity原理: Android可自动完成调用最佳匹配资源的工作,但前提是它必须通过新建一个activity来实现显示一个新布局,方法setContentView(R.layout.)必须再次被调用。而调用setContentView(R.layout.方法又必须先调用Activity. onCreate(…)方法。因此,设备一经旋转,Android需要销毁当原创 2016-10-20 15:59:37 · 370 阅读 · 0 评论 -
Android Activity 系列一
说来泪奔,接触android也有一段时间了,当被人问到一些细节的问题时,我还是会支支吾吾,直冒冷汗,好吧!趁着闲暇时间充足,好好整理一下,再也不要有这种尴尬的感觉了,太TMD的糟糕了! 1.Activity1.1. 概述:界面组件【组件:有特定功能和接口规范的实现单元】负责与用户交互,其生命周期由操作系统【组件管理服务 : ActivityManagerService】托管,通过Intent原创 2015-12-12 16:26:24 · 571 阅读 · 0 评论 -
内存泄露
1.Android开发—常见的内存泄漏问题及解决办法 http://www.eoeandroid.com/thread-922210-1-1.html?_dsign=a6676e9c2 2016/6/16日,编译时,出现了内存溢出的问题,记录下。 https://plumbr.eu/outofmemoryerror/gc-overhead-limit-exceeded原因:The java.l原创 2016-10-20 15:11:41 · 336 阅读 · 0 评论 -
ScrollView
1.概述1)ScrollView:垂直滚动,ScrollView继承FrameLayout,是一种特殊类型的FrameLayout,因为它可以使用户滚动显示一个内容占据的空间大于物理设备显示的空间的视图列表,即:当拥有很多内容,屏幕显示不完时,需要通过滚动来显示更多内容的视图。2)HorizontalScrollView:水平滚动3)滚动的内容是它其中包含的View4)ScrollView只能原创 2016-10-20 14:07:48 · 2345 阅读 · 0 评论 -
适配器Adapter
1.谈到Adapter就忍不到要跳转到适配器模式,Adapter适配器可以简单理解为一个缓存绑定器,数据绑定视图,现在较流行的BataBinding框架该是对适配器模式的进一步封装了。2.结合官网,说说几个概念2.1.Adapters provide a binding from an app-specific data set to views that are displayed within原创 2016-10-20 00:05:18 · 560 阅读 · 0 评论 -
代码优化之合理利用编译器
工具:利用Android studio的快捷键 Ctr + F1给出的warning提示,规范化代码,并去除无用代码,使用快捷键Alt+Enter,但是并非所有的场景是能依靠编译器解决,有些是需要自己亲自更改的。编译器: https://github.com/JetBrains/intellij-community 【在这里可以找到所有的提示信息】1 导读:检查到当前全部变量建议改为局原创 2016-10-19 22:15:54 · 381 阅读 · 0 评论 -
Android Studio系列一
Android Studio入门指导:http://www.codeceo.com/article/android-studio-guide.html精华:https://www.zhihu.com/topic/19842514/top-answers 问题集结:Android Studio在创建/导入项目的时候,一直处于building的解决办法 http://finalshares.c原创 2016-03-14 18:58:23 · 1867 阅读 · 0 评论 -
git
安装git :不同操作系统,安装方法不同 windows-git bashgit命令 1)配置个人身份——git config –global user.name XXX 2)创建代码仓——git init 生成 .git文件 进入到本地项目根目录下,配置文件所在的目录 3)提交代码之前,代码修改之后——git status【查看文件修改情况】 git diff[文件全路径名]原创 2016-03-02 01:37:25 · 479 阅读 · 0 评论 -
android studio 系列二
优点 1.1. Stuido自带的Darcula主题的炫酷黑界面实在是高大上; 1.2. Studio则更加智能,补全名字,会自动根据当前函数名补全参数,智能变量命名,智能保存,从此再也不用每次都 Ctrl + S了,且Android Studio的智能提示是自动出现的; 1.3. 构建默认基于Gradle,整合了Gradle构建工具,其集合了Ant和Maven的优点,不管是配置、编译、原创 2016-03-15 00:27:10 · 1183 阅读 · 0 评论 -
eclipse
优良的编程工具对于程序员而言就是一柄利器,减少了程序员大量的时间成本。一:Eclipse如何打开/显示一个存在的目录/工程 1. 一种是工程项目源代码已经在eclipse的workspace上了 1) 法一:file->import->general/Android->existing project in workspace->browse->去勾选copy to workspace原创 2015-11-29 18:12:18 · 888 阅读 · 0 评论 -
Retrofit系列一
1.Retrofit provides two options to define HTTP request header fields: static and dynamic. Static headers can’t be changed for different requests. The header’s key and value are fixed and initiated with原创 2016-10-20 21:42:46 · 639 阅读 · 0 评论 -
ButterKnife
1.Introduction 简介 【黄油切刀】1)Annotate fields with @Bind and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout. 在定义视图元素前添加注释符号@Bind(ID) 注释框架会自动关联映射到相关联的布局文件中原创 2016-10-20 19:36:35 · 327 阅读 · 0 评论 -
数据库GreenDAO+ORM
1.简介:1)greenDAO是一个可以帮助 Android 开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储、更新、删除和查询。 2.具体使用方法1)http://blog.youkuaiyun.com/tyyj90/article/details/504509012)http://www.openopen.com原创 2016-10-20 19:22:34 · 479 阅读 · 0 评论 -
文件file
1.文件存储 http://blog.youkuaiyun.com/xushuaic/article/details/8815563 http://blog.youkuaiyun.com/eyishion/article/details/51502849 http://blog.youkuaiyun.com/zhoumushui/article/details/51361007 http://blog.youkuaiyun.com/lia原创 2016-10-20 19:14:18 · 478 阅读 · 0 评论 -
本地缓存
1.使用场景1)提高访问服务器接口的速度,测试场景:2G/3G网络环境下,以模拟用户真实体验2)影响因素:双向数据传输速度,3)可行性的措施:减少接口的调用次数 -> 整合多次为一次;措施二,调用一次服务端接口后,在规定地一个时间段内不再调用,保存数据在APP 本地上,也就是缓存时间段内,扔使用上次获取到的数据2.设计场景1)缓存时间长短设置,有一个推荐标准:长【5-10分钟】即时性高低,数据原创 2016-10-20 18:52:25 · 1398 阅读 · 0 评论 -
代码混淆
【混淆+加固+全量测试】一.概述1.Android Studio中做混淆,基本就是对Proguard-rules.pro文件的操作。混淆的过程也是有规律可循2.写出适合自己代码的混淆规则3.minifyEnabled主要用来控制是否运行混淆的4.然后我们就可以到proguard-rules.pro文件中加入我们的混淆规则了。5.代码混淆(Obfuscated code)亦称花指令,是将计算原创 2016-10-20 18:46:07 · 1361 阅读 · 1 评论 -
Android App签名打包发布
一.步骤: 1.先把应用程序打包 2.再选中其中一个应用市场进行投放 1.混淆 2.签名打包 3.补丁 4.Android通过这个数字证书确定应用的作者 5.错误日志的输出 6.补丁,bug热修复 http://gold.xitu.io/entry/57964afba34131005a96a5b8 https://segmentfault.com/a/11900000046257原创 2016-10-20 18:36:18 · 1052 阅读 · 0 评论 -
Android Studio 插件
Android Studio 插件系列一 1. Android Studio如何安装插件以及插件详解 http://blog.youkuaiyun.com/hyr83960944/article/details/35987721 本地安装 http://jingyan.baidu.com/article/fea4511a11f95bf7ba912571.html 在线安装 http://b原创 2016-03-17 19:36:59 · 2653 阅读 · 0 评论 -
Gradle系列二
1.Introduction 1.1.gradle构建系统的目标 1)让重用代码和资源变得更加容易 2)让创建同一应用程序的不同版本变得更加容易,无论是多个apk发布版本还是同一个应用的不同定制版本。让构建过程变得更加容易配置,扩展和定制1.2.为什么使用gradle 1)它允许通过插件创建自定义的构建逻辑 2)采用了Domain Specific Language(DSL语言)来描述和原创 2016-10-20 18:11:34 · 1082 阅读 · 0 评论 -
Gradle系列一
1.软件开发讲究代码复用,通过复用可以使工程更易维护,代码量更少,开发者可以通过继承,组合,函数模块等实现不同程度上的代码复用.2.软件开发也是一种工程作业,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理,也可以像代码一样被描述出来, 也可以被复用。3.一般公司都会针对不同的市场单独发包用来统计不同渠道的下载量等情况,可能需要针对不同(品牌,尺寸等各种硬件信息)的手机做一些特殊的原创 2016-03-16 17:59:07 · 382 阅读 · 0 评论 -
原型图的设计
原型图的设计1.原型的重点是提供交互性导览,在投入资源进行开发之前预判产品的可行性,所以原型控件样式也就没有那么重要。2.如果要作高保真原型的话,可以自己做贴图放到axure里面。3.手画原型,这样最能呈现我想要的原型,如果用手画怎么完成交互,现在有个4.app叫快现, POP(Prototyping on Paper)你可以把你画的东西拍下来,然后在快现里面完成一些简单的交互设计,还是能满原创 2016-10-20 12:50:24 · 2788 阅读 · 2 评论 -
性能优化之工具篇
1.概述 一个应用性能的好坏并不能依靠我们的主观意识去评判,必须要看数据说话,因此必须要了解和学会使用各种性能测试工具才知道问题出在哪以及具体的优化方向。2.标准 • 布局复杂度: 布局复杂会导致布局需要更长的时间,从而导致进入应用慢、页面切换慢; • 耗电量: 耗电量大会导致机器发热、缩短机器的有效使用时长; • 内存: 内存消耗大会导致频繁GC,GC时会暂停其它工作,导致页面卡原创 2016-10-20 12:13:31 · 374 阅读 · 0 评论 -
RxJava系列二
1.RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据。。。)2.一个Observable可以发出零个或者多个事件,直到结束或者出错。每发出一个事件,就会调用它的Subscriber的onNext方原创 2016-10-22 14:42:41 · 406 阅读 · 0 评论 -
RxJava系列一
1.简介 1)RxJava它就是一个实现异步操作的库:a library for composing asynchronous and event-based programs using observable sequences for the Java VM2)Android 创造的 AsyncTask 和Handler ,其实都是为了让异步代码更加简洁,与众不同之处在于,随着程序逻辑变得越原创 2016-10-22 14:27:34 · 950 阅读 · 0 评论 -
搭建高质量的Android项目框架系列四
界面层详解1.要规划好界面层,至少应该遵循几条基本的原则:1)保持规范性:定义好开发规范,包括书写规范、命名规范、注释规范等,并按照规范严格执行;2)保持单一性:布局就只做布局,内容就只做内容,各自分离好,每个方法、每个类,也只做一件事情;3)保持简洁性:保持代码和结构的简洁,每个方法,每个类,每个包,每个文件,都不要塞太多代码或资源,感觉多了就应该拆分。规范性 1.每个人的编码习惯和风格都不同,原创 2016-03-18 19:13:48 · 408 阅读 · 0 评论 -
搭建高质量的Android项目框架系列三
1.分包 1.1.首先是其架构,是按功能模块进行划分的,但不必分得太细,最多五个模块就够了,很多类按其功能其实可以属于多个模块,这个时候就需要抽出来。 1.2.类定义要明确,权责单一2.详解 2.1.模型层定义了所有的模型 2.2.接口层封装了服务器提供的API 2.3.核心层处理所有业务逻辑 2.4.界面层就处理界面的展示接口层 1.接口层封装了网络底层的API,并提供给核心层调用原创 2016-03-18 19:10:34 · 477 阅读 · 0 评论 -
搭建高质量的Android项目框架系列二
1.首先要考虑的是这个项目或者说这个产品的核心功能是什么? 比如: 1)图片处理和展示类app,我们更多考虑对大量图片的处理,防止OOM等等; 2)理财营销类软件,比如微众银行、同花顺这种大量采用H5页面的app,考虑需要对webview控件优化和Js交互框架的搭建.总结:框架是为了便于业务的展开,是为业务而服务的,框架的选择是和业务需求紧密相连的。2.目工程搭建 2.1.http://w原创 2016-03-18 19:04:33 · 573 阅读 · 0 评论 -
搭建高质量的Android项目框架系列一
1.编程规范 1.1.Application Name: 项目应用名,命名规则简单 1.2.Package Name:包名遵循“DNS反转”约定,亦即将企业组织或公司的域名反转后,在尾部附加上应用名称。遵循此约定可以保证包名的唯一性,遵循MVC的命名原则。![这里写图片描原创 2016-03-18 18:56:17 · 3063 阅读 · 1 评论 -
写在开发前——android各种准备工作
一个傲娇的人,做事向来任凭心血来潮,哈哈,说的就是我。趁着现在闲,赶紧熬熬夜,补一补血,不然现在不吃点苦,以后就得为现在的懒散买单了,跑题了,顺便抛出今天无意间在知乎上拾得的一个话题:计算机领域的圣经级书籍? 答:《颈椎病的康复之路》哈哈哈,老梗了,still戳中哥的泪点。1.如何配置android的adb环境变量http://jingyan.baidu.com/article/17bd8e52f5原创 2015-10-13 01:39:04 · 1488 阅读 · 0 评论 -
Android-多线程
我每次写博客之前都忍不住想搞搞怪,这是一种什么逻辑与心态,侏罗纪与神心态,看来我很有闷骚作家的潜力啊!思泉涌动,如浩瀚江水,如涓涓细流,哈哈!不废话了。 默认情况下 : 所有在应用中的操作都运行在UI线程(主线程)上,因此之所以出现ANR问题,根因就在于主线程中被执行了耗时操作,阻塞了主线程,使其无法及时的绘制界面和相应用户的输入事件,系统可能杀死应用程序。*来看看官方文档:*By default原创 2015-12-09 13:47:24 · 553 阅读 · 0 评论 -
Android广播机制-BroadcastReceiver
初次跳槽,经验匮乏,offer至今没有拿到,快一个月了,又逼近年关,各种尴尬症并发!总结了下失利的因素:投简历没有经验;工作不对口;裸辞倒挺干脆;气运还是差了。但最主要的还是自身:haven’ t fall in love with programming yet,passive -learning ! 吃亏在于之前的工作性质导致我存在很多不足,还好我年轻,权且当做是积累经验。1.概念:是一种广泛原创 2015-12-16 23:27:43 · 705 阅读 · 0 评论 -
解读代码系统-具有定制列表项的用户界面
两个知乎话题:1. 我用假简历去面试去面试android的结果为什么是这样?1)找工作这种事情就跟找对象一样,只要双方看对眼就成了,别的都是借口。2)对于小公司而言,重要的是你能留下来,而不是你有多优秀!你再优秀,留不下来也是白搭!你这么叼,就算哄着留下来了,没事抄了老板鱿鱼咋办?这就是为什么好多特别厉害的人反而被小公司刷了,因为公司知道留不住。3)我觉得这个问题是在钓鱼,钓上原创 2015-12-30 18:12:11 · 485 阅读 · 0 评论 -
Android后台服务-service
一. 概述 1) 所有耗时和阻塞的操作都应该在service中开启单独线程来处理,每一个任务都要有一个对应的service类,之所以放在service中处理其一是因为它能够保证用户在按下后退back键和home主屏幕键时仍然能够完成任务,不用担心被中断的情况;其二把处理后台任务的应用逻辑和处理用户界面的代码分离,实现解耦。 2) 应用场景:处理后台操作,下载,网络获取,播放音乐。 3)后原创 2015-12-14 15:36:30 · 754 阅读 · 0 评论 -
RxJava系列三
操作符1.RxJava的强大性就来自于它所定义的操作符 其实就是提供的方法,因为操作符可以让你对数据流做任何操作。2.Demo 2.1.这个方法根据输入的字符串返回一个网站的url列表(啊哈,搜索引擎) 2.2)这种代码当然是不能容忍的,因为上面的代码使我们丧失了变化数据流的能力。一旦我们想要更改每一个URL,只能在Subscriber中来做。我们竟然没有使用如此酷的map()操作符!!!当然原创 2016-10-22 14:59:50 · 644 阅读 · 0 评论