Android
文章平均质量分 94
呱呱侠
纸上得来终觉浅,绝知此事要躬行。
展开
-
Android ListView 图片异步加载和图片内存缓存
开发Android应用经常需要处理图片的加载问题。因为图片一般都是存放在服务器端,需要联网去加载,而这又是一个比较耗时的过程,所以Android中都是通过开启一个异步线程去加载。为了增加用户体验,给用户省流量,一般把加载完的图片先缓存下来,下次加载的时候就不需要再联网去服务器端加载。图片缓存一般分为一级缓存(即内存缓存)和二级缓存(即磁盘缓存)。这里只讲一级缓存。内存缓存:就是把加载完的图片先转载 2016-03-15 22:57:37 · 308 阅读 · 0 评论 -
反编译apk,修改sdk文件,重新签名
前置準備工具和工作1) dex2jar : https://github.com/pxb1988/dex2jar 2) apktool : https://github.com/iBotPeaches/Apktool 3) 一個android 的key : Android Studio -> Build -> Generate Signed APK -> Create New 設密碼和位置 4原创 2017-09-07 20:38:27 · 5771 阅读 · 0 评论 -
Android开源优秀项目源码
BeautifulRefreshLayout-漂亮的美食下拉刷新https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFoodMaterial Design-动画风格的选项卡tab切换功能https://github.com/neokree/MaterialTabsTwinklingRefreshL原创 2017-07-17 17:20:25 · 7782 阅读 · 0 评论 -
Android 观察者模式
观察者模式,定义了对象间一种一对多的依赖关系,当被观察者状态发生变化时,它的观察者们会收到通知并自动更新。应用 在java语言的java.util库里面,提供了一个Observable类以及一个Observer接口,构成Java语言对观察者模式的支持。Android 观察者最常见有addTextChangedListener等。Observable/Observer示例 Oservable被观察原创 2017-07-16 20:45:14 · 264 阅读 · 0 评论 -
Android APK瘦身
现在APK动不动就是几十兆,当用户连接到3G和4G网络,或者按流量收费的设备是多么的浪费,所以对APK瘦身还是很有必要的。1 开启minifyEnabled混淆代码 在app/proguard-rules.pro编写混淆规则,根据自己项目依赖的库一一混淆,这里就不提供具体混淆代码了。2 开启shrinkResources去除无用资源 在app/build.gradle打开s原创 2017-07-16 20:08:26 · 373 阅读 · 0 评论 -
Android 内存优化
为什么优化 虽然 Java 对内存的释放有垃圾自动回收机制,但是实际开发中,不再用到的对象因为被错误引用会导致无法回收,从而造成内存泄漏,甚至内存溢出OOM(OutOfMemory),程序崩溃。如何检测使用 LeakCanary Android 内存泄漏检测库:https://github.com/square/leakcanary ,善于使用 LeakCanary 发现内存泄漏。原创 2017-07-16 19:55:39 · 275 阅读 · 0 评论 -
Android MVP
实例简单的请求天气功能,演示MVP的使用技巧MVP流程说明: 步骤1:UI实现View方法,引用Presenter 步骤2:Presenter调用Model,走Model具体逻辑 步骤3:Model逻辑实现,回调Presenter方法 步骤4:Presenter回调View,即回到UI,回调View方法gradle文件: 网络请求采用的是async-http:compile ‘com.lo原创 2017-07-16 11:15:50 · 333 阅读 · 0 评论 -
android 生成arr包或 jar包
Proguard进行Jar包混淆- http://blog.csdn.net/mengweiqi33/article/details/51736519 日积月累:Proguard进行源代码混淆和崩溃日志反混淆- http://blog.csdn.net/p106786860/article/details/11974863Android studio生成aar包并在其他工程引用aar包:http:原创 2017-06-19 21:04:31 · 1154 阅读 · 0 评论 -
Android获取本机IP地址
自己开发时遇到一个需求,要求地域定向,获取ip,如果手机连接的是wifi,获取到是192.168.1.0这种格式的地址,如果连接的是移动网络,获取到的是10.119.32.486这种格式。/*客户端IP/public static String getIP(Context context){ try { for (Enumeration<NetworkInterface> en原创 2017-05-12 10:30:14 · 21485 阅读 · 0 评论 -
【转】解决Android因加载多个大图引起的OutOfMemoryError,内存溢出的问题
最近因为项目里需求是选择或者拍摄多张照片后,提供滑动预览和上传,很多照片是好几MB一张,因为目前的Android系统对运行的程序都有一定的内存限制,一般是16MB或24MB(视平台而定),不做处理直接加载的话必然会报OOM (Out Of Memmory)。网上有很多解决android加载bitmap内存溢出的方法,我总结了一个通用的方法,下面是我从的开发案例抽取出来的代码:我在项目中建了个Uti转载 2017-04-20 15:00:24 · 325 阅读 · 0 评论 -
React Native在windows上android环境搭配及注意事项
React Native是新型跨平台开发的技术,简称RN。开发和维护团队是Facebook,现在开源了,应该会火起来吧。直奔主题…….环境搭配:本人的电脑win10,win7和win8都差不多的。需要安装的有nodejs,python2.x,JDK,Android SDK,React-native工具;代码编辑器的话,用mac或Linux的可以用官方推荐的atom+nuclide,我用win转载 2017-04-13 19:03:36 · 618 阅读 · 0 评论 -
Android网络请求框架AsyncHttpClient详解
[摘要:1.简介 Android中收集要求一样平常应用Apache HTTP Client或采纳HttpURLConnect,然则间接应用那两个类库须要写大批的代码才干完成收集post战get要求,而应用android-async-http那个库能够大大的简化操] 1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类转载 2016-12-02 16:22:51 · 2547 阅读 · 0 评论 -
Android-async-http AsyncHttpClient介绍
在Android开发中,发送、处理http请求简直太常见了,以至于我们的代码里到处充斥着各种HttpClient和与之相关又臭又长的代码, 它们存在于你代码的各个角落,每次看见都令人作呕,而你仅仅是为了server能返回一个string或者json给你。每次当我自己写这样 的代码时,我都会想能不能简化下这个流程,可能2、3行代码就能搞定。因为针对最简单的case,我只需要提供request url,转载 2016-11-18 14:01:18 · 1571 阅读 · 0 评论 -
Android中的ANR异常情况
ANR的定义在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给原创 2016-09-18 15:26:28 · 385 阅读 · 0 评论 -
Android AsyncTask案例原理分析
在前面,自己使用了Thread+Handle的方式实现了异步更新UI界面,这篇中,我想介绍一下另一种实现方式:AsyncTask异步更新UI界面。AsyncTask本质上是一个线程池,所有的异步任务都会在这个线程池中的工作线程内执行,当工作线程需要跟UI线程交互时,工作线程会通过向在UI线程创建的Handler传递消息的方式,调用相关的回调函数,从而实现UI界面的更新。AsyncTask抽象出后台线原创 2016-06-25 10:15:20 · 302 阅读 · 0 评论 -
Android开发中Handler的案例分析
一、Handler的定义: 在Android中,我们更新UI的操作必须要在主线程(UI线程)中进行,而下载图片、文件这种操作必须要在子线程中进行,Android为我们提供了Handler机制,实现了子线程与主线程之间的通信。通常做法就是先new出一个子线程Thread,在子线程中完成下载操作后,通过handler发送一条Message给主线程,主线程收到消息后,就可以进行UI的更新工作了,所以总原创 2016-06-24 11:21:35 · 460 阅读 · 0 评论 -
Android OpenGL基础入门
文章转载自http://www.cnblogs.com/zhuyp1015/p/4472599.html Android 自从2.2 版本之后之后开始支持OpenGL,在没有支持OpenGL 的 GPU的情况下,也可以使用(通过软件来模拟)。在Android上使用Opengl操作的对象是GLSurfaceView,这是一个继承自View的扩展。 在Android上Opengl是通过Vertex转载 2017-12-06 15:05:16 · 288 阅读 · 0 评论