
Android程序
文章平均质量分 79
等待远航的水兵
自由,简洁
展开
-
Ted Mosby - 一个MVP框架的软件架构
Ted Mosby - 软件架构作者:Hannes Dorfmann原文链接 : [http://hannesdorfmann.com/android/mosby/] (http://hannesdorfmann.com/android/mosby/)文章出自 : Android开发技术前线译者 : Mr.Simple我给这篇关于Android库的博客起的名字灵感来源于《老爸老转载 2015-11-11 19:19:31 · 1159 阅读 · 0 评论 -
高仿微信对话列表滑动删除效果
高仿微信对话列表滑动删除效果目录(?)[+]前言用过微信的都知道,微信对话列表滑动删除效果是很不错的,这个效果我们也可以有。思路其实很简单,弄个ListView,然后里面的每个item做成一个可以滑动的自定义控件即可。由于ListView是上下滑动而item是左右滑动,因此会有滑动冲突,也许你需要了解下android中点击事件的派发流程,请参考Android转载 2015-10-10 11:45:35 · 1001 阅读 · 0 评论 -
AS问题解决系列3—iCCP: Not recognizing known sRGB profile
本文解决了Android Studio 1.2.2下编译期间出现的libpng warning: iCCP: Not recognizing known sRGB profile that has been edited警告问题。转载 2015-09-18 14:44:40 · 1722 阅读 · 1 评论 -
ActivityLifecycleCallbacks 对Activity的生命周期事件进行集中处理
ActivityLifecycleCallbacks是什么?Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。为什么用ActivityLifecycleCallbacks?以往若需监测Activity的生命周期事件代码,你可能是这样做的,重写每一个Acivity的onResume(),然后作统计和处理:[java]原创 2015-10-20 13:06:34 · 402 阅读 · 0 评论 -
Retrofit – Java(Android) 的REST 接口封装类库
原文 http://blog.chengyunfeng.com/?p=491Retrofit 和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。例如:public interface GitHubService { @GET("/users转载 2015-09-16 16:03:59 · 667 阅读 · 0 评论 -
android获得联系人
import android.annotation.SuppressLint;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.os.Bundle;import android.provider.Cont转载 2015-09-15 13:58:53 · 361 阅读 · 0 评论 -
Android Fragment 生命周期图
1 生命周期两张图Fragment生命周期图:Fragment与Activity生命周期对比图:2 生命周期分析1. 当一个fragment被创建的时候,它会经历以下状态.onAttach()onCreate()onCreateView()onActivityCreated()2. 当这个fragment对用户原创 2015-09-15 11:45:38 · 461 阅读 · 0 评论 -
android快捷方式创建权限
android快捷方式创建权限(市场大部分launcher)添加快捷方式 -->uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />uses-permission android:name="com.android.launcher2.permission.INSTA原创 2015-09-07 09:58:58 · 9077 阅读 · 1 评论 -
Android添加快捷方式(Short)到手机桌面
权限 要在手机桌面上添加快捷方式,首先需要在manifest中添加权限。 添加快捷方式 --> uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 移除快捷方式 --> uses-permission android:name="原创 2015-09-06 09:46:28 · 912 阅读 · 0 评论 -
Android设置虚线、圆角、渐变
有图又真相,先上图再说。点击效果:设置虚线:[html] view plaincopyxml version="1.0" encoding="utf-8"?> shape xmlns:android="http://schemas.android.com/apk/res/a转载 2015-08-19 20:19:31 · 310 阅读 · 0 评论 -
Gson在 Android开发中可能存在的陷阱
Gson在 Android开发中可能存在的陷阱引言本文来自于Foursquare的团队技术博客。Foursquare团队最近发现自家的Android app在使用过程中并没有传说当中的“如黄油般顺滑”,而且通过查看logcat发现app会频繁地发起 GC_FOR_ALLOC 调用,Activity和Fragment之间的跳转也没有想象当中那样快。于是好学的工程师们开始去挖掘这个转载 2015-08-18 10:00:47 · 556 阅读 · 0 评论 -
计算出当前绘制出来的字符串宽度和高度
宽度:方法1:Paintpaint= new Paint(); Rect rect = new Rect();//返回包围整个字符串的最小的一个Rect区域paint.getTextBounds(str, 0, 1, rect); strwid = rect.width();strhei = rect.height();方法2://直接返原创 2015-06-15 10:49:47 · 2061 阅读 · 0 评论 -
Intent相关FLAG介绍和Activity启动模式
先首先简单介绍下Task和Activity的关系Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最上面。从Task中取出东西(Activity)是从最顶端取出,也就是说最先取出的是最后添加的东西(Activity),以此类推,最后取出的是第一次添加的Activity,而Ac原创 2015-08-03 21:22:13 · 3653 阅读 · 0 评论 -
Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换
转帖请注明本文出自xiaanming的博客(http://blog.youkuaiyun.com/xiaanming/article/details/17718579),请尊重他人的辛勤劳动成果,谢谢!在Android开发中,我们常常用到ListView和GridView,而有的时候系统的ListView,GridView并不能满足我们的需求,所以我们需要自己定义一个ListView或者GridV转载 2015-12-28 10:15:37 · 575 阅读 · 0 评论 -
Android官方架构组件-ViewModel
ViewModel像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的。Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构。作为开发者,这些行为我们是无法干预的。所以Activity或Fragment中的一些数据也会随着销毁而丢失,随着重构而重新生成。比如你的Ac原创 2017-12-10 14:05:29 · 1661 阅读 · 0 评论 -
如何在Android开发中让你的代码更有效率
最近看了Google IO 2012年的一个视频,名字叫做Doing More With Less: Being a Good Android Citizen,主要是讲如何用少少的几句代码来改善Android App的性能。在这个视频里面,演讲者以一个图片app为例讲解如何应用Android中现有的东西来改善app性能问题。这个图片app的代码在这里。ppt在这里。现在我将视频里面的内容记录如翻译 2017-03-03 16:00:30 · 428 阅读 · 0 评论 -
深入解析Android的自定义布局
写在前面的话:这篇文章是前Firefox Android工程师(现在跳槽去Facebook了) Lucas Rocha所写,文中对Android中常用的四种自定义布局方案进行了很好地分析,并结合这四种Android自定义布局方案所写的示例项目讲解了它们各自的优劣以及四种方案之间的比较。看完这篇文章,也让我对Android 自定义布局有了进一步的了解,于是趁着兴头,我把它翻译成中文,原文翻译 2017-03-03 15:44:46 · 412 阅读 · 0 评论 -
RxJava运用Scheduler完成多线程操作
RxJava运用Scheduler完成多线程操作Scheduler-调度器 (为了方便理解可以简单的认为rx中的调度器即为线程)应用Rxjava中如果想在操作符链上添加多线程,你可以指定这些操作符(或特定的Observables)运行在指定的调度器上.也就是说RxJava的多线程是由Schedulers操作的RxJava中Schedulers有很多种 下表展示了RxJava中常用的几种调度器:原创 2016-12-05 11:03:26 · 2263 阅读 · 0 评论 -
SpannableString使用详解
SpannableString类来对指定文本进行相关处理原创 2016-07-25 17:52:43 · 684 阅读 · 0 评论 -
Android studio编译OOM
Android Studio编译报错 java.lang.OutOfMemoryError: GC overhead limit exceeded原因:由于编译过程中导入jvm内存中资源过多,超出内存限制导致OOM解决方法:如果在整个工程中生效,则在build.gradle中增加如下配置:12345678android {..............原创 2016-04-15 16:14:28 · 2415 阅读 · 0 评论 -
PhotoView ImageView缩放
介绍我们来讨论PhotoView这个开源项目,也是我们用的非常频繁的一个,用来帮助产生一个容易实现ImageView缩放的这么个东东。功能特性 支持放缩超出边界,多点触控和双击事件 滚动和滑动 和ViewPager等能完美兼容 矩阵变化等有回调,方便前台其他展示的改变 单击,长按都有回调提醒源码剖析那么怎么来学习他的源码呢,我转载 2016-03-28 17:10:48 · 557 阅读 · 0 评论 -
android 布局优化标签<include/>、<merge />、<ViewStub />
在布局优化中,Android的官方提到了三种布局标签、、,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记。1、布局重用标签能够重用布局文件,简单的使用如下:[html] view plaincopyprint?LinearLayout xmlns:android=原创 2016-02-02 11:43:33 · 653 阅读 · 0 评论 -
关于“运行在主线程的ContentProvider为什么不会影响主线程”的记录
我们四大组件都是运行在UI线程上的,之前据我自己所看到的是主线程上有耗时的操作可能会造成ANR,今天做了一个实验,建立一个工程,主Activity有一个可以触发显示一个Toast的按钮,另外还有一个SQLiteOpenHelper的子类,另外一个继承ContentProvider,提供往数据库插入数据的操作:01packagecth.android.转载 2016-03-02 13:47:48 · 5108 阅读 · 0 评论 -
Android 几种获得view的宽和高的方法
android view获取宽高原创 2016-03-01 14:28:09 · 923 阅读 · 0 评论 -
我为什么主张反对使用Android Fragment
转载自 我为什么主张反对使用Android Fragment 文中的fragments应该是fragment,在英文中为复数,但是中文没有这个习惯。原文如下:原文链接:https://corner.squareup.com/2014/10/advocating-against-android-fragments.html最近我在Droidcon Paris举办了转载 2015-12-25 18:58:50 · 819 阅读 · 0 评论 -
JNI学习小结
Java中类型与C/C++中对应关系 Java中的类的对应 Sign签名, 用来识别对应各个方法。JDK下的javap.exe能输出签名。用法javap -s -p 完整类名 下面是几个例子程序:1、C++本地方法中获取Java中的变量以及调用Java中的方法 Java代码:原创 2016-01-21 10:23:39 · 1154 阅读 · 0 评论 -
fresco使用笔记
关于 FrescoFresco 是一个强大的图片加载组件。Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。Fresco 中设计有一个叫做 Drawees 模块,方便地显示loading图,当图片不再显示在屏幕上时,及时地释放内原创 2016-01-19 10:37:57 · 536 阅读 · 0 评论 -
Android中的布局优化方法
Android开发中的布局很重要吗?那是当然。一切的显示样式都是由这个布局决定的,你说能不重要吗。要实现一个好的布局,不只是实现了、显示出来就完了,不管层次,堆砌代码也可以实现功能,但是这显然违背了Android布局设计的原则。可能你会说,Android布局设计哪有什么原则,我可以明确告诉你,当然有,只要有利于提高最终效果的方法、意识,我们都可以把它提升为原则。在Android布局设计中,这个最终转载 2015-06-12 17:33:28 · 429 阅读 · 0 评论 -
scroller
翻译自:http://developer.android.com/reference/android/widget/Scroller.htmlandroid.widget.Scroller是用于模拟scrolling行为,它是scrolling行为的一个帮助类。我们通常通过它的startScroll(int startX, int startY, int dx, int dy, int翻译 2015-05-25 17:28:58 · 406 阅读 · 0 评论 -
Android性能优化典范
Android性能优化典范2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优转载 2015-02-05 15:46:53 · 428 阅读 · 0 评论 -
Android开发中正确读写sdcard文件的方法
在开发android程序,读写sdcard时,使用绝对地址,比如:“/sdcard/folder/”等,这样写是会出问题的,正确的写法如下: if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) {原创 2015-01-19 16:19:57 · 588 阅读 · 0 评论 -
Android中实现文件下载
从服务器下载图片到本地sdcard,上网查找了一些例子,下面这个比较合适,原文内容如下:我们在开发中经常需要从服务器下载文件,下载的内容可能有交换的信息,缓存的图片,程序更新包等。我们使用URLConnection来实现下载。先看几行代码:String urlDownload = "";urlDownload = "http://www.baidu.com/img/ba原创 2015-02-02 18:35:55 · 509 阅读 · 0 评论 -
大话Fragment管理
上一个项目遇到了一个Activity 管理30个Fragment的情况,刚开始的时候真的管理的焦头烂额,但是后来不停的研究api文档,渐渐的明白了android的Fragment管理体系。下面用一种Fragment嵌套Fragment的情况来总结一下Fragment的管理。 大神立马就能看出来,最外面一个Activity,底下首页,分类,购物车..是第一层一个FragmentTabHost,转载 2014-09-18 15:51:22 · 466 阅读 · 0 评论 -
Android中的软引用(SoftRefrerence)和弱引用(WeakReference)介绍
在Android开发中,用到软引用或弱引用,对自己开发的代码质量的提高有很大的帮助。首先,分清两者的区别和用处: 1. SoftReference:软引用-->当虚拟机内存不足时,将会回收它指向的对象;需要获取对象时,可以调用get方法。 2. WeakReference:弱引用-->随时可能会被垃圾回收器回收,不一定要等到虚拟机内存不足时才强制回收。原创 2015-01-29 14:13:35 · 823 阅读 · 0 评论 -
Android应用中的数据缓存
无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户。从事Android开发工作以来,个人认为Android应用可以说是作为小型应用,只是其中很多的开发时间花费在细节之上(UI交互方式、响应速度、效果、字体、颜色等等),其中90%乃至99的应用并不是需要实时更新的(即时通讯类的除外:QQ),而且诟病于蜗牛般的移动网速,3G也是(至少中国目前是这样的)转载 2015-01-29 15:18:30 · 1483 阅读 · 0 评论 -
android WebView笔记
浏览器控件是每个开发环境都具备的,windows的有webbrowser,android和ios都有webview。只是其引擎不同,相对于微软的webbrowser,android及ios的webview的引擎都是webkit,对Html5提供支持。本篇主要介绍android的webview之强大。A. webview组件如何使用 1) 添加权限:Andr原创 2015-01-27 17:34:02 · 473 阅读 · 0 评论 -
Android应用程序内部启动Activity过程(startActivity)的源代码分析
上文介绍了Android应用程序的启动过程,即应用程序默认Activity的启动过程,一般来说,这种默认Activity是在新的进程和任务中启动的;本文将继续分析在应用程序内部启动非默认Activity的过程的源代码,这种非默认Activity一般是在原来的进程和任务中启动的。 这里,我们像上一篇文章Android应用程序启动过程源代码分析一样,采用再上一篇文章Android转载 2014-09-23 16:52:29 · 703 阅读 · 0 评论 -
Android应用程序启动过程源代码分析
前文简要介绍了Android应用程序的Activity的启动过程。在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程序的启动过程。 在上一篇文章Android应用程序的Activity启动过程简要介绍和学习计划中,我们举例子说明转载 2014-09-23 15:02:37 · 646 阅读 · 0 评论 -
android反编译工具总结
序:总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,都是不道德的!大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.dex文件中得到.class,利用后者再得到大家垂涎已久的java文件。下面分别针对这三种格式的文件进行反编译处理;1.对xml文件进行包的解析,一般有两种方式:apktool(推荐)转载 2014-10-16 16:59:16 · 459 阅读 · 0 评论 -
Android中处理崩溃异常
大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开转载 2014-10-15 18:48:03 · 444 阅读 · 0 评论