关闭

Handler,Looper,Message的理解与困惑

1、三者作用与关系Mesage(消息)是相同或不同的线程相互作用的媒介,对应着一个操作。 Looper(循环者)是创建handler的必备条件,主要用于创建当前线程的MessageQueue(消息队列)实例(一个Looper一一对应一个线程Thread额,二者之间不存在一对多的关系),然后进入一个无限循环体不断从该MessageQueue中读取消息。常用方法就是prepare()和loop(),注...
阅读(114) 评论(0)

android中7z压缩与解压缩

7z具有较高的压缩比,前两天使用到Apache的commons-compress-1.8.jar在android上实现了7z的压缩与解压功能。这里要使用到xz-1.4.jar,否则会报错: FATAL EXCEPTION: Thread-5 Process: adups.ge...
阅读(106) 评论(0)

apk瘦身

前段时间对公司的apk进行了一次瘦身处理,压缩前的apk是3.1M,压缩后变为2.1M,效果还是蛮不错的。 搜集了相关资料,本人对于apk进行了三点处理:1、TinyPng图片压缩将res下的素材通过TinyPng进行压缩,同时只保留xhdpi下的素材(去掉hdpi、xxhdpi后,只是用xhdpi效果差不多的),此时apk大小2.8M。2、打开混淆、去除无用资源在主工程的build.gradle...
阅读(69) 评论(0)

android studio下导出jar(java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unex)

eclipse导出jar很简单,可以选择某个文件或者所有文件导出jar包。 android studio就比较尴尬了,需要在相应库工程module的build.gradle中配置gradle脚本。1. 配置gradle环境变量如果windows命令下执行gradle -v时提示’gradle’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。那么就表示你没有配置过gradle环境变量。...
阅读(157) 评论(0)

遇到多个构造器参数时考虑用构建器

静态工厂方法和构造器有个共同的局限性:它们都不能很好地扩展到大量的可选参数。在android开发中有时需要自定义Dialog类,这些Dialog有两个域是必需的:context,message,还有一些域是可选的:title,positiveButton,negativeButton,imageView,positiveClickListener,negativeClickListener等。 对...
阅读(77) 评论(0)

android多线程断点续传下载

之前公司在下载这一块都是使用单线程的,最近提出了利用多线程来加快下载速度,提高升级率,由于网上的一般实例讲解有些模糊,那些很火的项目已经用了自己的框架(与公司框架有冲突),所以就学习研究一下。1、多线程下载首先需要服务器支持206响应,此时,客户端通过build.addHeader("Range", "bytes=" + range_start + "-" + range_end);或conn.se...
阅读(123) 评论(0)

阿里热修复方案Sophix

今天试了下阿里热修复方案Sophix,Sophix还在公测阶段,傻瓜式开发,现阶段使用却有些鸡肋。 Sophix的核心设计理念,就是非侵入性。下面是和其他主流热修复技术的性能比较: 使用也很简单,本人使用的是android studio,不需要下载第三方sdk。首先就是在主module下的build.gradle下添加maven仓库地址: repositories { mav...
阅读(1354) 评论(2)

RxAndroid学习:初探

RxAndroid是RxJava基于android的实现,一个在 android VM 上使用可观测的序列来组成异步的、基于事件的程序的库。 RxAndroid在线程切换方便具有很大的优势,先看下官方demo(https://github.com/ReactiveX/RxAndroid)吧。 首先,在build.gradle中添加依赖:compile 'io.reactivex.rxjava2:...
阅读(130) 评论(0)

android跑马灯

以前做过跑马灯的需求,今天又遇到了,再此mark下。 自定义TextView:package com.adups.fota;import android.content.Context; import android.graphics.Rect; import android.text.TextUtils; import android.util.AttributeSet; import andr...
阅读(87) 评论(0)

用静态工厂方法代替构造器

面对更新迅速的互联网技术,非科班出身的孩子更要努力学习。最近在学习android的同时也同步学习数据结构与算法(我的简书http://www.jianshu.com/u/62f2144f08e0,欢迎观看)与Effective Java。尤其是Effective Java,看了顿时觉得书上说的好有道理,感觉进入了一个新的学习领域。 静态工厂方法相对于构造器的优势: 1、静态工厂方法有名称。 构...
阅读(245) 评论(0)

MyEclipse常用快捷键

内容提示:Alt + / 快速修复:Ctrl + 1 导包:Ctrl + shift + O 进入方法内部Ctrl+左键 向前向后:Alt + 左右方向键 添加块注释 Ctrl+Shift+/ 除去块注释 Ctrl+Shift+\ 添加/除去行注释 Ctrl+/ 复制当前行Ctrl+Alt+上/下(在某些机器上与显卡快捷键冲突) 删除当前行Ctrl+D 查看方法说明F2...
阅读(146) 评论(0)

android动态加载jar

最近客户需求通过后台下发代码的方式来实现新增功能,权衡了热修复和动态加载最终选择的动态加载jar的方式实现该功能。首先客户端编码,以jar的方式导出,将jar放到服务器供客户端下载并进行动态加载。DexClassLoader :可以加载文件系统上的jar、dex、apk PathClassLoader :可以加载/data/app目录下的apk,这也意味着,它只能加载已经安装的apk URLCl...
阅读(130) 评论(0)

Retrofit学习二:基础用法

其实retrofit支持GET, POST, PUT, DELETE, and HEAD这五种请求方式,上一篇(http://blog.csdn.net/u013795543/article/details/57084232)简单地展示了一般的get请求以及@PATH设置url参数。 1、@Query设置URL参数 利用@PATH可以通过占位符的方式实现路径参数的填补,那么@Query则可以实现...
阅读(180) 评论(0)

android文件管理器导航栏

一直对手机的文件管理器顶部的滑动导航栏(如下图红框)很感兴趣,但是网上这一块却没有这样的效果,可能是简单,没人愿意写吧,今天动手做了下。 当进入某一目录时导航栏会自动移动并显示这一目录,点击导航栏某一目录后那么这一目录之后的目录会去掉,这一目录成为了当前目录,并且下面的文件也显示的是当前目录里的文件。 1、本次打算上面的导航用横向的RecycleView实现,当进入目录时就把此目录的路径转...
阅读(120) 评论(0)

Github第一个工程:RecycleView加载新闻显示

公司用的代码管理工具是svn,一直没用过git,今天安装了git,上传了一个简单的工程到github,哈哈,支持开源嘛。1、安装git可以看下廖雪峰的git教程(简单实用,入门简单:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)。 windows系统git工具下载地址:https...
阅读(257) 评论(0)

android采集应用打开次数和cpu信息

最近做了一个采集设备信息的应用,其中获取应用打开次数以及cpu信息还是挺有意思的,所以在此mark下吧。一、获取应用打开次数获取android设备中应用信息的类是UsageStats.java类(官网见https://developer.android.com/reference/android/app/usage/UsageStatsManager.html):/** * Copyright (...
阅读(421) 评论(0)

初识高德地图和百度地图

高德地图高德开放平台(http://lbs.amap.com/)做的还是蛮好的,至少源码下载后可以直接跑通。 要使用高德sdk,首先还是注册用户、申请key,这里只是提一下debug版本的sha1生成,本人用的是as,可在Terminal选项进行命令行操作,步骤如下: 1 、打开cmd,转到路径: C:\Users\Administrator.android 2、 输入命令 keytool -...
阅读(152) 评论(0)

Activity和AppCompatActivity全屏设置

Activity全屏设置一、通过代码在setContentView之前执行:requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);...
阅读(153) 评论(0)

Retrofit学习一:小试牛刀

A type-safe HTTP client for Android and Java,一个针对Android和Java类型安全的http客户端。 类型安全是怎么解释呢,就是说Retrofit会把请求网络api返回的response转化为Java对象(实体类)方便操作。 学习时,不需要自己搭建服务器(当然能自己搭建也行),我们可以用一些现有的api来测试,比如:http://gank.io/a...
阅读(128) 评论(0)

android监听软键盘的弹出与隐藏

情境:布局文件中有ScrollView,ScrollView中有个EditView,布局底部有一个控件(见下面布局代码),程序一启动EditView就获取焦点,弹出软键盘,将这个底部的控件也顶上去了,感觉不太好,所以我就想监听下软键盘弹出,此时去隐藏底部控件,软键盘隐藏时则显示底部控件。 初始: <LinearLayo...
阅读(259) 评论(2)
48条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:8710次
    • 积分:648
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:2篇
    • 译文:0篇
    • 评论:5条
    最新评论