Android学习
文章平均质量分 83
Liu_dede
13年起IT行业从业至今,一年网络工程师C/C++后端开发,六年Android开发。
展开
-
安卓apk反编译、修改、重新打包、签名全过程
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/dreamer2020/article/details/52761606/首先明确,反编译别人apk是一件不厚道的事情。代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的。这也说明,代码混淆是非常重要的。本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么反编译apk。工具简介apktoolhttps://ibotpe...转载 2021-07-14 14:46:37 · 1972 阅读 · 0 评论 -
Android包体积优化
转载于:https://blog.csdn.net/long117long/article/details/90715364转载于:https://blog.csdn.net/long117long/article/details/90715425文中链接:饿了么开源的Mess可实现四大组件和View混淆 https://github.com/eleme/MessR8 https://blog.dreamtobe.cn/android_d8_r8/Facebook的s...转载 2021-07-14 14:09:47 · 122 阅读 · 0 评论 -
动态代理与静态代理区别
一、代理概念为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。图1:代理模式从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”字结构。根据代理类的生成时间不同可以将代理分为静态代理和动态代理两种。下面以一个模拟需求说明静态代理和动...转载 2020-05-14 17:52:18 · 350 阅读 · 0 评论 -
Android——多线程的多种实现方式
1、为什么用多线程?答:核心思想是为了让程序表现得更加流畅,不阻塞主线程。基础知识:在安卓系统中,主线程又称之为UI线程,它负责渲染视图、对界面进行轮询的监听、分发事件到响应监听器并执行,而在主线程之外的其他线程是不能对视图和界面进行操作的。2、什么是多线程?答:线程是程序运行的基本单位,只要在主线程外新建线程即可称之为多线程。3、Android多线程实现方式 ...原创 2020-04-17 10:32:40 · 414 阅读 · 0 评论 -
Android tab切换控件
基于viewpager,实现了可以点击tab,可页面左右滑动,tab变化,tab下标动画等。 分为四个部分: 第一个FragTabsViewPager,让您想要实现的页面继承它。package com.base;import java.util.List;import com.shennongshi.dingdong.R;import com.third.widget.P原创 2017-02-09 11:15:49 · 1554 阅读 · 0 评论 -
Android PullToRefresh库的两个改动例子
例一:我们先继承PullToRefreshListView之后我们就可以在布局文件中直接使用lazylistview,用这种思路,可以让安卓的每一个页面都很方便地实现pull的动画和效果。package com.base;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pu原创 2017-02-09 11:33:00 · 427 阅读 · 0 评论 -
关于scorl嵌套线性布局
今天发现一个奇怪的现象,我的ScrollView作为根布局,里面包含一个LinearLayout。我给ScrollView设置了一个android:fillViewport="true"。 在这种情况下,无论ScrollView的高度设置成warp还是match。里面的LinearLayout也不管设置成warp还是match,LinearLayout的高度都是占满屏幕的。 于原创 2017-06-08 19:02:04 · 388 阅读 · 0 评论 -
分享一些获取手机基本信息和apk信息的函数
1.获取cpu信息 基本上耗时 几毫秒 0型号 1频率 ARMv7 public static String[] getCpuInfo() { if (sCpuInfo == null) { String path = "/proc/cpuinfo"; String data = ""; String原创 2017-06-23 10:02:42 · 1294 阅读 · 0 评论 -
由mp3音频录制 初探NDK编程
现下很多同学甚至是公司有些过于崇尚NDK编程,觉得会使用NDK的人就更厉害。 经常发现一个做泛泛的大众化应用的公司,招聘要求第一行就是精通NDK编程。一个典型的码农型程序员开口闭口C++写安卓。 种种现象导致了我在相当一段长的时间里觉得NDK是一个很难的东西,其实同学们NDK对于我们来说就是一种工具,并没有什么大不了的。并且对于现阶段大多数应用的大多数情况中,你都不需要使用到N原创 2017-11-06 16:47:40 · 243 阅读 · 1 评论 -
Android 实现可循环,可轮播的viewpager
很多同学在开发过程中需要添加轮播图等,我浏览了网上很多轮播图实现方式,大多数不够完美。 这是一个基于viewpager的轮播图,注意使用的时候要给图片做缓存等,以避免图片的oom。package com.base.add;import java.util.ArrayList;import java.util.List;import com.base.ActBase;i原创 2017-02-09 11:08:13 · 337 阅读 · 0 评论 -
Android 流式布局LinearLayout
在安卓中,我们并没有现成的布局去实现自动流式的布局,这里给大家分享一个 FlowLinearLayout 。希望能帮到有需要的人。package com.utils.widget;import android.content.Context;import android.util.AttributeSet;import android.view.View;import and原创 2017-02-07 15:45:31 · 857 阅读 · 0 评论 -
Android 弹toast工具类
我们在程序中经常会有弹出一个toast的需求,而如果每一次都对toast创建出一个新的对象并描述,这样不仅浪费资源而且浪费我们的编码时间。这是一个工具类,我们需要弹出toast的时候,只要调用XToaster.show方法就能简单地实现toast弹出。package com.utils.tools;import android.annotation.SuppressLint;原创 2017-02-07 15:41:01 · 243 阅读 · 0 评论 -
Android里drawable文件写shape的总结
例一:-例二:-总结:用drawable文件写shape时注意它的几个属性,solid属性用来描述形状主体内容,corners用来描述形状的左上、右上、左下、右下四个角的弧度,stroke用来描述形状的边框样式。当属性未描述时则使用默认样式。原创 2017-02-07 14:28:20 · 334 阅读 · 0 评论 -
Android anim使用
例一: android:duration="500" /> android:duration="500" /> 例二: android:interpolator="@android:anim/accelerate_decelerate_inter原创 2017-02-07 14:49:14 · 780 阅读 · 0 评论 -
Android apk信息获取管理和手机信息获取管理
个人学习总结,如有侵权请留言联系删除,忘海涵。例一:apkinfo文件package com.utils.data;import com.shennongshi.dingdong.MApplication;import android.content.pm.ApplicationInfo;import android.content.pm.PackageInfo;import原创 2017-02-07 15:16:21 · 371 阅读 · 0 评论 -
Android 中AES加密举例
这是我在项目中使用的AESUtil文件。包括了Encrypt函数加密Decrypt函数解密其中Key是从Mapplication中取到。package com.utils.crypt;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import com.shennongshi.dingdo原创 2017-02-07 15:04:37 · 532 阅读 · 0 评论 -
Android 图片处理工具类,包含了压缩、存、取图片等。
package com.utils.tools;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import原创 2017-02-07 15:26:49 · 592 阅读 · 0 评论 -
Android的相机管理工具类
package com.utils.tools;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import com.shennongshi.dingdong.R;import com.shennongshi.dingdong.pztools.IntentC原创 2017-02-07 15:28:51 · 531 阅读 · 0 评论 -
Android 日期计算类
分享一个使用较方便的日期计算类:package com.utils.datecount;import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;public class DateCount { /** * datelevel 0为7天内,1为7到15原创 2017-02-07 15:22:49 · 232 阅读 · 0 评论 -
Android 分享临医app录音管理基类实现
临医app录音管理基类删除了跟商业隐私有关函数,只剩下功能函数,希望能给大家带来帮助。其中振幅功能是为了提供根据声音大小而变化的波动动画,有兴趣的同学可以私信我索取。有MP3转换功能,这方面个人觉得在Android机器上做录音转换并不太好,可以把音频转换模块放到服务器上执行。package com.utils.tools;import java.io.File;imp原创 2017-02-07 15:35:44 · 230 阅读 · 0 评论 -
Android selector写法
例一-总结:Android里selector就是利用item的状态判断来选择不同的drawable文件或者color。然后我们就可以使用这个selector来作为xml里或者java代码里的视图背景,此时视图就会随着不同的状态来更换背景了。原创 2017-02-07 14:21:54 · 644 阅读 · 0 评论