![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android Base
文章平均质量分 88
Dusan_杜小菜
专注android,Web开发。微信:dusan2010
展开
-
Android静态资源使用建议-图片篇
图片使用的建议静态图片尽量压缩后使用。先压缩再转webp,最好不要直接拿美术的切图(原始图片太大了),长期下去资源size过大。如果部分图片验收有差异可以不压缩或者降低压缩比例。图片压缩的必要性原因:单个图片在app中占用的实际内存 = scale后的高度 * scale后的宽度 * 单个像素内存。图片内存计算方式1,其中单个像素的大小跟图片的存储位数有关,如ARGB_8888为32位,占用4个字节,RGB_565占用2个字节。图片原始size = 宽*高 * 每个像素点的大小。如图片:10原创 2022-04-24 17:12:07 · 1805 阅读 · 0 评论 -
win/mac下反编译Android安装包-APK文件
mac下,对apk进行反编译主要是用到apktool和dex2jar两个工具(自行下载),如果只是想拿到apk里的一些图片或其他资源或是layout文件,直接使用apktool -d xxx.apk即可。如果是要查看代码,就使用dex2jar.sh反编译一下apk,然后使用jd-gui工具查看反编译后的.jar文件即可。今天还将介绍一款新的反编译神器:Jadx。一,apktool的使用用到的命令:原创 2016-05-16 23:33:06 · 1894 阅读 · 0 评论 -
推荐几款优秀的Android Studio插件
使用android studio,那是一个高效,可你真的更高效了吗?使用一些插件,可以帮助我们快速开发,节省搬砖的时间。自动生成代码这活,就应该交给plugin去干。一一列举,自行下载体验吧。 每个插件都有对应的介绍,或者网站可以去看看。比如ADB Idea。他的功能真的有点屌:Adds the following ADB commands to Android Studio and Inte原创 2016-05-18 11:25:57 · 889 阅读 · 0 评论 -
mac下Android Studio常用的一些快捷键
君欲善其事,必先利其器,工具虽然是s的,但是人是活的,要善于使用快捷键和plugin提高工作效率。关于as插件,我上文有提到常用的as plugin: 推荐几款优秀的Android Studio插件。本文建议大家用系统默认的快捷键,不要去改成eclipse的,或者自己的一套,团队中无法沟通哇。mac下as常用的一些快捷键。原创 2016-05-18 11:44:48 · 1554 阅读 · 0 评论 -
Android 6.0权限管理,sdk>=23请求权限
如果APP运行在Android 6.0或以上版本的手机,并且target sdk>=23,那么在使用一些相对敏感的权限时,需要征求用户的许可。比如读写sdcard,摄像,联系人信息等。原创 2016-04-21 20:30:39 · 15414 阅读 · 1 评论 -
单例模式常用的的两种写法
单例模式很常用,Java中写法各异,哪种更合理高效呢。一般单例都是五种写法。懒汉式,饿汉式,双重校验锁,枚举和静态内部类。什么时候用懒汉式,何时用饿汉式应该清楚。一, 单例模式特点:1)一个类只有一个实例。 2)它必须自行创建这个实例。 3)它必须自行向整个系统提供这个实例。原创 2016-05-07 09:35:35 · 2721 阅读 · 0 评论 -
Android Notification通知栏的必备姿势
android开发,可能经常使用到通知管理者,在手机顶部显示通知。封装一些常用的方法,可以减少代码冗余。通常情况下,显示下载进度,播放器通知栏操作,显示APP状态信息,发送友情提示等,都需要用到Notification。一,直接贴代码,直观通知栏。原创 2016-05-18 18:11:54 · 5986 阅读 · 0 评论 -
mac下配置JDK,SDK,NDK和ADB环境变量
mac下做Andoird开发,JDK,NDK,SDK,ADB,Tomcat,Maven等必备工具,少不了配置path路径,和win略有差异,但也是很easy的事情。步骤简单暴力。1、启动终端Terminal不会?control+空格键搜索终端或者Terminal2、编辑 .bash_profile文件在终端输入命令:open -e .bash_profile根据自己安装jdk,ndk,sdk,adb原创 2016-05-09 17:14:05 · 6702 阅读 · 0 评论 -
Android Studio 创建aidl文件,用于进程间通讯
在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。Android提供了AIDL工具来处理这项工作。原创 2016-05-20 10:59:55 · 877 阅读 · 0 评论 -
Android代码混淆配置(Proguard文件解析)
为了防止自己的APP被轻易反编译,我们需要对APK进行混淆,或者特殊加密处理。可以用“爱加密“提供的加密服务,反编译后只能看到几行代码和.so的库文件。本文说说android 如何配置混淆。 关于如何反编译android apk,见我另外一篇文章:win/mac下反编译Android安装包-APK文件,http://blog.csdn.net/dzsw0117/article/details/51原创 2016-05-19 17:46:01 · 11776 阅读 · 1 评论 -
android测试有多重要!
我们开发android,用模拟器调试,真机调试,手动点击操作APP,发现bug又进行繁琐反复的测试,效率有多低,多费劲。有没有考虑过自己写单元测试?如何写?你知道有哪些测试框架吗?以下内容分享自网络博客的一些总结:一,认识单元测试 处于高速迭代开发中的Android项目往往需要除黑盒测试外更加可靠的质量保障,这正是单元测试的用武之地。单元测试周期性对项目进行函数级别的测试。原创 2016-05-21 17:59:12 · 692 阅读 · 0 评论 -
Android SDK 1-23各版本代号和别名
android sdk版本从1-23,见证了Android移动操作系统的历史,代码请看android.os. Build.VERSION_CODES,详见正文。翻译 2016-05-22 11:02:41 · 26262 阅读 · 1 评论 -
Android之Wifi开发
本文主要介绍android与wifi交互的一些应用技巧。常见的场景有:检测wifi,连接wifi,打开wifi设置,检测wifi网络变化,只允许wifi网络下载,获取wifi名称,检测网速等。 普及下基本知识:1.WiFi的五种状态 WifiManager.WIFI_STATE_DISABLED: //不可用 WifiManager.WIFI_STATE_DISABLING://原创 2016-04-17 16:35:53 · 828 阅读 · 0 评论 -
build.gradle的常用配置
配置project和module下的build.gradle,涉及到build-tools版本,仓库地址,签名,各种版本信息,sdk,混淆打包,依赖文件,第三方库等原创 2016-11-23 12:04:34 · 1645 阅读 · 0 评论 -
Android 开发笔记
android开发过程中遇到的一些问题,应用场景,代码片段。有解决也有疑惑,一起探讨。。。原创 2016-09-29 15:31:29 · 549 阅读 · 0 评论 -
Android实现手机防盗APP
没事的时候捣鼓了手机防盗的小app。记录下功能和原理:功能一:自动报警原理是利用手机的光线传感器,获取光照强度,如果亮度达到一定程度就播放报警音乐,退出了app就后台service运行。应用的场景:比如你不用手机的时候开启防盗,放入没有光线的地方,比如口袋,背包,小偷从你口袋里面拿走手机,肯定会见光,一见光就自动报警。但是可能会遇到问题:1,锁屏状态了app还能正常吗?原创 2014-09-08 18:01:17 · 1936 阅读 · 1 评论 -
android Canvas的常用操作
Java面向对象之封装、继承、多态转载 2014-09-04 14:03:01 · 657 阅读 · 0 评论 -
Mac下修改Android Studio的默认JDK版本
当你使用mac版Android Studio开发,并且compileOptions定义了JavaVersion8,或者要用android N来priview你的xml布局时,如果没有使用jdk8,就会无法编译,告诉你不能渲染布局,必须配置jdk8。但还是会遇到jdk版本不对的问题,如何解决呢。原创 2016-05-16 15:43:43 · 9990 阅读 · 3 评论 -
RxJava+Retrofit+Gson实现网络请求
RxJava+Retrofit+Gson+okHttp完美组合,真的是太强大了,实现网络请求那是so easy。简洁,高效,扩展性强。对这些框架还不熟悉的,感觉去自学撸代码。 可以看我前几篇文章: 1,搭建本地server,响应Android客户端HTTP请求 2,OKHTTP实战 3,Retrofit2.0+网络框架HTTP实战原创 2016-05-05 12:49:53 · 3817 阅读 · 0 评论 -
Retrofit2.0+网络框架HTTP实战
上文为介绍了搭建本地服务端,Android客户端是进行普通的HTTP请求,今天我继续介绍一种新的网络请求方式,就是目前比较流行的一种框架:Retrofit。 Retrofit是一款面向Android和Java的类型安全的HTTP客户端框架,简单方便。可以通过注解的方式,申明请求的方式和参数。它很强大,支持GET, POST, PUT, DELETE, and HEAD.等请求。原创 2016-05-04 08:51:05 · 2015 阅读 · 0 评论 -
Android多媒体开发:MusicPlayer篇
今天有人问视频播放,录音的问题,又想起了曾经开发音视频播放,遇到的那些坑,多媒体的知识比较多,开发难度也大。有强大的C/C++功底才好研究底层,任重道远,一起学习吧。 今天有点累,改日写,内容太多。原创 2016-04-22 18:06:23 · 3165 阅读 · 1 评论 -
Android Studio 2.0+高效开发之路
Android Studio(本文简称AS) 是Google官方推荐的android app 集成开发环境,基于 IntelliJ IDEA,正如你期待的那样,有胜于IntelliJ的强大的性能。 Android Studio 取代Eclipse作为android开发的IDE是志在必得,我从2014年底就开始使用AS,用了之后就爱上它了,强烈推荐大家使用。用as!用as!!用as!!! 工作中我原创 2016-04-25 11:11:45 · 1471 阅读 · 0 评论 -
android实现登录,Login姿势对不对?
android最常见的UI之一,登录遍布各大APP,这么easy的东西还是要写写,主要是介绍下:密码的现实与隐藏,用户名和密码表单的网络请求和提交方式。看似简单的一个功能,细看起来,知识点还是挺多的。这里面还有很多东西没有列出,比如用户名下拉选择一个用户登录,登录保存状态下次免登录,cookie的使用等。原创 2016-05-10 13:58:13 · 3792 阅读 · 1 评论 -
Android APP 设计说明书模板
因公司申请软件著作权需要,我临时转行成为文员,写设计说明书,测试报告什么的。分享一下我的设计说明书部分纲要,仅供参考。原创 2016-04-28 12:26:32 · 29076 阅读 · 0 评论 -
EventBus,RxBus相关介绍
eventBus是一个主要用于事件的发布和订阅的框架,是一个发布 / 订阅的事件总线,包含4部分:发布者,订阅者,事件,总线。RxBus是一种开发思想,使用了观察者模式的RxJava,RxAndroid实现,使用方式差不多。github地址: EventBus https://github.com/greenrobot/EventBus RxBus https://github.com/Andro原创 2016-05-01 16:41:09 · 1809 阅读 · 0 评论 -
Android网络请求:OkHttp实战
android网络请求是个耗时的操作,一定要在子线程中运行,添加网络权限,目前有很多流行的网络框架。比如okhttp,volley,xutils等等。今天主要介绍okhttp的使用,后续分享给多,比如socket网络请求,文件上传下载。一,HTTP协议的主要特点HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。原创 2016-04-23 21:45:28 · 4188 阅读 · 1 评论 -
Android检测内存泄漏之leakcanary
内存泄漏,memory leak,开发者经常念叨的一个词,稍不留意,就游走在我们的代码中。Andriod开发,内存泄漏的原因有很多,比如activity的context引用,static引用,广播未取消注册,MVP设计时没有detachView,Rx没有取消subscribe订阅,动画处理等。检测的工具也很多。今天总结下,LeakCanary的使用。Dusan,杜乾,291902259!OpenDeveloper原创 2016-05-24 16:10:36 · 3617 阅读 · 0 评论 -
android service,服务的正确姿势
service,android四大组件之一,脱离UI在后台运行。Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。另外,一个组件能够绑定到一个service与之交互(IPC机制),例如,一个service可能会处理网络操作,播放音乐,操作文件I/O或者与内容提供者。原创 2016-05-11 18:09:17 · 1293 阅读 · 0 评论 -
Android 图片操作,Image实战
平时有很多时候会涉及到图片的操作,如获取缩略图,裁剪图片,旋转图片,获取尺寸,改变大学,drawable与bitmap相互转换等问题。本文给打击总结一些常用的操作,比较基础但是实用。原创 2016-04-30 10:05:13 · 1010 阅读 · 0 评论 -
Android创建应用快捷方式(ShortCut)的有效方式
有时候我们需要为自己的APP,创建桌面快捷方式,本文将介绍有效的方式,避免出现重复创建,或者创建失败的情况。通常应用安装后,第一次打开,去检测当前应用的快捷方式是否创建,如果没有创建,我们就帮生成桌面shortcut,否则不创建。 PS:最好不要每次进入应用都去创建,这样可能频繁提示用户快捷图标已经创建。 下面贴代码介绍生成应用快捷方式的工具类。1.创建快捷方式:发送广播需要设置好程序名,图标,原创 2016-04-18 09:24:25 · 10628 阅读 · 0 评论 -
Mac下安装NDK,进行JNI开发
Android studio 集成NDK开发环境,只要设置ndk路径。如果使用eclipse bundle开发,没有NDK插件,需要导入jar包,和ADT插件一样。如果下载JavaEE for mac 64位,需要安装ADT插件才能开发android应用。下面介绍Mac下安装如何NDK,进行JNI开发。为什么用AS开发,还要Eclipse帮衬?有些项目是eclipse的,用它来阅读项目源码或许有些必原创 2016-05-12 10:57:20 · 2031 阅读 · 0 评论 -
Android MVP架构,android-architecture
作为一个android开发中,必须熟悉常见的架构,并区分MVC,MVP,MVVM。Google在2016年3月份推出了Android MVP架构的各种组合,学习价值极高,建议下载回来撸代码。官方MVP项目的Github地址是: https://github.com/googlesamples/android-architecture 另外推荐一篇博文: 教你认清MVC,MVP和MVVM 本文原创 2016-04-26 12:50:30 · 2068 阅读 · 0 评论 -
Android中EditText隐藏/自动弹出输入法的问题
有些时候我们的应用需要在EditText聚焦时自动弹出输入法,或者隐藏输入法,关于输入法弹出,一般不会有什么问题。但是,有一些情况输入法是没发自动弹出的,比如弹出的对话框里有edittext,介绍一些常用的用法。原创 2016-05-13 18:04:14 · 18345 阅读 · 2 评论 -
Android获取系统相关的信息
android系统api给我们提供了非常多的方法,去获取手机的一些信息。比如:任务栈,设备名称,Mac地址,IMEI,CUP信息,内存,外置存储卡;应用名称,版本信息,屏幕宽高,系统版本号,sdk版本等。逐一总结。原创 2016-04-19 15:35:03 · 653 阅读 · 0 评论 -
搭建本地server,响应Android客户端HTTP请求
有些时候,我们可能需要自己搭建本地服务器,来测试某个客户端功能(公共API不满足自己需要的情况下),如果自己写接口,写在servlet中方便点。本文以普通的get,post请求为例,分享下如何搭建本地Server(Tomcat+servlet),测试网络请求,并演示HttpURLConnection的使用。一,安装Eclipse for JavaEE官方下载:http://www.eclipse.o原创 2016-05-03 16:51:20 · 3495 阅读 · 0 评论 -
Android架构文章合集(a collection of android Architecture)
本文主要是android目前流行架构的一些文章,本文转自简书,欢迎阅读。转载 2016-04-13 16:36:52 · 842 阅读 · 0 评论 -
Android JNI技术, NDK开发
Android NDK开发,duqian原创 2015-12-27 18:55:05 · 599 阅读 · 0 评论