android
文章平均质量分 51
泼丝
热爱技术。
展开
-
Android studio 运行java类
Android studio 一般直接运行带main方法的java类是不行的,可以添加如下配置就可以直接运行了。在.idea下的gradle.xml中新增一项:<component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <option name="delegatedBu原创 2021-06-28 18:04:04 · 652 阅读 · 0 评论 -
Android 使用android-support-multidex解决Dex超出方法数的限制问题
随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:UNEXPECTED TOP-LEVEL EXCEPTION:java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536at com.andro原创 2015-07-28 10:35:20 · 15379 阅读 · 2 评论 -
系统服务-----Activity服务的获取getSystemService
android的后台存在很多service,它们在系统启动的时候被SystemServer开启,来为系统的正常运行做支撑。Activity中要调用这些service就得使用getSystemService方法,这也是Activity很重要的一个API。根据传入的Name取得对应的Object,然后转换成相应的服务对象。传入的Name返回的对象说明原创 2015-07-10 11:17:42 · 3682 阅读 · 1 评论 -
Material Design
http://www.google.com/design/spec/style/color.html#color-ui-color-palette Google material design提供了色板的参考值,下面是显示效果。为了方便日后使用,我将这些色彩值保持到colors.xml中。这样以后在android里调用这些色彩就很方便啦:-)转载 2015-06-11 14:20:06 · 1408 阅读 · 0 评论 -
android5.0报错“com.ut.permission.DEVICE_STATE”导致应用安装不上
以前开发的应用在android4.4之前还运行的好好的。结果升级到android5.0就会报com.ut.permission.DEVICE_STATE这个权限的问题。这种问题很可能是权限的申明和获取的方式引起的,注意一下就可以避免了。这个权限应该是用而不是声明声明权限只能有一个app声明,如果有多个app声明一个权限,那它必须是签名也一样的 Demo1的AndroidManife原创 2015-05-26 15:18:57 · 2862 阅读 · 1 评论 -
指给新手的项目中写代码可能会出现bug的地方,慢慢积累,慢慢避免
(1)、使用控件的时候申明变量后容易忘掉findview这样程序运行的时候就会报空指针,有时候项目里边的业务逻辑可能会比较复杂如果测试不是疯狂的测试,有的逻辑将不能被走到,直到项目上线后台的某些设置会让程序走到可能报空指针的代码段,傻了吧!(2)、各种数值转换的过程比如字符串转个整数型很容易会抛出异常 最好有必要的防范措施比如加上try语句,或者前期的一些判断语句。如果后台开发人员原创 2015-05-07 09:47:13 · 1918 阅读 · 0 评论 -
ListView优化
最近在折腾ListView的优化,发现网上有许多优秀的实现方法,但是分散在不同的代码中,希望通过这一系列文章做个总结,并梳理清楚脉络。1、ListView是怎么工作的ListView的设计考虑了可拓展性和性能,从本质上来说,这意味着:(1)尽量少的inflate操作(2)只绘制或展示屏幕上可见(或者即将可见)的子控件第(1)条的理由很简单:对XM转载 2015-05-14 10:32:20 · 682 阅读 · 0 评论 -
Android_View_View绘制流程
1. View 树的绘图流程当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw 。整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展开,该函数所做 的工作可简单概况为是否需要重新计算视图大小(measure)、是转载 2015-05-04 13:50:03 · 789 阅读 · 0 评论 -
Universal-Image-Loader(android图片缓存)
转载请注明http://write.blog.csdn.net/postedit?ref=toolbar点击下载所需jar文件项目介绍:Android上最让人头疼的莫过于从网络获取图片、显示、回收,任何一个环节有问题都可能直接OOM,这个项目或许能帮到你。Universal Image Loader for Android的目的是为了实现异步的网络图片加载、缓存及显示,支持多线原创 2014-08-21 12:55:46 · 44950 阅读 · 16 评论 -
FaceBook开源库Fresco
资料已经整理成了电子书欢迎进群284568173讨论学习使用关于 FrescoFresco 是一个强大的图片加载组件。Fresco 中设计有一个叫做 image pipeline的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。Fresco 中设计有一个叫做 Drawees模块,方便地显示lo原创 2015-04-01 18:03:33 · 4156 阅读 · 1 评论 -
闲时整理(5)--圆形标签
结合闲时整理(3)------消息提示标签 BadgeView和闲时整理(4)--圆形TextView修改整理了CircleBadgeView这个类,标签是圆形的了,以前的标签是圆角矩形。package com.glory.room.view;import android.content.Context;import android.content.res.Resources;impo原创 2015-01-20 13:43:32 · 2265 阅读 · 2 评论 -
闲时整理(4)--圆形TextView
重写的TextViewpackage com.example.circletextview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.原创 2015-01-20 10:37:03 · 8182 阅读 · 2 评论 -
闲时整理(3)------消息提示标签 BadgeView
重写的TextViewpackage com.glory.room.view;import android.content.Context;import android.content.res.Resources;import android.graphics.Color;import android.graphics.Typeface;import android.graphic原创 2015-01-19 14:17:18 · 2617 阅读 · 1 评论 -
闲时整理(2)------FloatActionButton
这个button已经在很多应用中都出现了,在android 5.0版本后这样的效果是很容易就能实现的,但对于老版本只能用代码来堆积了。package com.faizmalkani.floatingactionbutton;import com.nineoldandroids.animation.ObjectAnimator;import com.nineoldandroids.view原创 2015-01-15 14:42:39 · 6255 阅读 · 0 评论 -
闲时整理(1)------SnackBar
展示的效果就这样简单就看你是有那个需求了。SnackBar的创建过程使用了Builder设计模式,有不同需求的可以更具需求结合代码创建出需要的效果。public class MainActivity extends Activity { private SnackBar mSnackBar; @Override protected void onCreate(Bundle savedIn原创 2015-01-14 10:30:13 · 3240 阅读 · 1 评论 -
Intent和PendingIntent的区别
intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadc转载 2015-07-20 13:51:25 · 544 阅读 · 0 评论 -
系统服务-----NotificationManager
熟悉api事例笔记:package com.test;import com.example.test.R;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;impor原创 2015-07-20 13:48:00 · 865 阅读 · 0 评论 -
eclipse studio 使用
http://www.stormzhang.com/devtools/2014/11/28/android-studio-tutorial2/转载 2015-08-13 14:37:29 · 507 阅读 · 0 评论 -
改变ViewPager的内容之间切换动画的速度
自定义Scrollerpublic class ViewPagerScroller extends Scroller { private int mDuration; public ViewPagerScroller(Context context) { super(context); } public ViewPagerScroller(Context context, In原创 2015-12-22 17:08:42 · 4145 阅读 · 0 评论 -
android快速开发框架xUtils
xUtils简介xUtils 包含了很多实用的android工具。xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls 最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:DbUtils模块:android中的orm框架,一行代原创 2014-08-25 16:20:55 · 55622 阅读 · 17 评论 -
Android热修复技术原理
2017年6月,阿里巴巴手淘技术团队推出了史上首个非侵入式移动热更新解决方案——Sophix。在Android热修复的三大领域:代码修复、资源修复、SO修复方面,以及方案的安全性和易用性方面,Sophix都做到了业界领先。 《深入探索Android热修复技术原理》从阿里Sophix方案开发过程入手权威解读,分享了阿里巴巴手淘技术团队对系统底层的原创性发现,是业界首部全方位完整介绍热转载 2017-07-19 14:52:07 · 435 阅读 · 0 评论 -
android webview 解决回退重定向的问题
public class MainActivity extends AppCompatActivity { private WebView webview; private MyWebViewClient webViewClient; @Override protected void onCreate(Bundle savedInstanceState) {原创 2017-06-20 10:26:13 · 6202 阅读 · 0 评论 -
android升级
apkUpdate是一个基于android系统原生的DownloadManager实现的apk下载的库。适合简单粗暴的全量更新apk。获取升级接口的数据后做简单的配置就ok。例如: //进入activity监测升级 ApkUpgradeTool tool = new ApkUpgradeTool.Builder(MainActivity.this)原创 2017-03-23 13:56:47 · 627 阅读 · 0 评论 -
android:theme中各个颜色的对应位置
android5.0之后对应用的主题风格下了很大的功夫。常常设置them的时候不知道一些item对应的位置,下图是个比较明确的展示。原创 2016-08-09 16:22:09 · 1878 阅读 · 0 评论 -
Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
现在开发中的功能需要直接跳转到拨号、联系人、短信界面等等,查找了很多资料,自己整理了一下。1、跳转到拨号界面,代码如下:1)直接拨打Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));startActivity(intentPhone);2)跳转到拨号界面Intent转载 2016-06-06 19:07:27 · 951 阅读 · 0 评论 -
android属性动画相关类学习---ValueAnimator
ValueAnimator是属性动画机制中的核心类,它的内部使用一种时间循环的机制来计算值与值之间的动画过渡,我们只需要告诉它初始值和最终值以及动画运行时长,ValueAnimator就好会帮助我们完成初始值到结束值得的平滑效果。这个类有的人说不常用,但是本人的体会是用它的场景非常多,比如涉及到数字相关的场景就非常多。举例一、为ProgressBar设置值得:private void原创 2016-04-20 10:45:14 · 580 阅读 · 0 评论 -
Behavior相关资料
public static abstract class Behavior { ............. /** * Determine whether the supplied child view has another specific sibling view as a * layout dependency.原创 2016-05-25 17:05:32 · 453 阅读 · 0 评论 -
Android中的Interpolator
http://blog.csdn.net/hpu_zyh/article/details/46995371首先介绍一个网站 https://www.desmos.com,这是一个通过函数来生成函数图像的网站,使用起来很灵活,可以 同时添加多个函数图像,分别指定他们的定义域。感谢道哥分享!系统提供的InterpolatorLinearInterpolator转载 2016-04-18 14:59:49 · 722 阅读 · 0 评论 -
This support library should not use a different version
添加一些support中的类时需要在build.gradle中添加点儿东西。//You have to use compileSdkVersion=22compile 'com.android.support:design:22.2.0'compile 'com.android.support:design:22.2.1'//You have to use compileSdk原创 2016-05-24 18:29:47 · 6871 阅读 · 0 评论 -
android 渐变背景xml
渐变的实现有很多种xml实现是其中的一种。渐变属性大概介绍 <!--android:startColor="#aa000000" 渐变起始色值 android:centerColor="" 渐变中间色值 android:endColor="#ffffffff" 渐变结束颜色 android:angle="45" 渐变的方原创 2015-12-30 12:26:50 · 5226 阅读 · 0 评论 -
code扫描雷达
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.graphics.SweepGradient;impo原创 2015-09-25 10:41:21 · 613 阅读 · 0 评论 -
Android开发中Handler的经典总结
一、Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI。 解释:当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件, 进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如:转载 2015-08-06 15:08:51 · 730 阅读 · 0 评论 -
Android之AssetManager使用
1. 获取AssetManager AssetManager assetManager = context.getAssets();2. 列出assets目录下所有文件 String[] filePathList = assetManager .list("");3. 打开某个文件InputStream is = ass原创 2015-07-24 10:51:07 · 8292 阅读 · 2 评论 -
java中时间比较
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d1 = df.parse("2004-03-26 13:31:40"); Date d2 = df.parse("2004-01-02 11:30:24"); long diff = d1.getT转载 2014-12-02 10:30:11 · 745 阅读 · 0 评论 -
Unable to execute dex: method ID not in [0, 0xffff]: 65536资料
預防 Android Dex 64k Method Size Limit08 September 2014如果你有 Android App 持續開發一年以上,那你多半已經遇過很有名的 Dex 64k method 數量上限:Unable to execute dex: method ID not in [0, 0xffff]: 65536Conversion to Dal转载 2014-11-05 15:12:34 · 21864 阅读 · 3 评论 -
android 上下左右手势判断 根据别人的改的
package com.gesture;import android.content.Context;import android.util.DisplayMetrics;import android.view.WindowManager;public class GestureUtils { //获取屏幕的大小 public static Screen转载 2014-07-15 16:56:01 · 2882 阅读 · 0 评论 -
学习Android Push Notification
其中一个比较成熟的解决方案便是使用XMPP协议实现。而AndroidPn项目就是使用XMPP协议实现信息推送的一个开源项目原创 2014-07-14 15:21:05 · 644 阅读 · 0 评论 -
Androidpn里的Xmpp的理解
XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。用xmpp来实现android的push功能,感觉有点大材小用了,xmpp本身是一种即时通信协议。 xmpp是一种用于即时通信的协议,使用过程有点类似于我们使用QQ的过程,其使用过程分为三步: 1. 连接服务转载 2014-07-15 15:31:40 · 650 阅读 · 0 评论 -
三种方法解决android帮助文档打开慢
经查是因为本地文档中的网页有如下两段js代码会联网加载信息,将其注释掉后就好了转载 2014-06-19 17:32:14 · 3623 阅读 · 1 评论 -
Android异步下载图片并且缓存图片到本地
在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML资源,其中包括图片,我们要做的解析XML里面的数据,并且把图片缓存到本地一个cache目录里面,并且用一个自定义的Adapter去填充到LIstView,demo运行效果见下图:通过这个demo,要学会有一下几点1.怎么解转载 2014-07-25 17:19:40 · 823 阅读 · 0 评论