android学习
晓果博客
You’ll never realize how strong you are until you have no other choice but to be strong<br>你永远都不会知道自己到底有多坚强,直到有一天你除了坚强别无选择。
展开
-
Android文字颜色透明度
例子:#00FFFFFF不透明前两位是 FF ,全透明前两位是 00 ;透明度90% :E6透明度80%: CC透明度70%: B3透明度60%: 99半透明50%: 80透明度40%: 66透明度30%: 4D透明度20%: 33透明度10%: 1A原文链接:https://blog.csdn.net/qq_42721092/article/details/114576018...转载 2022-06-18 10:29:09 · 738 阅读 · 0 评论 -
Failure [DELETE_FAILED_INTERNAL_ERROR]之后rm apk卸载
今天用adb uninstall com.xx.xx卸载一个软件结果报错:Failure [DELETE_FAILED_INTERNAL_ERROR]最后没有办法,装了个kingroot,通过kingroot卸载。。。现在知道了:首先:adb shell pm list packages -s 找到要删除的包名获取包名的地址:adb shell pm path com.xx.xx挂载系统读写权限:adb remount删除包:adb shell rm /system/app/OldDriver转载 2021-11-19 11:40:42 · 423 阅读 · 0 评论 -
Android性能全面分析与优化方案研究—几乎是史上最全最实用的
结合以下四个部分讲解:性能问题分类性能优化原则和方法借助性能优化工具分析解决问题性能优化指标性能问题分类1、渲染问题:过度绘制、布局冗杂2、内存问题:内存浪费(内存管理)、内存泄漏3、功耗问题:耗电性能优化原则和方法1、性能优化原则坚持性能测试(开发和测试同学的测试方法略有不同):不要凭感觉去检测性能问题、评估性能优化的效果,应该保持足够多的测量,用...原创 2018-05-24 14:52:57 · 38660 阅读 · 6 评论 -
Android安全——客户端安全要点
一、前言:近期facebook的隐私泄露事件再度唤起了公众对隐私的关注,在这个越来越重视个人隐私的时代里,安全早已是一个无法绕开的话题。作为一个开发人员,必须具备安全意识,掌握基础的安全知识,为打造更加安全的应用做出努力。本文浅谈Android客户端的安全问题,涉及组件、WebView、存储、传输、日志、混淆、应用加固等安全漏洞及防护策略,运用更加合理的配置与防护措施来提高应用的安全级别。...转载 2018-05-24 10:55:35 · 4861 阅读 · 0 评论 -
android插件式换肤核心实现
本文思路来源于腾讯课堂,在此记录与大家分享并记录后用在setContentView之前对view进行拦截 @Override protected void onCreate(Bundle savedInstanceState) { beforeContentView(); super.onCreate(savedInstanceState); ...原创 2018-08-30 15:29:10 · 1751 阅读 · 0 评论 -
使用阿里ARouter路由实现组件化(模块化)开发流程
Android平台中对页面、服务提供路由功能的中间件,我的目标是 —— 简单且够用。这是阿里对Arouter的定位,那么我们一起来梳理一下Arouter使用流程,和使用中我所遇到的一些问题!先来看看有哪些功能模块化的要解决的问题模块间页面跳转(路由);模块间事件通信;模块间服务调用;模块的独立运行;模块间页面跳转路由拦截(登录)其他注意事项;...原创 2017-12-08 17:05:20 · 27185 阅读 · 21 评论 -
android:使用small一步步实现插件化与热更新
由于插件化开发与热更新最近貌似越来越火,新开的项目准备也使用插件化进行开发!其中遇到不少坑,在这里写了一个小的例子,记录一下开发流程,有助于自己,同时希望能够帮助大家理解,并且对于自身项目接入插件化有所帮助!插件化效果:插件化开发的含义:插件化开发也是将一个项目app拆分成多个模块,这些模块包括宿主和插件。每个模块相当于一个apk,而组件化相当于一个lib。最终发布的时...原创 2017-12-01 14:32:47 · 8961 阅读 · 2 评论 -
android 权限处理
hxgpermissionsgithub地址https://github.com/huangxiaoguo1/hxgpermissions引入方式 allprojects { repositories { ... maven { url 'https://jitpack.io' } }...原创 2018-07-31 14:39:28 · 948 阅读 · 0 评论 -
android:自定义AlertDialog
AlertDialoggithub地址https://github.com/huangxiaoguo1/AlertDialog效果引用方法allprojects { repositories { ... maven { url 'https://jitpack.io' } }}dependencies {...原创 2018-07-31 14:29:35 · 1264 阅读 · 0 评论 -
快捷使用Retrofit网络请求框架(get请求,post请求,上传文件)
首先我们在使用的时候需要根据接口返回的数据进行封装javabean对象,便于后面使用。构建RetrofitService类进行传参和请求方式设置package cn.hnshangyu.retrofitandrxjava.retrofit;import java.util.List;import java.util.Map;import cn.hnshangyu.retrofitandrxja原创 2017-03-24 10:07:55 · 1132 阅读 · 7 评论 -
使用Android Volley网络请求框架请求数据步骤
使用Android Volley网络请求框架请求数据步骤原创 2016-11-08 14:14:03 · 3595 阅读 · 0 评论 -
android:线程池和AsyncTask使用小结
AsyncTask3.1之前:2.3系统同时execute执行10个异步任务2.3到3.1版本之前的系统默认最大并发执行5个线程,缓冲线程队列最大128个。虽然开了10个异步任务, 但是只能同时并发执行5个,其他的任务都得等前面5个执行完后才继续执行,接着也是5次并发执行。3.1版本之后默认是使用SERIAL_EXECUTOR串行任务执行,可以预料到异步任务将会是一个个顺序执行一个个线程按加原创 2017-11-23 14:55:35 · 6990 阅读 · 2 评论 -
android 使用MMKV代替SharePreference
对比支持的数据类型1,支持以下 Java 语言基础类型:boolean、int、long、float、double、byte[]2,支持以下 Java 类和容器:String、Set< String >任何实现了Parcelable的类型添加依赖dependencies { implementation 'com.tencent:mmkv-static:1.2.6'}初始化在自定义的Application中: @Override .原创 2020-12-01 15:32:43 · 1826 阅读 · 0 评论 -
android MemoryFile内存共享
进程之间传递数据,由于Binder传递数据有限制1M,所以如果遇到大的数据传递的时候就需要使用使用到MemoryFile内存共享来解决,最合适不过了首先,MemoryFile是基于Binder自带的transact方法进行传输数据的,因此直接继承Binder即可,不过一般项目中免不了传递一些基本数据类型或者bean数据,因此一般结合aidl一起使用。android aidl使用记录服务端处...原创 2020-03-15 21:27:43 · 2152 阅读 · 0 评论 -
android aidl使用记录
两年不用,突然使用有点蒙了,记录一下服务端(提供执行能力的客户端,即写service的)创建aidl类clean一下项目他会自动创建帮助类创建服务public class RemoteService extends Service { private MyBinder mMyBinder; @Nullable @Override pub...原创 2020-03-13 15:59:31 · 448 阅读 · 0 评论 -
J2V8学习
引入j2v8buildscript { repositories { mavenCentral() google() jcenter() }}//加入国内镜像防止比较大google一直无法下载allprojects { repositories { maven { url 'https://mave...原创 2020-02-20 21:45:21 · 2202 阅读 · 0 评论 -
android 无侵入式获取context
继承ContentProvider并重写onCreate方法import android.content.ContentProvider;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.net.Uri;...原创 2019-12-05 13:21:47 · 596 阅读 · 0 评论 -
Android library中引入aar
在项目的build.gradle中加上allprojects { repositories { flatDir { dirs 'libs','../你的library/libs' } }}在library的build.gradle中加上android { ... repositorie...原创 2019-11-07 18:41:24 · 1133 阅读 · 0 评论 -
EventBus 3.0使用步骤(一):(每天学一点,总结一下适合自己的)
(每天学一点,在网上看看,然后总结一下适合自己的:) eventBus使用步骤:需求假设:在MainActivity中获得 第二个activity (TwoActivity)传递过来的数据:前提 : 引入EventBuscompile 'org.greenrobot:eventbus:3.0.0'步骤一 、 在MainActivity的 onCreate 方法进行注册 ,进行消息订阅@原创 2016-09-23 09:14:17 · 1639 阅读 · 0 评论 -
androidstudio更新到2.2项目混淆编译不通过
更新Android Studio 2.2后: 1.出现问题: Error:A problem was found with the configuration of task ‘:app:packageRelease’. File ‘F:**********\app\build\intermediates\res\resources-release-stripped.ap_’ specifi原创 2016-09-21 17:03:21 · 3586 阅读 · 2 评论 -
EventBus使用步骤(二):黏性事件(每天学一点)
前提引入EventBus ompile 'org.greenrobot:eventbus:3.0.0'一、消息处理类package com.shangyu.eventbusdemo;/** * Created by 黄家三少 on 2016/9/24. */public class StickyMessage { private int msg; public StickyMe原创 2016-09-24 23:31:42 · 2307 阅读 · 0 评论 -
Html页面Js调用android本地相机和图片
Html5页面Js调用android本地相机和图片原创 2016-11-08 17:21:58 · 15161 阅读 · 0 评论 -
真正解决地图的touch事件和scrollView的touch事件冲突问题(其他嵌套解决方式类似)
真正解决地图的touch事件和scrollView的touch事件冲突问题原创 2016-11-08 17:58:52 · 3574 阅读 · 0 评论 -
android:windowSoftInputMode属性详解
android:windowSoftInputMode属性详解activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问转载 2016-11-08 13:24:03 · 439 阅读 · 0 评论 -
android沉浸式
现在很多APP都喜欢沉浸式,因此需要总结一下,但是提醒一下沉浸式设计如果在聊天页面的话会出现 软键盘覆盖EditText的情况,如果有这方面的需求可以看一下另一篇博客 android 软键盘在全屏下和沉浸式状态下EditText被覆盖解决 http://blog.csdn.net/huangxiaoguo1/article/details/53081229开始啦! 看下效果图 效果图原创 2016-11-08 18:59:41 · 1720 阅读 · 0 评论 -
微博,微信,微信朋友圈,QQ分享工具类ShareUtil
微博,微信,微信朋友圈,QQ分享工具类ShareUtil原创 2016-10-19 18:21:11 · 5220 阅读 · 1 评论 -
Android之布局属性
1) 布局的相关属性转载 2016-11-19 13:05:43 · 443 阅读 · 0 评论 -
仿微信拍照和图片选择开源库(适配android7.0)multi-image-selector
防微信拍照和图片选择开源库multi-image-selector原创 2016-11-08 16:54:14 · 6197 阅读 · 1 评论 -
Unable to add window崩溃分析
显示Dialog时,我们通常会将Activity实例作为Context传给Dialog(Dialog和PopupWindow的显示与隐藏会依赖父窗口),然后调用Dialog的show方法显示。但有些情况,比如说先通过异步网络请求请求数据,等拿到数据后再调用Dialog的show方法显示Dialog,我们偶尔会发现发生这样的程序崩溃:android.view.WindowManager$BadToke转载 2016-12-14 18:10:59 · 727 阅读 · 0 评论 -
使用Dynamic Shortcuts
在看完Static Shortcuts后, 我们不相信Google仅仅给我们开发者开放了局限性如此大的使用方式, 肯定还会存在灵活性更大的API, 是的, 这就是我们马上要讲的Dynamic Shortcuts, 我把它称为动态配置.说起动态配置, 那肯定是用java代码实现了, 那如何实现呢? 首先第一步, 我们需要利用一下代码拿到ShortcutManagergetSystemService(转载 2016-12-12 16:06:58 · 3439 阅读 · 1 评论 -
SwissArmyKnife调试Android UI的工具
效果: SwissArmyKnife 是一款方便调试android UI的工具,可以兼容所有android版本,不需要root权限。可以直接在android手机屏幕上显示当前Activity中所有控件(不管是否隐藏)的边界,内外边距大小,每一个控件大小,图片大小,字体颜色,大小,以及自定义信息。同时可以直接在屏幕上取色,另外还提供了直尺(单位为px和dp),圆角尺(单位dp)工具,可以直接测量大小原创 2016-12-12 17:42:53 · 3227 阅读 · 0 评论 -
高德地图定位时,dialog无法弹出问题
在android中,绘制页面一般是在onCreate方法中执行的,如果页面相对比较复杂的话,那么绘制是比较慢的,所以我们尽量不要层级太深。最近遇到了一个信息采集的项目,页面空间相对较多一些,同时有不少页面都有定位功能(我用的是高德地图),因此当我把开始定位写在onCreate方法是,页面跳转是就会卡动。于是,在这里为了让页面跳转比较流畅,就把定位写在了onWindowFocusChanged方法中,原创 2016-12-06 19:38:26 · 3111 阅读 · 0 评论 -
隐藏软键盘
/** * 隐藏软键盘 */ public static void hideKeyKeyboard(Activity mActivity) { InputMethodManager imm = (InputMethodManager) mActivity.getSystemService(INPUT_METHOD_SERVICE); imm原创 2016-12-06 20:10:05 · 1366 阅读 · 0 评论 -
HTTP response codes
HTTP 请求返回的状态码反映了 HTTP 请求的完成情况。状态码主要分为五大类:消息,成功,重定向,客户端错误,服务器端错误。下表中列出了所有的状态码及其代表的意思: 状态码 字段 描述 HTTP 版本消息100 Continue This interim response indicates that everything so far is OK and that转载 2016-12-08 16:37:32 · 2017 阅读 · 0 评论 -
android7.1使用Static Shortcuts(快捷方式)
android7.1推出后:提供了BottomNavigationView,可以用于实现应用底部的Tab。 RecyclerView提供了默认的分割线的实现DividerItemDecoration, 可以通过android:listDivider进行设置,支持横或者纵。 这里是对Static Shortcuts的探究,和实现步骤:效果如下: 第一步:Static Shortcuts是使用x原创 2016-12-09 09:19:12 · 2222 阅读 · 0 评论 -
android屏蔽音量键(做到完全没声音)
先把系统默认的“音量调节”屏蔽掉,这里需要重写onKeyDown方法onKeyDown 方法是KeyEvent.Callback 接口中的一个抽象方法,重写onKeyDown 方法可以监听到按键被按下的事件,我们先看看onKeyDown方法的函数原型。 第一个参数为键值,手机中每一个按钮都拥有一个完全独立的键值 通过按键键值就可以确定当前按下的是那一个按键。 第二个参数为按键事件, 该对原创 2016-12-14 11:24:49 · 14141 阅读 · 0 评论 -
android MVC与MVP总结,加MVP 实现步骤:
android MVC与MVP总结,加MVP 实现步骤原创 2016-10-19 15:56:22 · 750 阅读 · 0 评论 -
android手机震动、提示音、播放系统音乐和研究7.0,6.0弹出Notification出现crash问题
一、android手机震动实现方式: /** * 。两个Vibrate函数的参数简单介绍如下: * <p> * final Activity activity :调用该方法的Activity实例 * <p> * long milliseconds :震动的时长,单位是毫秒 * <p> * <p> * long[]原创 2016-12-21 14:14:58 · 5337 阅读 · 0 评论 -
Android 音频播放之SoundPool的使用和封装(自定义声音资源)
例如,现在在一个五子棋游戏中,我们需要在棋子落盘的时候播放一段声音。我们可以利用SoundPool,因为它时间很短,而且需要反复播放,并且我们不希望声音占用太大资源。一般大家使用的是MediaPlayer来播放音频,它的创建和销毁都是非常消耗资源的,如果我们的需求是播放一些短促而且频繁播放的音频的话MediaPlayer就有些不合适了,我们来讲讲SoundPool来播放短促的音频:SoundPool转载 2016-12-21 12:28:09 · 8831 阅读 · 0 评论 -
利用手机基站获取位置
前一段时间,看到一个新闻,竟然光天化日,朗朗乾坤下,居然有人抢孩子,以前是拐卖,现在就开始明抢了!好可怕….正好项目中遇到了手机基站的一些原理,那今天就在这里分享一下,现在穿戴设备这么发达,如果能有效地利用,说不定能对孩子及时的寻找,起到帮助,同时也是一大商机不是。什么是基站:简单的说就是我们打电话能连接的信号塔,现在覆盖范围城市里基本达到了一个小区就有一个了。那么也就是说,你跟踪的范围就是一个小区原创 2016-12-19 16:57:45 · 20563 阅读 · 9 评论