
Android
省钱兄科技
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安卓怎么搭建框架?
今天在我的石墨文档中看到以下内容的整理 2018.4.3号写下的选择设计模式MVCModel-View-Controller,经典模式,很容易理解,主要缺点有两个:View对Model的依赖,会导致View也包含了业务逻辑;Controller会变得很厚很复杂。MVPModel-View-Presenter,MVC的一个演变模式,将Controller换成了Pres...原创 2019-09-18 09:41:14 · 676 阅读 · 1 评论 -
Android处理双击按钮的问题
private static long lastClickTime; /** * Is fast double click boolean. * * @return the boolean */ public static boolean isFastDoubleClick() { long time =...原创 2018-12-17 18:43:47 · 354 阅读 · 0 评论 -
Java保留末尾小数点实现之BigDecimal
转:https://www.cnblogs.com/LeoBoy/p/6056394.html1.引言 浮和双类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候的BigDecimal就派上大用场啦。...转载 2018-12-21 13:50:04 · 737 阅读 · 0 评论 -
解决Android更新安装包时不能自动安装的问题
一,安装代码 private void installUseAS(String filePath) { File file = new File(filePath); Uri uri = Uri.fromFile(file); Intent intent = new Intent(Intent.ACTION_VIEW); ...原创 2018-12-21 10:55:46 · 2229 阅读 · 0 评论 -
Android应用安装完成后打开应用出现初始化两次解决方案
启动界面加上if (!isTaskRoot()) { finish(); return;}@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (!isTaskRoot()) { fin...原创 2018-12-21 09:07:41 · 1173 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError
缺失armeabi: ndk { abiFilters “armeabi-v7” , “x86” }补armeabi ndk { abiFilters “armeabi-v7” , “x86” , “armeabi ” }原创 2018-12-06 10:30:09 · 699 阅读 · 0 评论 -
GlideV4 AbstractMethodError解决方案
昨天升级glide最新包遇到的问题,看了一下官网的解决方案 https://github.com/bumptech/glide集成4.x报错信息java.lang.AbstractMethodError: abstract method "void com.bumptech.glide.module.RegistersComponents.registerComponents(and...原创 2018-12-06 09:06:35 · 735 阅读 · 0 评论 -
Android渠道打包实现打包logo、名称、applicationId等
一、app下build.gradle配置下面这里就是设置了logo 和名称要是需要设置application 新加一个其他的照猫画虎如果你有特殊的处理在这个渠道包下那么你就可以使用 {BuildConfig.FLAVOR} 获取到对应的渠道做特殊处理了 productFlavors { NetKeeper { man...原创 2018-11-28 16:43:30 · 1667 阅读 · 0 评论 -
Android自定义BuildConfig字段
一、介绍public final class BuildConfig { public static final boolean DEBUG = false; public static final String APPLICATION_ID = "com.maxd.test"; public static final String BUILD_TYPE = "release"...原创 2018-11-28 13:18:31 · 1779 阅读 · 0 评论 -
Android 获取gateway网关地址
my_wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE)); assert my_wifiManager != null; dhcpInfo = my_wifiManager.getDhcpInfo();解析方法 ...原创 2018-11-28 10:21:12 · 3598 阅读 · 0 评论 -
解决Android 8.0和9.0无法获取SSID (unknow ssid)
一直都在做wifi相关的东西今天遇到一个问题是8.0的机型无法获取到ssid然后就查询了一番 终于找到解决方案wifi名称获取代码 WifiManager my_wifiManager = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE)); assert m...原创 2018-11-27 18:47:50 · 16628 阅读 · 7 评论 -
linux系统Android环境配置详介
国内sdk下载地址wget http://mirrors.neusoft.edu.cn/android/repository/tools_r24.4.1-linux.zipSDK 解压unzip -d android-sdk_r24.4.1-linux.zip(具体解压文件命令查看:https://www.cnblogs.com/zdz8207/p/3765604.html)...原创 2018-11-27 13:07:32 · 395 阅读 · 0 评论 -
Android在Adapter中获取网络视频第一帧(优化)
获取成功以后使用的是map保存,key为adapter的position 避免销毁再次加载 @SuppressLint("UseSparseArrays") private Map<Integer, Bitmap> bitmapMap = new HashMap<>();//bitmap的集合 @SuppressLint("HandlerLeak"...原创 2018-11-29 19:00:46 · 1262 阅读 · 0 评论 -
Android实现本地视频+录制视频+视频压缩上传
今天研究了一下视频上传的处理,还包括研究可以视频压缩,本地视频、录制视频上传。本地视频获取需要适配手机,这个建议自己获取本地视频列表自己实现。不然就会出现路径找不到返回 null好东西都是要分享给大家的 有问题请留言评论。。。视频压缩我用的是七牛的 ,我们图片上传的就是七牛,七牛的视频压缩还是很快的感兴趣可以看看官网文档 看不懂就看下面加红的那个链接https://develope...原创 2018-11-29 17:44:33 · 14716 阅读 · 2 评论 -
Android如何全局捕获异常呢???
工具类package me.maxd.demo.utils;import android.annotation.SuppressLint;import android.content.Context;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import andro...原创 2018-12-17 18:54:56 · 317 阅读 · 0 评论 -
Android跳转系统通知权限设置
测试过华为、小米、魅族跳转下列代码可以支持if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Intent intent = new Intent(); intent.setAction("android.settings.APP_NOTIFICA...原创 2018-12-12 11:02:59 · 2971 阅读 · 2 评论 -
Android Rom识别各类品牌
import android.annotation.SuppressLint;import android.app.AppOpsManager;import android.app.Dialog;import android.content.Context;import android.content.Intent;import android.content.pm.Applica...原创 2018-12-12 11:09:09 · 477 阅读 · 1 评论 -
Android中UDP发送报文
实现代码 上面写了备注 //随机的uuid String uuid = UUID.randomUUID().toString(); //定义传输的数据 userName是我接收的参数 final String s = "TEL=" + username + "&SEQ=" + uuid; //key是我后端的协商秘钥...原创 2019-08-09 09:34:22 · 844 阅读 · 0 评论 -
Android SeekBar样式修改实现签到效果
1、实现功能 签到的progress 支持气泡指示器效果图2、实现代码(1)重写SeekBar禁止拖动package com.example.demo;import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import andr...原创 2019-07-24 11:22:01 · 790 阅读 · 0 评论 -
Android安全检查之网络环境检测
这个就是通过广播监听wifi发生变化提示用户/** * 监控Wifi状态的广播接收器 */private final class WifiStateReceiver extends BroadcastReceiver { @Override public void onReceive(Context c, Intent intent) { Bundl...原创 2019-04-26 17:37:35 · 1421 阅读 · 0 评论 -
Android安全检查之Root环境检测
当进入APP的时候检测提示用户 /** * Is rooted boolean. * * @return the boolean */ public static boolean isRooted() { // nexus 5x "/su/bin/" String[] paths = {"/syste...原创 2019-04-26 17:36:35 · 4400 阅读 · 6 评论 -
Android安全检查之Activity劫持检测
处理检测app进去后台的时候提示用户 也就是在onPause的时候 /** * Is foreground boolean. * * @param context the context * @return the boolean *//*判断应用是否在前台*/ public static boolean isForegrou...原创 2019-04-26 17:35:42 · 2908 阅读 · 0 评论 -
Android安全检查之Activity和Service越权检测
通过exported设置为false不对外暴露组件原创 2019-04-26 17:33:41 · 1773 阅读 · 0 评论 -
Android安全检查之组件暴露
Android四大组件简介Android应用有四大组件Activity、Service服务、Content Provider内容提供者和Broadcast Receiver广播接收器。Activity:在应用程序中,每个Activity通常就是一个单独的屏幕,显示控件并处理用户的响应事件,每一个看到的应用界面都是一个Activity。Service:一个Service是以长生命周期的,...转载 2019-04-26 17:21:08 · 992 阅读 · 0 评论 -
Android安全检查之assets下文件进行加密
加密效果图解密效果实现代码package com.xinli.wenet.utils;import android.util.Log;import com.xinli.wenet.base.MyApplication;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;impo...原创 2019-04-11 13:14:54 · 4624 阅读 · 3 评论 -
linux系统安卓环境配置指南
国内sdk下载地址wget http://mirrors.neusoft.edu.cn/android/repository/tools_r24.4.1-linux.zipSDK 解压unzip -d android-sdk_r24.4.1-linux.zipSDK 配置环境变量SDK vi /etc/profile配置/etc/profileexport ANDROID_HOM...原创 2019-03-13 13:46:57 · 714 阅读 · 0 评论 -
Activity中怎么获取Fragment中的值
上次有人问了我这样一个问题,怎么在activity中获取并且校验fragment中的值?下面就是解决方案1、写一个实体类2、在activity中创建实体类public UserInfo user;user=new UserInfo();3、在fragment中创建你的Acticity对象TabActivity tabActivity = (TabActivity)...原创 2019-03-13 13:36:01 · 3250 阅读 · 0 评论 -
RecyclerView滑动删除和拖拽功能实现
源码传送门前言从Android 5.0开始,谷歌推出了新的控件RecyclerView,相对于早它之前的ListView,优点多多,功能强大,也给我们的开发着提供了极大的便利,今天自己学习一下RecyclerView轻松实现滑动删除及拖拽的效果,如下图。这里写图片描述相信研究过RecyclerView的同学,应该很清楚该怎么实现这样的效果,若是用的ListView,这样的效果实...转载 2019-02-26 09:56:22 · 485 阅读 · 1 评论 -
Java身份证校验算法
实现是先校验位数然后再校验身份证号码每个数字代表的作用是否正确(就是工具类中介绍的)校验成功还需要校验1-17位相乘因子数组的一个算法保证输入的身份证是最准确的 /** * 验证身份证号是否符合规则 * * @param text 身份证号 * @return the boolean */ public boolean person...原创 2018-11-02 11:27:40 · 1258 阅读 · 0 评论 -
Android手势下拉抽屉效果
效果手势拖动底部滑动上面,图二中拖动下拉图二Activity实现package me.maxd.demo.activity;import android.annotation.SuppressLint;import android.os.Bundle;import android.os.Handler;import android.support.v7.app.App...原创 2018-12-29 11:01:18 · 3268 阅读 · 0 评论 -
ScrollView嵌套RecyclerView滑动冲突解决
方式一:禁止RecyclerView滑动最直接的方式是将布局管理器中判断可滑动的方法,直接返回false,代码如下:LinearLayoutManager layoutManager = new LinearLayoutManager(context) { @Override public boolean canScrollVertically() { /...转载 2018-11-23 15:37:26 · 1797 阅读 · 2 评论 -
OkHttp设置支持Etag缓存
重点已经画圈 /** * 获取okHttpClient * * @return the ok http client */ private final static int CACHE_SIZE_BYTES = 1024 * 1024 * 2; public static OkHttpClient getOkHttpClient(...原创 2018-11-20 09:42:51 · 931 阅读 · 0 评论 -
RecyclerView平滑到指定位置
根据position滑动recyclerView.smoothScrollToPosition(0);根据位置滑动smoothScrollBy( int dx, int dy )原创 2018-11-20 09:35:34 · 276 阅读 · 0 评论 -
gson解析工具类
GsonUtil 需要配置build.gradle compile 'com.google.code.gson:gson:2.8.1'import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.J...原创 2018-11-02 11:13:22 · 744 阅读 · 0 评论 -
带你认识ButterKnife
原文链接:http://blog.csdn.net/donkor_/article/details/77879630前言:ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnif...转载 2018-11-04 09:38:20 · 290 阅读 · 0 评论 -
Lottie- 让Android动画实现更简单
有点好用的东西分享给大家官网: https://airbnb.design/lottie/原文:https://www.jianshu.com/p/cae606f45c0b安卓和IOS的动画用lottile来制作简单的和“1”一样Lottie是什么?Lottie是Airbnb开源的一个支持 Android、iOS 以及 ReactNative,利用json文件的方式快速实现动画...转载 2018-11-09 18:32:59 · 2403 阅读 · 1 评论 -
Android安全常见风险处理解决方案(附代码)
一、资源文件保护https://blog.csdn.net/weixin_39706415/article/details/83895850二、Activity和Service越权检测修改export=false三、Activity劫持检测处理检测app进去后台的时候提示用户 也就是在onPause的时候 /** * Is foreground bo...原创 2018-11-09 12:54:45 · 4903 阅读 · 0 评论 -
Android安全检查之对res资源混淆
使用AndResGuard对资源进行混淆一、打开项目工程下的build.gradle二、新增classpathclasspath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.15'三、新建and_res_guard.gradleapply plugin: 'AndResGuard'andResGuard { ...原创 2018-11-09 12:39:42 · 3239 阅读 · 0 评论 -
android ip获取(已经上线使用3年)
/** * 当前ip地址 * * @return String ip */ private static String getIpAddress() { try { WifiManager wifiManager = (WifiManager) MyApplication.getAppContext...原创 2018-11-04 08:50:26 · 1522 阅读 · 1 评论 -
android mac获取(已经上线使用三年)
携带获取失败处理 /** * 当前的mac地址 * * @return String mac */ @SuppressLint("HardwareIds") private static String getMacAddress() { try { WifiManager wifiMan = (W...原创 2018-11-03 21:41:32 · 662 阅读 · 0 评论