- 博客(143)
- 资源 (1)
- 收藏
- 关注
原创 针对TextView更换字体颜色同时设置不同的点击事件的设计方案
在需求中我们需要将下面的文字放到一起,并更改不同的颜色进行区分,还需要将用《用户协议》和《隐私政策》添加不同的点击事情,去跳转进行展示不同的说明首先这是一个弹框,我们需要先去定义它的布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w...
2020-09-23 17:10:27 473
原创 android打包签名介绍
Keytool 是一个有效的安全钥匙和证书的管理工具.Java中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。Keytool 把钥匙和证书储存到一个keystore.默任的实现keystore的是一个文件.它用一个密码保护钥匙.(2)关于证书的几个概...
2020-09-15 10:00:52 254
原创 Android 8.0 app 内自动更新安装失败问题
最近发现在Android 8.0的设备上,以前正常的app内自动更新都出现了更新闪退的问题,debug一下发现是权限问题,在manifest添加这个权限即可<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>...
2020-09-15 09:47:20 632
转载 android签名打包v1和v2的区别
故事发生的原因:我这边做了正式的签名后(v1和v2同时勾选,产生正式的apk),拿给后台,后台再对我的apk签名再进行处理(截取部分签名后,然后重新签名,打入渠道号)!最后神奇的现象发生了,经过后台处理后的apk在7.0以下的手机是可以安装的,7.0及以上的手机是不能安装!这里就不能不重点介绍以下v1和V2签名了:这里可以看到:v1签名是对jar进行签名,V2签名是对整个apk签名:官方介绍就是:v2签名是在整个APK文件的二进制内容上计算和验证的,v1是在归档文件中解压缩文件内容。二者签名所产
2020-09-15 09:44:34 2144
原创 Android studio 如何生成签名文件
1.通过Android studio----Build----Generate Signed APK2.如果还没有生成过签名文件,那么就点击create new 进行创建.3.编辑信息4.列子5.点击ok后,上一个页面就自动填写好了 ,就如图所示,然后现在D:\下载\helloword.jks 就会有这个文件了我们再点击next就可以进行打包了,6.点击finish,就开始打包正式的apk了注意:勾选v1,v2...
2020-08-25 09:22:27 1079
原创 Android中快速为Recyclerview添加头部
为Android RecyclerView添加头部。调用简单的代码就可以为LinearLayoutManager,GridLayoutManager ,StaggeredGridLayoutManager布局的RecyclerView添加header。运行效果:使用说明:有两种使用RecyclerViewHeader的方法:方法1(使用起来非常简单,但是它会添加额外的布局,因此效率略低于第二种方法):为header创建一个xml布局(可以包括任意view或者ViewGr.
2020-05-26 09:10:17 1464
原创 Mac下Android SDK配置环境变量的配置(如adb)
首先找出自己的SDK安装位置,我的Android SDK位置在:/Users/zlh/Library/Android/sdk1、打开终端,然后输入ls -an查看".bash_profile"文件是否存在,如果存在就跳过第2步2、创建环境变量配置文件touch .bash_profile3、打开并编辑配置文件open .bash_profile输入配置内容:expo...
2019-12-10 11:31:59 363
转载 Android 集成微信、QQ、微博、支付宝、银联、华为、OPPO
效果图WechatIMG26.png源码版本华为: 2.6.3.301 QQ: 3.3.3 (6008) 微博: 4.3.9 微信: 5.4.0 银联: 3.4.1 支付宝: 15.6.4 OPPO:2.0.0集成 添加仓库地址 maven { url "https://dl.bintray.com/thelasterstar/maven/" } ...
2019-11-20 14:45:05 349
原创 Android中有关 retrofit设置网络请求超时时间的方式
private static final OkHttpClient client = new OkHttpClient.Builder(). connectTimeout(30, TimeUnit.SECONDS). readTimeout(30, TimeUnit.SECONDS). writeTimeout(30, Tim...
2019-10-22 09:11:21 1680
原创 Android 使用SharePreferences保存List集合到本地
保存的基本思路是将List数据转换成json格式数据,再保存//首先引入gson库compile 'com.google.code.gson:gson:2.8.1'保存List集合List<String> list = new ArrayList<String>();Gson gson = new Gson();String data = gson....
2019-07-24 09:32:20 444
原创 Java 中快速获取年,月,日,时的方法
Calendar now = Calendar.getInstance();System.out.println("年: " + now.get(Calendar.YEAR));System.out.println("月: " + (now.get(Calendar.MONTH) + 1) + "");System.out.println("月11: " + (now.get(Calend...
2019-06-25 13:54:52 1214
转载 GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问...
2019-06-25 13:34:48 189
原创 Android6.0以上获取APP设备唯一标识的正确姿势
问题在用户没有登录的情况下必须确保设备的唯一性,于是惯性思维想到的肯定是使用DevicesId 来作为设备的唯一标识。但Android6.0后google对权限加以限制和国内rom的不同等原因导致无法一个稳定的唯一标示常见唯一标示 imei Android_id mac地址 Installtion ID : UUID Pseudo-Uniq...
2019-06-14 14:32:22 4852 1
原创 java中如何高效的判断数组中是否包含某个元素
//检查数组是否包含某个值的方法publicclassTestArray {//使用Listpublicstaticboolean useList(String[] arr,String targetValue){returnArrays.asList(arr).contains(targetValue);}//使用Setpublicstat...
2019-05-14 11:30:10 958
原创 PLSQL中增删该查命令
1 insert语法: insert into 表名称 values(值1,值2);insert into person values('github','c++','java','mysql');insert intopersion(name,password) values('张三',123);2 delete语法: delete from 表名称 where 列名称=值删除...
2019-04-25 10:43:28 322
原创 Android图片压缩(按等比例压缩并且质量压缩)
/** * 图片按比例大小压缩方法 * * @param srcPath (根据路径获取图片并压缩) * @return */ public static File getimage(String srcPath) { BitmapFactory.Options newOpts = new BitmapFactory.Opt...
2019-04-25 09:03:27 2004
转载 Android项目快速打包上线apk教程
摘要:首先选择Build->GenerateSignedAPK,会出现下面的界面第一种情况:没有签名文件点击Createnew(最好签名文件密码和密钥密码设置一样)点击ok,刚创建的签名文件会默认选中,密码自动填充Next然后输入之前设置的MasterPassward,如果没有略过这一步BuildType选择生成apk类型debug测试,release线上。这里我们选择线上点击finish,...
2019-04-22 08:50:53 532
原创 Android ANR产生原因和解决办法
Android ANR产生原因和解决办法ANR (Application Not Responding)ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程...
2019-03-18 17:32:42 856
原创 Android 快速集成微信支付和支付宝支付
先说下微信支付吧,毕竟相对于支付而言,还是支付宝简单快速一点,就留到后面说了1.如果你已经成功集成了微信登录和分享,直接用你的 libammsdk.jar和 WECHAT_APP_ID就可以了, 那么下面帮你快速集成微信支付。微信官方的集成文档 微信官方资源下载2.接入前可以看看上面链接的文档,不过微信官方的文档写的不够好,好多开发者吐槽,至今也没改善点啥。3.好了直接说接入,接入微...
2019-03-12 09:34:11 557
原创 android实现程序开机自启动
在安卓中,想要实现app开机自动启动,需要实现拦截广播android.permission.RECEIVE_BOOT_COMPLETED,并且需要使用静态注册广播的方法(即在AndroidManifest.xml文件中定义广播) 1、先在AndroidManifest.xml文件中定义广播和声明权限<uses-permission android:name="android.pe...
2019-02-25 18:19:12 1018
原创 Android中有关WIFI的管理
WIFI管理类class WifiConnector { private ExecutorService executors; Handler mHandler; WifiManager wifiManager; WifiConnector(WifiManager wifiManager, Handler handler) { this....
2019-02-21 14:02:45 910
原创 Android SurfaceView实现跟随手指移动的光标
public class DragSurfaceView extends SurfaceView implements SurfaceHolder.Callback,Runnable{ private int screenW; //屏幕宽度 private int screenH; //屏幕高度 private float cx = 100; ...
2019-02-21 13:56:49 554
转载 安卓APP应用在各大应用市场上架方法整理
想要把APP上架到应用市场都要先注册开发者账号才可以。这里的方法包括注册帐号和后期上架及一些需要注意的问题。注意:首次提交应用绝对不能随便删除,否则后面再提交会显示应用APP冲突,会要求走应用认领流程,那个时候就会相当麻烦啦。 1、腾讯应用宝腾讯开放平台地址:http://open.qq.com注册开发者帐号地址:https://ssl.zc.qq.com/v3/index-chs...
2019-02-21 13:47:14 1638
原创 Android中EditText超出字数限制添加用户提示
当我们在Editext输入内容的时候,检测如果超过限制的长度无法输入内容,并且给用户提示。首先我想到了下面的方法: editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int s...
2019-02-21 13:42:31 1091
原创 Android中长图像展开与收起的实现方案
前言:在app的文章中,经常会夹杂着一些特别长的长图。在阅读的时候需要滑动很久才能看图片下方的文字,因此对于长图只展示图片上面一部分,并且可以展开这个功能是很重要的。效果:基本思路:利用scaleType的matrix属性以及直接改变图片的高度来实现图片的收起与展开。过程:开始尝试:scaleType属性介绍:center:保持原图的大小,显示在ImageVie...
2019-02-21 13:35:12 900
原创 JSON中optString和getString的区别
区别:optString方法会在对应的key中的值不存在的时候返回一个空字符串或者返回你指定的默认值;getString方法会出现空指针异常的错误;
2019-01-14 18:23:38 309
转载 Android 搜索框的实时查询/模糊查询
参考http://www.cnblogs.com/jeffen/p/6958235.htmlhttp://blog.csdn.net/ljd4305/article/details/39375163这里实现的是搜索框时时查询,代码中是在数据库中使用的模糊查询;整个布局使用的是线性布局,搜索框又是一个线性布局(里面包含一个相对布局和一个TextView,相对布局里面有一个EditTe...
2018-11-19 09:38:55 2406 1
原创 Android应用中如何调用系统设置项
1. android中调用系统的设置项,比较简单,只需要new一个对应设置的Intent,并调用startActivity(intent)即可。如下方法中,调用时传入相应的action:public void processActionSetting(String action) {Intent intent = new Intent(action);startActivity(inten...
2018-10-30 14:59:38 753
原创 Android中生成json格式数据的几种方法
String生成的json数据有两种1String json="[{'name':'tom','age':12},{'name':'jack','age':13}]";JSONArray a = new JSONArray(json);System.out.println(a.toString()); 2String json2="{'json':[{'name':'to...
2018-09-07 14:57:33 3876
原创 如何把一个List<String>集合中的数据用分隔符分开,并以字符串展示出来
public String listToString(ArrayList<String> stringList){ if (stringList == null) { return null; } StringBuilder result=new StringBuilder(); boolean flag=false; for ...
2018-09-06 14:09:04 5150 1
原创 Android中GridView、ListView 的 getChildAt() 方法返回null 问题
开发的Android app用到了GridView或者ListView,通常使用getChildAt(int position)方法获取当前点击或者选中的View(即position对应的View)。 当ListView、GridView没有滑动的时候,可以正常地获取到index对应的View;但是当ListView、GridView滑动之后,却获取到null或者一个存在偏移量的View...
2018-08-30 15:42:54 589
原创 Java中将xml文件转化为json的两种方式
第一种方式json-lib,这种方式需要的依赖包比较多,具体需要以下jar包这个从网上下载既可以了或者是利用Maven指定好依赖即可 实现代码具体见下 public class Test { public static void ConvertXMLtoJSON() { InputStream is = Test.clas...
2018-08-30 08:44:23 338
原创 Android:java.lang.OutOfMemoryError的问题解决方案
解决Android 内存溢出你可以添加在你的清单配置文件中添加android:hardwareAccelerated="false"android:largeHeap="true"例如: <application android:allowBackup="true" android:hardwareAccelerated="false" a...
2018-08-29 11:30:08 6759
原创 java中如何删除本地文件夹以及文件
File file = new File("C:/zc.xls");if (file.isFile() && file.exists()) {file.delete();} 如果文件下面有东西的话,要一层层的删public void delTempChild(File file){if (file.isDirectory()) { String...
2018-08-17 08:44:48 10156
原创 解决Android Studio连不上Android设备真机的问题
解决AndroidStudio连不上Android设备真机的问题Android手机开发Android应用的时候,需要连接真机,进行应用软件的真机调试,但是由于诸多原因,可能导致无法与实现连接:在我们连接了Android设备出现上面这种情况的时候,可以打开设备管理器,如果看到如下图的情况:出现一个带感叹号的“ADB Interface”这种情况下,我们基本可以判断是usb驱动没有...
2018-07-24 17:02:15 3309
原创 Java正则表达式中Group的使用详解
组的理解组指的是用括号划分的正则表达式,举个简单的例子:A(B(C)D 组0:ABCD 组1:BC 组2:C Macher类中的group(int i)返回对应的组,例如group(0)为ABCD,group(1)为BC,group(2)为C, groupCount()返回组数。 下面用一个简单的案例实现一下import java.util.regex.*;import static sun.m...
2018-07-13 09:00:51 2552
原创 网络请求框架封装(NetWorkUtils)
效果图:项目描述:网络请求框架二次封装,目前完成了基于OkHttp的get/post/postJson/uploadFile/downloadFile等功能开发,支持扩展,底层实现可自由切换;扩展请继承ExecutorFactory实现具体的IExecutor即可,底层可以是OkHttp,也可以是HttpClient或者URLConnection;使用方式:public class MyAppli...
2018-06-28 18:31:38 285
原创 如何启动未经注册的activity和service
涉及到的关键类:ActivityThread,ContextImp,ActivityManager涉及到的技术:activity启动流程,hook(也就是动态代理),java反射,AMS的交互过程ActivityThread:ActivityThread位于android.app包下,他是安卓应用的真正入口,以下代码拷贝自android SDK 26中,去掉了注释部分public...
2018-06-28 18:27:39 628
原创 启动白屏终极解决方案
React Native启动白屏是一个很普遍但又很严重的问题,网上也有很多文章,这里就此问题,从分析到常用的解决方案做一个简单的总结。先看图,白屏的现象:图中手机为ZTE星星2号(专用测试机,为嘛?因为公司没给配啊,还有自己买的,所以就是专用的喽),Andriod 4.4的,可以看到白屏现象很严重,最后用自己的华为mate9,Android 8.0系统进行了测试,依然存在白屏的现象。...
2018-06-28 18:04:20 7683 1
原创 Android中保存图片到本地功能实现
本文描述将一个Bitmap对象保存为一个图片文件的主要步骤。保存的图片文件能够立刻在系统相册和图库中找到。主要步骤这里只介绍按下“保存”后如何将一个Bitmap对象保存为图片文件的执行步骤,对图片的下载,图片到Bitmap对象的转换,Bitmap对象的格式转换和压缩,以及界面设计部分全部都忽略了。确定存储路径获取外部存储权限确定外部存储状态确定文件名保存到文件中发送广播,通知系统扫描保存后的文件确...
2018-06-19 08:56:52 20140 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人