![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 随笔
文章平均质量分 76
abs625
为众人抱薪者,不可使其冻毙于风雪
展开
-
安卓apk文件使用命令行进行V1和V2签名
安卓apk文件使用命令行进行V1和V2签名前言安装JDK、安卓SDKV1签名V2签名签名验证批处理自动签名批处理文件编写批处理签名使用尾巴前言现在安卓APP要上传应用市场或者基于安全性考虑需要进行加固,而加固完成之后需要重新进行签名。在AS中我们能使用AS自带的打包功能进行签名,而单独的apk文件可以使用基于JDK和SDK的命令进行手动签名,下面我们就来看下怎么实现吧。安装JDK、安卓SDK这步是必须的,因为V1签名是基于JDK,V2签名是基于安卓SDK。V1签名V1签名是基于JDK,所以我们需原创 2021-09-17 10:42:47 · 4820 阅读 · 3 评论 -
Android Studio配置(Android Studio4.1为例)
Android Studio配置(Android Studio4.1为例)Android Studio下载(下文统称AS)Android SDK下载SDK安装器下载SDK下载JDK配置JDK下载JDK安装JDK环境变量配置SDK路径配置SVN配置SVN下载安装SVNAS关联SVN配置忽略文件添加资源库清除SVN信息的脚本AS缓存目录配置.AndroidStudiox.x缓存目录更改.gradle缓存目录更改AS自定义头部注释尾巴Android Studio下载(下文统称AS)AS最新版下载请戳:AS下载原创 2020-10-16 14:28:00 · 9777 阅读 · 17 评论 -
android 头像选择,裁剪全套解决方案,你值得拥有!
头像选取,裁切,上传等功能基本上是现在每个app必备的功能,实现起来倒是不复杂,确是要花点时间。恰好前几天把这个功能做完了,本着不重复造轮子的原则,提供一整套解决方案,希望给能用到的小伙伴。首先放头像必须得有一个控件,我这里用的 CircleImageViewimplementation 'de.hdodenhof:circleimageview:2.1.0'然后是点击控件弹出选择框...原创 2018-10-10 16:29:50 · 6249 阅读 · 6 评论 -
android两种方式带你实现自定义dialog
android系统提供了强大的api给开发者使用,但是系统的dialog确实一直不太美观,所以很多情况下都需要自定义dialog,今天就用两种不同的方式来实现自定义dialog相同的效果。首先给大家两种不同方式实现的相同的dialog效果图:首页放了两个按钮,分别点击按钮弹出不同的实现方法。第一张是通过继承自dialog实现,第二张是通过继承自PopupWindow实现,接下来就看...原创 2018-10-22 15:28:53 · 655 阅读 · 0 评论 -
java解耦利器之万能接口
前言 java中的接口(interface)想必大家都用过,但是如果有些刚入行的萌新问起,为什么要用接口?有什么作用?说实话,一时半会儿我也答不上来。这时候看上去稳如老狗,其实心里慌的一批的我会说,这么简单,去度娘里查下你就清楚了。然后自己就偷偷的打开电脑在浏览器里面输入www.bai...,后面的大家都懂的。这里我就不做科普了,用过接口的老司机都说好,谁用谁知道。最几年都有人主张ja...原创 2018-11-23 17:01:28 · 1812 阅读 · 2 评论 -
adb 无线调试
做android开发的同学们,在调试app的时候,数据线会经常松动,导致调试失败,现在给大家分享一个用adb无线调试的方法。1、首先电脑和手机需要连在同一个局域网中,这个是前提。2、用数据先连接电脑,保证ide工具可以识别到。3、在命令行窗口输入adb tcpip 9999(后面端口号可以随意指定)4、查看手机的ip地址,在命令行中使用adb connect ip:99995、...原创 2018-09-06 08:46:51 · 1868 阅读 · 0 评论 -
android studio中导入源码编译的framework.jar
一、找到源码环境下编译好的framework.jar这里以mtk平台为例,生成的jar目录为:out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes-full-debug.jar二、将生成的jar包放入android工程的libs目录右键jar包选择add as libary选择如下菜单进入:三、在打开菜单中做如下操...原创 2018-03-19 14:53:39 · 3843 阅读 · 4 评论 -
android 和服务端交互数据压缩
客户端和服务端进行交互时,如果数据量比较大时可以将数据压缩后再访问服务端,主要是调用gzip相关api,代码如下Base64Utilspublic final class Base64Utils { private static final int BASELENGTH = 128; private static final int LOOKUPLE原创 2017-08-01 19:50:12 · 880 阅读 · 0 评论 -
分享一个SharedPreferences工具类
直接上代码public class SPUtils { /** * 保存在手机里面的文件名 */ public static final String FILE_NAME = "share_data"; /** * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法 *原创 2017-08-02 09:17:51 · 325 阅读 · 0 评论 -
android 后台发送邮件到指定邮箱
这个主要是搜集app报错信息之后将信息上传到邮箱,请不要用做其他非法用途。代码请参考:MailUtils.javapublic class MailUtils { /** * 创建一封只包含文本的简单邮件 * * @param session 和服务器交互的会话 * @param sendMail 发件人邮箱原创 2017-08-02 09:24:23 · 1179 阅读 · 4 评论 -
自定义view时一些概念的含义
关于自定义view时一些概念做下简单记录View.getLeft():子View的左边界到父View的左边界的距离View.getRight():子View的右边界到父View的左边界的距离View.getTop():子View的顶部到父View顶部的距离View.getBottom():子View的底部到父View的顶部的距离View.getWidth():表示的原创 2017-08-03 09:42:00 · 378 阅读 · 0 评论 -
上传头像时圆形裁剪框
上传头像到服务端时需要将图片裁剪,项目中用到的是圆形的裁剪框,先看效果:代码实现如下:public class ClipImageBorderView extends View{ /** * 水平方向与View的边距 */ private int mHorizontalPadding; /** * 垂直方向与View的边距原创 2017-08-04 10:43:19 · 1712 阅读 · 0 评论 -
android MVP模式
随着项目业务逻辑日益增多,项目变的越来越复杂,这时候选择一个合适的架构模式,能让项目维护起来更容易,可读性更强。以前主要使用MVC模式,但是现在的越来越多的开发者开始使用MVP模式来代替MVC模式,究竟MVP模式比MVC模式好在哪里,请看一下比喻:MVC:饭店老板戚总就好比我们的Controller,饭店的厨师老范相当于View(买什么菜他说了算是需求的来源),采购小王相当于M原创 2017-08-04 17:47:53 · 419 阅读 · 0 评论 -
android ipc跨进程通讯
aidi跨进程通讯在android系统中使用广泛,包括client端和server端。今天写个简单例子记录下:新建android工程:AIDL_Service(服务端)选择Android为工程目录视图,在包名上右键新建aidl file,最后会在app/src/main目录下面package reacheng.com.aidl_service;// Declare any non-defaul...原创 2017-08-03 14:15:15 · 343 阅读 · 0 评论 -
android 实现framework和底层C/C++通讯
最近接到一个需求,要在framework中添加一些上层接口给客户调用,然后在framework中调用C中的代码实现和硬件一些数据交互。framework和C交互肯定想到的使用jni,但是和硬件交互的时候需要执行一些shell命令,必须要root权限才能执行成功,如果在framework中使用jni,显然无法达到我们想要的效果,后来就换了种方式实现,使用localscoket来实现,在系统添加一个服...原创 2018-03-09 10:07:30 · 1938 阅读 · 0 评论 -
android下载支持断点续传
严格意义上来说,断点续传功能需要服务端和客户端同时支持,但是现在大多主流服务器或者框架已经默认支持,所以本文只讨论客户端实现。这里以okhttp下载为例子说明,关键点是在访问的头里面添加“RANGE”参数,这个参数告诉服务端你要从一个文件的某个位置开始下载。比如你传如的“RNAGE”参数是100,要下载的服务端的文件大小为200,然后就会从文件100的地方开始给你。代码实现如下:addHeader...原创 2018-03-16 13:59:47 · 397 阅读 · 0 评论 -
android 连接wifi
前几天在做一个远程控制app用来获取远端设备wifi列表并控制远端设备连接wifi,做下简单记录,主要代码如下://创建一个WifiConfigurationpublic WifiConfiguration createWifiInfo(ScanResult scan, String password) { WifiConfiguration config = new原创 2017-08-01 19:42:29 · 485 阅读 · 0 评论