随笔分类 -  android

摘要:一、Jenkins自动打包配置 目标:1. 自动打包;2. 自动上传;3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。 减少重复劳动,减少人工成本。 持续、自动地构建/测试软件项目; 监控一些定时执行的任务; ... 阅读全文
posted @ 2016-01-26 16:25 雨知 阅读(16565) 评论(0) 推荐(0) 编辑
摘要:GPU过度绘制 打开开发者选型,“调试GPU过度绘制”,蓝、绿、粉红、红,过度绘制依次加深 粉红色尽量优化,界面尽量保持蓝绿颜色 红色肯定是有问题的,不能忍受 使用HierarchyView分析布局层级 删除多个全屏背景:应用中不可见的背景,将其删除掉 优化ImageView:对于... 阅读全文
posted @ 2015-12-10 17:44 雨知 阅读(1420) 评论(0) 推荐(1) 编辑
摘要:Android快速开发框架 UI组件,不止是简单整合,更易用 沉浸式状态栏,界面更漂亮 左滑返回,非常流畅 简单、可复用、易扩展的底部导航 PagerSlidingTabStrip,导航标签文字颜色和选中时文字颜色,都可以通过xml设置 轮播图,自动+无限轮播 启动导航图SplashActivity 阅读全文
posted @ 2015-08-23 21:02 雨知 阅读(19001) 评论(53) 推荐(9) 编辑
摘要:2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开... 阅读全文
posted @ 2015-01-27 16:56 雨知 阅读(2149) 评论(0) 推荐(2) 编辑
摘要:注:现在推荐使用Android Studio,以后google在Android Studio上个性差异化的东西越来越多,所以越早使用Android Studio越好,看看更新文档,使我们开发更方便受益。相对下文:1. 下文中说的插件,Android Studio就不在需要2. SVN,Git使用基本... 阅读全文
posted @ 2014-07-23 13:06 雨知 阅读(24564) 评论(10) 推荐(4) 编辑
摘要:例子如下:Android 自定义View 密码框 例子1 良好的自定义View易用,标准,开放。一个设计良好的自定义view和其他设计良好的类很像。封装了某个具有易用性接口的功能组合,这些功能能够有效地使用CPU和内存,并且十分开放的。但是,除了开始一个设计良好的类之外,一个自定义view应该:l ... 阅读全文
posted @ 2014-06-20 16:07 雨知 阅读(45621) 评论(1) 推荐(4) 编辑
摘要:暴露您view中所有影响可见外观的属性或者行为。 详细步骤见:Android 自定义View步骤 可以通过XML定义影响外边和行为的属性如下 边框圆角值,边框颜色,分割线颜色,边框宽度,密码长度,密码大小,密码颜色 同时支持原来EditText功能,可以获得数据值,数字键盘设置等 https://g 阅读全文
posted @ 2014-06-20 15:37 雨知 阅读(16549) 评论(21) 推荐(4) 编辑
摘要:Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习。今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助。另外,如果你有比较好的项目推荐,也烦请在评论里分享出来,我会定期更新博客内容。项目篇:Apollo音乐播放器:就一个播放器,但是实现的很好oschina客户端:oschina网站的客户端哦,wp版,iOS版都有开源xabber实时聊天工具(基于xmpp协议):不评价了,反正算是同类中比较好的了四次元新浪微博客户端:今天才知道是开源的,赶紧收藏GoogleIO:谷歌开发者大会应用,虽然有点难懂,还是很有参 阅读全文
posted @ 2013-12-31 09:40 雨知 阅读(6400) 评论(3) 推荐(7) 编辑
摘要:下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助大家从头开始学习Android开发,其他则面向较高级的开发者。希望推荐的这些内容对你有帮助。官方网站1、谷歌Android开发者页面这里是主站点,在这您可以找到一切资源帮助您开始Android开发。此站包含了很多关于学习基础知识的资源,完整的API引用,以及你开始开发所需的各种工具。此站共分为五个部分:作为初学者,你应该从工具开始,这部分讲解了如何安装AndroidSDK。教程为你提供了关于Android的基本介绍,教给你如何写出你的第一个程序。它包括很多的资源,即便成为高级程序员你仍需阅读这里面的文章。API指 阅读全文
posted @ 2013-12-30 17:32 雨知 阅读(3905) 评论(4) 推荐(7) 编辑
摘要:一.形象的感官一下流畅度概念1. 这是官方给出的概念:Android流畅运行,需要运行60帧/秒, 则需要每帧的处理时间不超过16ms。2. 每秒帧数,实际上就是指动画或视频每秒放映的画面数。因此“帧”的概念就是指“画面”,1幅画就叫做“1帧”,每秒帧数指的就是“每秒播放的画面数”。帧数就是在1秒钟... 阅读全文
posted @ 2013-12-26 18:05 雨知 阅读(11469) 评论(2) 推荐(13) 编辑
摘要:通过BitmapFun在项目中使用,结合代码了解一下BitmapFun加载图片的原理,以及最佳使用实践。本文说明不包括BitmapFun的缓存部分。Android开发在使用ListView和GridView时,可能会有很多网络图片需要加载,通常我们会为每个图片加载启动一个Thread或者直接使用官方提供的AsyncTask,来做Http异步加载,但当每个ImageView子视图都触发一个AsyncTask来异步加载图片时,这样就会产生如下问题:1. 当用户快速滑动时,ImageView已经被回收,而绑定的线程还在运行,浪费CPU,浪费内存。2. 无法确保当前视图在结束时,分配的视图已经进入循环 阅读全文
posted @ 2013-12-07 15:07 雨知 阅读(9154) 评论(1) 推荐(2) 编辑
摘要:原因开发过程中遇到button.performClick()无效,原因是View.performClick()需要再UI线程中调用才会有效执行。响应系统调用的方法(比如报告用户动作的onKeyDown()或一个生命周期回调方法)永远在界面线程中进程,所以onCreate里面调用button的performClick没问题, 而通过code直接调用相当于是代码执行,并不会触发android的UI线程。什么是UI线程,以下来自官网翻译当一个应用被启动,系统创建一个执行线程,叫做"main"。这个线程是十分重要的,因为它主管向用户界面控件派发事件。其中包含绘图事件。它也是你的应用 阅读全文
posted @ 2013-11-21 17:08 雨知 阅读(6482) 评论(0) 推荐(1) 编辑
摘要:1 生命周期两张图Fragment生命周期图:Fragment与Activity生命周期对比图:2 生命周期分析1. 当一个fragment被创建的时候,它会经历以下状态.onAttach()onCreate()onCreateView()onActivityCreated()2. 当这个fragment对用户可见的时候,它会经历以下状态。onStart()onResume()3. 当这个fragment进入“后台模式”的时候,它会经历以下状态。onPause()onStop()4. 当这个fragment被销毁了(或者持有它的activity被销毁了),它会经历以下状态。onPause()o 阅读全文
posted @ 2013-08-22 22:42 雨知 阅读(129279) 评论(9) 推荐(14) 编辑
摘要:FragmentFragment 产生,优点,用途,使用方法简介1 Fragmeng简介自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其上的是为了解决不同屏幕分辩率的动态和灵活UI设计。大屏幕如平板小屏幕如手机,平板电脑的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments 。fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activity 的外观,并且由activity 管 阅读全文
posted @ 2013-08-21 18:05 雨知 阅读(10601) 评论(1) 推荐(2) 编辑
摘要:ListView作为Android开发中使用频率最高的一个控件,保证ListView的流畅运行,对用户体验的提高至关重要。Adapter是ListView和数据源之间的中间人,当每条数据进入可见区时,Adapter 的 getView() 会被调用,返回代表具体数据的视图,在成百上千条数据触摸滚动时频繁调用,因此如何优化Adapter是提高ListView性能的关键。1. 使用ViewHolder模式,重复利用convertView,减少频繁查找在2009年 Google IO开发者大会中已做说明,看一下使用不同实现方式之间的差距:Adapter 显示每条数据的 XML 布局文件如下: ... 阅读全文
posted @ 2013-08-19 15:17 雨知 阅读(7429) 评论(3) 推荐(3) 编辑
摘要:以下是通过XML定义的方式实现,如果需要通过代码实现,找到对应是set方式设置即可。去除ListView滑到顶部和底部时边缘的黑色阴影:android:fadingEdge="none"android:fadingEdge="none"去除拖动时默认的黑色背景:android:cacheColorHint="#00000000"android:cacheColorHint="#00000000"去除选中时的黄色底色:android:listSelector="#00000000"android: 阅读全文
posted @ 2013-08-13 17:38 雨知 阅读(6244) 评论(0) 推荐(0) 编辑
摘要:优化布局层次结构一个普遍的误解就是,使用基本的布局结构会产生高效的布局性能。然而每一个添加到应用的控件和布局,都需要初始化,布局位置和绘制。比如,使用一个嵌套的LinearLayout会导致过深的布局层次结构。此外,嵌套多个使用layout_weight属性的LinearLayout实例会花费更大的代价,因为每一个子布局都要测量两次。当某个布局被频繁渲染时,比如它在ListView或GridView中使用,就显得尤为重要。在这节课中,将学会使用Hierachy Viewer和Layoutopt工具对布局结构进行检测和优化。检测你的布局在Android SDK tools中包含一个叫做Hierc 阅读全文
posted @ 2013-08-02 16:36 雨知 阅读(8068) 评论(1) 推荐(3) 编辑
摘要:错误源头:HttpResponse response = httpClient.execute(httpget);错误信息:android.os.NetworkOnMainThreadExceptionat android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)at java.net.InetAddress.lookupHostByName(InetAddress.java:385)at java.net.InetAddress.getAllByNameImpl(InetAddress.java 阅读全文
posted @ 2013-07-30 14:37 雨知 阅读(12963) 评论(0) 推荐(1) 编辑
摘要:一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型: 1. KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应 2. BroadcastTimeout(10 seconds) --BroadcastReceiver在特定时间内无法处理完成 3. ServiceTimeout(20 seconds) --小概率类型 Service在特定的时间内无法处理完成三:KeyDispatchTimeoutAkey or touch event was not dispatche 阅读全文
posted @ 2013-07-30 14:25 雨知 阅读(71835) 评论(2) 推荐(9) 编辑
摘要:1. 下载ActionBarSherlock https://github.com/JakeWharton/ActionBarSherlock2. 下载SlidingMenu https://github.com/jfeinstein10/SlidingMenu3. 解压两个zip包。把ActionBarSherlock.zip包内的library引到eclipse中,重命名为ABS,可以不重命名,自带的会根据ABS名称引入,重新添加一下即可把SlidingMenu.zip包内的library和example引到eclipse中。把ABS和library设置为lib项目。在library中.. 阅读全文
posted @ 2013-07-28 22:50 雨知 阅读(2571) 评论(1) 推荐(0) 编辑