Android
文章平均质量分 75
流水不腐小夏
这个作者很懒,什么都没留下…
展开
-
Gson SerializedName Gen注解插件了解一下?
Gson SerializedName GenGsonSerializedNameGen 是一个自动生成Gson SerializedName注解的插件。下载地址插件地址介绍有时候经常会维护一些老的项目,可能由于历史或开发人员能力问题,代码会稍微不规范。比如在请求网络数据时会需要把json反序列化成实体,然后下面是常见的一种方式。public class Bean { p...原创 2018-10-12 21:31:32 · 1690 阅读 · 0 评论 -
使用AndFix进行Hot fix
AndFix简介AndFix是一个Android App的在线热补丁框架。使用此框架,我们能够在不重复发版的情况下,在线修改App中的Bug。AndFix就是 “Android Hot-Fix”的缩写。AndFix Github地址就目前来说,AndFix支持Android 2.3到6.0版本,并且支持arm 与 X86系统架构的设备。完美支持Dalvik与ART的Runtime。AndFix 的补原创 2015-11-20 00:22:22 · 2838 阅读 · 2 评论 -
浅谈安卓项目框架发展
浅谈安卓项目框架发展翻译自Android Application ArchitectureAndroid开发的生态环境变化非常快,每时每刻都会有一些新的库和工具产生。2012年前2012年的时候,当时安卓程序的主要框架是,没有什么网络请求库。任何耗时操作都是使用AsyncTasks完成。基本框架图如下所示。 代码中只有2层:数据层、UI层。 数据层:使用REST API来请求数据,保存数据,为界原创 2015-12-08 19:46:58 · 1605 阅读 · 0 评论 -
Android IntentService问题
最近升级了Android Studio,使用最新的编译工具。android { compileSdkVersion 23 buildToolsVersion "23.0.1"}突然发现Google在Android 6.0中去掉了好多的Api接口,比如http client,notification等api。然后发现原先的在一个service里面通过startForeground来启原创 2015-10-15 14:31:47 · 1432 阅读 · 0 评论 -
Android签名INSTALL_PARSE_FAILED_NO_CERTIFICATES问题
由于安全问题,需要对apk进行加壳,一般情况下直接用Android Studio进行打包,但是加壳过后需要多apk再次签名,但是签名APK之后,部分手机安装不上apk,出现了INSTALL_PARSE_FAILED_NO_CERTIFICATES的错误;解决方法:在签名时,添加参数-digestalg SHA1 -sigalg MD5withRSAjarsigner -verbose -digest原创 2015-11-10 20:20:55 · 2669 阅读 · 2 评论 -
Android中的Context详解
Android中的Context详解本文转载自:http://www.race604.com/android-context-intro-2/注:本文翻译自Context, What Context?,原文链接在这里,作者是Dave Smith。ps:这个网站的是设计风格非常清新。Context可能是Android应用中最常用的元素,而它也可能是最容易误用的。Conte转载 2015-10-18 11:06:30 · 670 阅读 · 0 评论 -
Android 开发者的 RxJava 详解
本文转载自:http://gank.io/post/560e15be2dca930e00da1083前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『R转载 2015-10-18 10:47:10 · 997 阅读 · 0 评论 -
使用Android databinding进行动态布局
Google 最近公布了Android mvvm架构,可以使用databinding做些赋值和渲染界面的操作。了解到Jsp中使用EL表达式,可以做些简单的赋值和表达式运算。然后我写一个简单的库,可以使用Android的Databinding进行动态布局,布局的大小可以通过表达式来计算。比如一个view的高度是屏幕宽度的三分之一,然后再减10dp。可以这样使用。width = "@{dimen.scr原创 2015-10-16 18:59:59 · 5742 阅读 · 0 评论 -
Android QQ空间说说回复功能简介
Android QQ空间说说回复功能简介好久没有写博客了,主要最近项目太忙,而且都是一些没有技术含量的东西,所以写的就比较少。最近项目里面有很多关于textview的样式问题,比如一些字体设置了背景色,加粗,下划线,中划线等。下面以QQ空间中说说的回复进行实例讲解。由于mac上软件比较难用,没有到qq的apk里面去扣一些表情过来,暂时拿默认的图片作为一个表情。上面图片的中实例表示,“今天去星巴克喝咖原创 2015-08-05 01:37:20 · 4765 阅读 · 0 评论 -
Effective Java 1:考虑使用静态工厂方法代替构造器
最近在看Effective Java,第一条是考虑使用静态工厂方法代替构造器。优点静态工厂方法与构造方法不同的是它们有方法名称不必每次调用它们的时候创建一个新的对象它们的返回类型可以是任何子类型对象第一条静态方法名字可以比较随意的命名,不像构造方法,必须要和类名一样。对于第二条,最常见的例子就是单利模式,调用单利模式的方法,每次返回的对象都是同一个,不像调用构造方法,每次都是返回一个新的对象原创 2015-06-12 00:33:37 · 1025 阅读 · 0 评论 -
HttpClient和OkHttp关于Https请求问题
HttpClient和OkHttp关于Https请求问题原创 2015-05-05 00:37:01 · 7571 阅读 · 2 评论 -
Android Gradle复制打包的apk到固定目录
最近项目开发工具由原先的Eclipse转移到Android Studio,原先的打包工具由ant转化到gradle。原先写过用python重名多渠道打包的apk,现在由于使用的时Android Studio,项目编译使用的时Gradle,同事Gradle是基于Groovy的,反正也是一种类似Pythong的脚本语言。这个语言是基于Jvm的,就是说,你开发的Java程序完全可以在这个上面跑,原创 2015-01-12 23:51:02 · 9785 阅读 · 2 评论 -
android:ToolBar详解
来源 http://blog.mosil.biz/2014/10/android-toolbar/这篇文章因为是台湾人写的,语言风格很别致。本文在原文的基础上做了一些微调(主要是繁体字的问题)。今年(2014) 的 google i/o 发表令多数人为之一亮的 material design,而 google 也从「google i/o 2014」 开始,大家也陆陆续续地看到其转载 2015-03-03 17:02:53 · 1298 阅读 · 0 评论 -
简述Butterknife示例和原理
最近使用了一个注入类型的Android框架——butterknife,这种类型的框架和一般使用注解方式不同。https://github.com/JakeWharton/butterknife上面是butterknife的github地址,本文讲解的就是里面的案例。由于我是使用Android studio,在app目录下的build.gradle中添加如下依赖,项目中就可以原创 2015-01-22 15:49:27 · 5701 阅读 · 0 评论 -
Android Studio开发JNI工程
转载来自:http://blog.csdn.net/sodino/article/details/41946607使用Android Sutdio创建一个新的工程后,接下来记录创建NDK工程的基本步骤。本文将达到:1. 创建NDK工程2. 在JNI中输出Log语句3. 指定编译的so库的abi版本4. 解决在创建NDK工程中的问题Step: 1.转载 2015-01-11 14:42:21 · 1266 阅读 · 0 评论 -
应用监听自身卸载,弹出用户反馈调查(下)——使用Inotify监听安装目录
转载出处:http://blog.csdn.net/allen315410/article/details/42555415 在上一篇博客中,我们讲了一个小小的案例,用NDK监听应用程序自身卸载,并且打开内置浏览器加载用户调用页面。关于监听应用程序自身卸载的原理和实现方案可以在上篇博客中找到,地址是:http://blog.csdn.net/allen315410/artic转载 2015-12-03 15:29:23 · 1004 阅读 · 0 评论 -
应用监听自身卸载,弹出用户反馈调查(上)
监听卸载情景和原理分析1,情景分析 在上上篇博客中我写了一下NDK开发实践项目,使用开源的LAME库转码MP3,作为前面几篇基础博客的加深理解使用的,但是这样的项目用处不大,除了练练NDK功底。这篇博客,我将讲述一下一个各大应用中很常见的一个功能,同样也是基于JNI开发的Android应用小Demo,看完这个之后,不仅可以加深对NDK开发的理解,而且该Demo也可以使用在转载 2015-12-03 15:21:41 · 2031 阅读 · 0 评论 -
基于JSON RPC的一种Android跨进程调用解决方案了解一下?
基于JSON RPC的一种Android跨进程调用解决方案了解一下?Bifrost 简介使用方式实现原理总结后续安排相关链接简介今天上午,看票圈有朋友分享爱奇艺的跨进程通信框架——Andromeda,觉的还是有点意思的。 以前项目中用到跨进程这种解决方案比较少,今天看了下Andromeda,发现调用方式很简单。恰好最近一年都是在做后端工作,想到了J...原创 2018-05-30 00:59:56 · 1515 阅读 · 0 评论 -
Android KTX简介
Android KTX简介Android KTX简介 介绍主要功能 字符串转为URISharedPreferencesPathView的onPreDraw监听代码接入原理介绍 ExtensionsLambdasDefault Arguments相关链接介绍昨天Google爸爸又发布了一个Android工具库,是使用Kotlin实现了。自从17年5原创 2018-02-06 23:29:17 · 1433 阅读 · 0 评论 -
Kotlin之let,apply,with,run函数区别
Kotlin之let,apply,with,run函数区别重新整理重新整理了各种函数的区别,请移步到这里。以下作废很长一段时间内都一直使用Kotlin这门语言,也只是纯粹使用简单语法,最近有时候写的代码,编辑器自动提示使用let等函数,然后就专门花点时间研究了下。let首先let()的定义是这样的,默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行原创 2017-01-19 13:11:03 · 17224 阅读 · 6 评论 -
Android上使用Lombok
Android上使用LombokAndroid上使用Lombok简介注解简介Android 集成注解说明valNonNullCleanupGetterSetterToStringEqualsAndHashCodeNoArgsConstructor RequiredArgsConstructor and AllArgsConstructorBuilderSneakyThrow原创 2017-07-14 14:55:45 · 6308 阅读 · 0 评论 -
浅谈Android Architecture Components
浅谈Android Architecture Components浅谈Android Architecture Components简介Android Architecture ComponentsGradle 集成LifeCyclesLiveDataTransformationsViewModelRoomEntitiesEntity的参数 primaryKeysEntity的原创 2017-06-24 16:04:29 · 18760 阅读 · 2 评论 -
Android Http网络开发神兵利器
Android Http网络开发神兵利器Android Http网络开发神兵利器Http协议HTTP简介主要特点RequestResponseCodeMethodHeader普通报头请求报头响应报头实体报头网络请求库URLConnectionApache HttpClientVolleyOkHttp Retrofit工具CharlesPostMan Paw原创 2017-03-11 20:17:46 · 2164 阅读 · 0 评论 -
安利AutoValue第二波
安利AutoValue第二波简介前面介绍了如何使用AutoValue如何使用, 参见这里Android Model正确使用姿势——AutoValue ,如果喜欢或者决定使用AutoValue的小伙伴是不是迫不及待打算开始使用。那么问题了,项目中原先写好的Model再改成AutovValue的形式,只有几个类还好,如果Model很多,一个个改不得累死。没关系,我这边已经写好了一个AndroidStud原创 2016-12-06 20:25:07 · 819 阅读 · 0 评论 -
Android Model正确使用姿势——AutoValue
Android Model正确使用姿势——AutoValueAndroid Model正确使用姿势AutoValue前言简介简单使用ImmutableValue types高级使用NullableGson序列化Serializable ParcelableRetrofit和Rxjava结合使用相关插件RoboPOJOGeneratorAutoValue plugin原理介原创 2016-12-05 14:30:06 · 9159 阅读 · 2 评论 -
Android 自定义视图总结
Android 自定义视图总结Android 自定义视图总结正常情况DatabindingDatabinding升级自定义View自定义ModuleFragment总结很多在开发的过程中,经常会需要把某个UI视图给单独抽取出来,以便重复使用,下面举个简单例子,分析一下。比如我们这边有个这样的视图,如下所示,显示一个订单模块中,经常显示一个商品的信息、数量以及价格。上面的显示商品的实体原创 2016-11-22 16:14:06 · 1540 阅读 · 0 评论 -
AndroidStudio插件:布局文件转化Databinding
Databinding Convert序这几天一直在做代码重构,因为Android是提供你Databinding的MVVM形式,所以就想把代码里面所有的Butterknife代码缓存Databinding形式。当我修改到第十个文件的时候,我他么的彻底怒了,每个文件都需要手动的修改成Databinding的形式,在布局文件中添加<layout></layout>和<data></data>标签,所以就原创 2016-09-10 11:50:39 · 6434 阅读 · 0 评论 -
Adb命令问题
Adb命令问题升级最新的Android Sdk,发现Android不能发现genymotion模拟器,同时使用adb shell命令发现错误如下。$ adb shelladb server version (32) doesn't match this client (35); killing...error: could not install *smartsocket* listener:原创 2016-04-01 10:25:05 · 11309 阅读 · 4 评论 -
DialogFragment设置不可取消
DialogFragment设置不可取消原先在Activity显示Dialog,直接设置就可以了。如下所示:alertDialog.setCancelable(false);alertDialog.setCanceledOnTouchOutside(false);但是切换到DialogFragment却不行,需要添加如下方法。public class LoadingDialogFragment e原创 2016-02-17 15:26:59 · 8932 阅读 · 2 评论 -
使用Android Studio对代码进行重构
使用Android Studio对代码进行重构简介2013年Google I/O大会上,谷歌推出新的Android开发环境——Android Studio,从此Android程序员有了新的选择,使用Android Studio进行App开发。AndroidStudio是一项全新的基于IntelliJ IDEA的Android开发环境。类似于Eclipse ADT插件,现在已经成为了官方推荐的ide,原创 2016-01-29 17:39:00 · 13832 阅读 · 3 评论 -
Android客户端使用highcharts进行图表展示
Android客户端使用highcharts进行图表展示前面用过MPAndroidChart作为安卓客户端的图表展示库,以前的博客地址,这个是Github地址,但是领导说客户端的图表展示最好不用使用Native,然后推荐了一款Web 图表展示的库highcharts,进过尝试,发现效果还不错,这样满足了Android客户端和iOS客户端显示图表UI一致性,而且代码只需要一套。原创 2016-01-10 20:35:53 · 8257 阅读 · 2 评论 -
魅族手机中屏蔽ListView下拉悬停方法
魅族手机中有个Feature,所有的ListView中又下拉悬停的样式。如果只是单独的ListView,还是可以接受的,如果有下拉刷新或者排序功能,就显得很蛋疼。可以利用下面方法去掉,xml中添加如下属性。android:overScrollMode="never" 或者代码修改listView.setOverScrollMode(Listview.OVER_SCROLL_NE原创 2014-12-04 16:10:16 · 5980 阅读 · 2 评论 -
Python格式化Curl返回的json文本
最新项目使用的是post方式的请求,原先用于get方式请求数据直接在浏览器中访问即可返回json形式的字符串。如果需要格式化json字符串,可以使用chrome的插件postman或者是其他的restApi插件。其他的插件也是可以的,不过post方式需要传递一些参数,插件使用起来也是比较麻烦的。可以考虑使用curl命令,直接模拟post请求,只需要在代码中把请求的内容生成curl形式的命令原创 2014-12-03 20:03:58 · 10810 阅读 · 0 评论 -
Activity的四种加载模式
Activity的四种加载模式: 1、standard :系统的默认模式,一次跳转即会生成一个新的实例。假设有一个activity命名为Act1,执行语句:startActivity(new Intent(Act1.this, Act1.class));后Act1将跳转到另外一个Act1,也就是现在的栈里面有 Act1的两个实例。按返回键后你会发现仍然是在Act1(第一个)里面原创 2013-10-21 15:22:31 · 1377 阅读 · 0 评论 -
锁屏管理的简单实现
小米百变锁屏的简单实现,以及思路讲解。原创 2013-09-13 17:59:48 · 3588 阅读 · 4 评论 -
Android来电、去电监听
Android手机中添加手机来电的状态,使用PhoneStateListener来监听。TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);// 开始监听PhoneStateListener phoneListener = new MyPho原创 2013-07-29 11:10:16 · 3897 阅读 · 2 评论 -
浅谈Android选项卡(三)
上一节介绍了TabActivity的简单用法,但是现在的Api中已经不建议使用了,建议使用Fragment来替代以上的功能,下面介绍下使用Fragment和ViewPager的结合使用。http://blog.csdn.net/xia215266092/article/details/9613985TabActivity的文档。This class was deprecated原创 2013-07-29 14:59:03 · 3353 阅读 · 2 评论 -
浅谈Android选项卡(二)
前面简单介绍了选项卡,下面以及后面的几篇文章介绍下Android选项卡的几种简单实现方法。http://blog.csdn.net/xia215266092/article/details/9613897看到上面的最版本的QQ软件,整个软件的UI框架就是选项卡,一般想到的就是使用Android自带的TabActivity实现。实现需要一个主界面,来存放选项卡,在布局中需要存原创 2013-07-29 11:55:00 · 2322 阅读 · 1 评论 -
文件加密
最近开发一个手机上的类似于保险箱的功能,就是把选择某个文件然后这个文件就加密起来了,在普通的文件管理器中无法显示。下面简单介绍下思路,在做这个功能之前,参考很多Android市场上的成熟产品,(,我表示中国人的模仿能力实在太强大了,这个也是教育的悲哀啊,)。不过话说起来,如果不会创造,那么请模仿。思路:1、选择一个文件2、选择一种加密算法(可以选择加密级别),来原创 2013-07-27 17:01:38 · 1395 阅读 · 1 评论 -
Java实现文件重命名
最近在做一个Android上面的一个文件管理器的apk,有文件名重命名和剪切的功能。一般的思路如下:重命名:先新建一个文件,复制原先的文件,读写文件,最后删除原先文件剪切:先复制原先的文件,删除原先文件以上方法是有bug的,如果磁盘的空间不够的话, 则会出现错误。同时Java的File类中提供重名和剪切的功能。,原先怎么没有发现呢。下面是Java Api中的方法介绍原创 2013-07-27 16:33:26 · 5815 阅读 · 4 评论