
java
文章平均质量分 63
franksight
这个作者很懒,什么都没留下…
展开
-
Cannot add extension with name 'android'......
在添加ButterKnife的时候,根据它的Readme配置以后报错:Error:(2, 0) Cannot add extension with name 'android', as there is an extension already registered with that name.如截图所示:解决方法如下:默认我们在自己的module下添加后是这原创 2017-08-11 11:05:49 · 3392 阅读 · 2 评论 -
Android Butterknife使用方法总结
前言ButterKnife 简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。项目github地址:https://github.com/JakeWharton/butterknifeButterKnife 优势1、强大的原创 2017-08-04 14:00:22 · 1338 阅读 · 0 评论 -
Xutils概述
xUtils简介xUtils 包含了很多实用的android工具。xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:转载 2017-08-22 21:05:34 · 311 阅读 · 0 评论 -
Restful Api设计指南
作者: 阮一峰日期: 2014年5月22日网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计转载 2017-08-22 21:46:09 · 298 阅读 · 0 评论 -
这么多开源框架,该用哪个好?
这么多开源框架,该用哪个好?想必这样的问题,大家都有疑惑过。我想大部分的疑惑无非以下几点:这个框架稳定吗?要是有bug怎么办?这个框架能满足我的所有需求吗?如果用到一半发现不适用该怎么办?这个框架耦合度高吗?是否能按照需求再去定制扩展?先不看以上几点,我们先来说什么样的框架一定一定不要采纳:聚合型框架一定要放弃(比如Afinal,xUtils),转载 2017-08-23 00:05:01 · 393 阅读 · 1 评论 -
Android Studio多渠道打包
说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值:value="Channel ID" android:name="UMENG_CHANNEL"/>11 上面的value值Channel_ID就是渠道标识。我们的原创 2017-08-26 12:20:28 · 403 阅读 · 0 评论 -
安卓图片反复压缩后为什么会普遍会变绿?
图片变绿是安卓系统一直以来的问题,直到 Android 7才修复。原因是安卓系统内部的一个核心部件的代码,为了优化手机上运行的速度——写错了 = =。问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 Skia 的库上。问题出在 RGB 色彩空间转换到 YUV 的时候。但问题不仅仅是精度下降,最大的问题是,错误的舍入(向下取整)。现在就要说到 A原创 2017-08-24 11:50:50 · 3258 阅读 · 0 评论 -
安卓中的buildToolVersion与CompileSdkVersion的区别
SDK中主要的目录:【build-tools】里面是不同版本(例如21.1.1)的build工具,这些工具包括了aapt打包工具、dx.bat、aidl.exe等等【platform】是存放不同API-level版本SDK目录的地方【platform-tools】是一些android平台相关的工具,adb、fastboot等【tools】是指的安卓开发相关的原创 2018-01-30 15:59:25 · 718 阅读 · 0 评论 -
Android中的MVP架构
一、架构演变概述我记得我找第一份工作时,面试官问我“android是否属于MVC架构模式,简述一下”。确实,Android的整体设计结构就是MVC的设计模式,在J2EE的开发中,使用的也是MVC模式,MVC模式是一个经典,经历了几十年的考验。Android项目中的MVC架构:View:是应用程序中处理数据显示的部分,对应于layout文件下的布局文件Model:业务逻辑和实体模型Controllo...转载 2018-06-22 11:17:55 · 361 阅读 · 0 评论 -
RxJava+Retrofit+MVP+Dagger2
传说中的谷歌四件套,按顺序来哈~2017.2.20更新:对于用了一段时间的谷歌四件套的开发者们来说,基础应该都已经掌握的差不多了,但是四件套确实很博大精深,要想完全掌握,一是要学习使用技巧,二是要在实际项目中去实践。故推荐几篇技巧文和一个牛掰的开源项目,见文末。基础----RxJava----集合:RxJava学习文章大全 基础首推:1、给 Android 开发者的 RxJ...转载 2018-08-29 16:31:57 · 245 阅读 · 0 评论 -
java-多线程同步
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 底层实现的线程同步的方法:1.同步方法 即有synchronized关键字修饰的方法。 ...原创 2018-12-20 13:01:37 · 142 阅读 · 0 评论 -
2019安卓面试题整理(1)
这些面试题是我在今年年初换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等,包括一、二两部分。1、java中==和equals和hashCode的区别基本数据类型的==比较的值相等.类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法.hashCode...原创 2019-02-12 20:18:52 · 12093 阅读 · 3 评论 -
2019安卓面试题整理(2)
1、Activity生命周期?onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy()2、Service生命周期?service 启动方式有两种,一种是通过startService()方式进行启动,另一种是通过bindService()方式进行启动。不同的启动方...原创 2019-02-12 23:02:21 · 1347 阅读 · 1 评论 -
安卓中文件读写-流操作
字节流与字符流的区别字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,所以InputStream需要提前设置缓存区大小,而字符流在操作的时候是使用到缓冲区的。字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是如果字符流不使用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不...原创 2019-06-27 16:12:35 · 6501 阅读 · 1 评论 -
Eclipse报错 Unable to build: the file dx.jar was not loaded from the SDK folder
由于最近通过SDK-Manager更新了build-tools,当要用到dx.jar这个包时,自动调用最新build-tools中dx.jar,但是运行Android项目时Console却提示:Failed to load C:\Program Files (x86)\android\android-sdk\build-tools\26.0.0-preview\lib\dx.jarUnab原创 2017-07-26 18:07:10 · 4786 阅读 · 2 评论 -
Android Studio 常用快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动原创 2017-07-21 11:59:51 · 924 阅读 · 0 评论 -
使用AsyncTask 加载网络图片
public class ImageTest extends Activity { private ImageView imageView; private ProgressBar progressBar; private static String URL = ""; @Override protected void onCreate(Bundle sa原创 2016-05-18 16:08:13 · 368 阅读 · 0 评论 -
解决ScrollView下嵌套ListView、GridView中内容显示不全的问题
1.使用网上用的动态改变listview高度的方法,该方法只适用于item布局是LinearLayout布局的情况,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。所以使用限制较大。2 我就使用 重写ListView、gridView的方法,重写ListView,GridView的代码是相同的,重写原创 2016-06-07 10:53:01 · 473 阅读 · 0 评论 -
Android开发之Intent.Action
本文介绍Android中Intent的各种常见作用。1 Intent.ACTION_MAINString: android.intent.action.MAIN标识Activity为一个程序的开始。比较常用。Input:nothingOutput:nothing activity android:name=".M原创 2016-08-24 20:44:29 · 258 阅读 · 0 评论 -
Android大图片裁剪终极解决方案(上:原理分析)
http://blog.youkuaiyun.com/floodingfire/article/details/8144604 约几个月前,我正为公司的APP在Android手机上实现拍照截图而烦恼不已。 上网搜索,确实有不少的例子,大多都是抄来抄去,而且水平多半处于demo的样子,可以用来讲解知识点,但是一碰到实际项目,就漏洞百出。 当时我用大众化的解决转载 2016-08-24 20:58:12 · 363 阅读 · 0 评论 -
Android 6.0 运行时权限处理完全解析 及 三方库的使用
一、概述Android6.0系统把权限分为两个级别:一个是Normal Permissions,即普通权限,这类权限不会潜藏有侵害用户隐私和安全的问题,比如,访问网络的权限,访问WIFI的权限等;另一类是Dangerous Permissions,即危险权限,这类权限会直接的威胁到用户的安全和隐私问题,比如说访问短信,相册等权限。但是到底哪些是普通权限和危险权限呢,原创 2017-05-09 16:46:33 · 432 阅读 · 0 评论 -
Android开发中的Application类
Android中Application类的详细解释:我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中的所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员。但是这种方法不符合Android的框架架构,不过andorid已经为我们提供了这种情况的解决方案:在Android中,有一个名为Application的类,我们可原创 2017-05-10 11:58:12 · 4447 阅读 · 0 评论 -
Android代码混淆之混淆规则
《Android代码混淆技巧》 因为Android是使用Java开发的,所以开发者可以使用ProGuard对代码进行混淆。SDK已经集成了ProGuard工具,开发者可以从SDK目录下的\tools\proguard目录中进行查看。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它转载 2017-06-01 11:58:13 · 415 阅读 · 0 评论 -
AAPT err (Facade for): libpng error: Not a PNG file 错误
该错误表示项目中的drawable下的图片文件有非png图片,但命名成了png造成的。解决方法:如下图,只需要把icon_ul_title2.png 的后缀名 改成jpg格式即可。原创 2017-05-22 12:55:18 · 431 阅读 · 0 评论 -
报错 Ignoring InnerClasses attribute for an anonymous inner class
在安卓开发导入项目过程中,出现错误再所难免。最近导入项目就遇到如下错误,具体如下图所示。 出现如上错误,最初设想先看下项目能不能运行。经尝试可以完美的在windows系统上运行(虽然会出现如上的错误警告)。项目虽然在报警告的情况下,能在windows系统上运行,但一般Android项目都是基于Windows和OS X系统开发。于是猜想项目能不能同样在OS X系统原创 2017-06-02 11:19:19 · 9977 阅读 · 0 评论 -
Android Studio各类常见错误解决方案
(1)将Eclipse项目导入到Android studio 中 很多点9图出现问题解决方法:在build.gradle里添加以下两句:aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false用来关闭Android Studio的PNG合法性检查的,直接不让它检查。(2)Andro原创 2017-06-02 11:22:29 · 5731 阅读 · 0 评论 -
AndroidStudio配置SVN以及使用代码管理
一、Android Studio配置SVNAndroid Studio关联配置SVN很简单,在Settings里面,找到Version Control->Subversion;在这个页面的控制面板中的General中将Use command line client打勾勾选上,然后浏览本地的SVN安装目录,选到"svn.exe"即可;在Use command line client下转载 2017-06-08 14:21:45 · 266 阅读 · 0 评论 -
Android Studio如何取消与SVN的关联
在使用SVN过程中可能有时因为一些原因,不想再使用SVN了,我们想取消与SVN的关联,让Android项目恢复到原始状态,不想有哪些花花绿绿的颜色了,怎么办呢,操作起来很简单把Android Studio切换到Project模式,有个.idea文件夹,在该文件夹下找到vcs.xml文件,打开该文件,把里面的内容替换成如下代码即可.[java] view plai原创 2017-06-08 14:49:23 · 1054 阅读 · 0 评论 -
NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString
在Android项目中使用到了org.apache.commons.codec.jar包下的Hex.encodeHexString(byte[] input)方法进行加密。结果编译通过,运行时总是报java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString([B)Ljava/lang/Stri原创 2017-07-20 11:57:48 · 7134 阅读 · 0 评论 -
安卓 热修复-Tinker接入
本文主要讲tinker官方Demo的接入使用,没有用到tinkerPatch补丁后台管理系统。1.从git上面下载tinker的官方demo下来,里面的东西不深究,就直接从他的tinker-sample-android这个demo 开始2.将其导入as中,一般直接导入进来是无法运行的,他会报错,这是个什么错呢,啥玩意又是tinkerid呢,从上面的wiki里面可以看出这些参数的意思,如果对...原创 2019-07-09 11:46:20 · 382 阅读 · 0 评论