android
今年要成为大佬
会当凌绝顶,一览众山小。
展开
-
电脑实用小技巧
1.好玩的微信分身建立记事本写出微信启动路径start D:“WeChat”\WeChat.exestart D:“WeChat”\WeChat.exe利用bat就可以多开原创 2020-05-17 16:10:52 · 204 阅读 · 0 评论 -
自动更新了解一下
在安卓7.0之前我们的自动更新非常好弄隐式调用就好,但是7.0之后就非常独特了谷歌为了安全加入了新的成员我们一起来看一看."唯一的"fileloader<provider android:name="androidx.core.content.FileProvider" android:authorities="com.deepdream....原创 2020-03-12 14:51:26 · 394 阅读 · 1 评论 -
个人觉得目前安卓最好最靠谱的适配方案
首先我们来理解下适配的意思:就是在不同的情况下我们做一件事看到的效果是一样的!那我今天就来说说按比例适配动态插入布局的话你需要计算px 这是我自己封装的工具类可以参考public class PropertionUtil { public float getmargin_left(int screenwidth,float scale,float width){ f...原创 2020-02-25 13:36:37 · 335 阅读 · 0 评论 -
通过NetWork获取到经纬度信息
好久没发文章,突然想写一篇.一·首先加入权限<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />二.动态权限6.0以...原创 2020-02-13 21:44:52 · 334 阅读 · 0 评论 -
饺子播放器、IjkVideoView播放器的简单使用
饺子播放器一、加入依赖implementation 'cn.jzvd:jiaozivideoplayer:6.2.4'二、视频横竖屏切换 需要在清单文件中设置属性<activity android:name=".JiaoZiplayerActivity" android:configChanges="orientation|scree...原创 2019-11-21 14:59:20 · 1452 阅读 · 0 评论 -
安卓动态权限
一、清单文件声明你需要动态获取的权限<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission a...原创 2019-11-21 14:46:48 · 140 阅读 · 0 评论 -
Git常用命令
git安装 我用的电脑是windons系统,请根据你们自己的电脑紫铜安装对应的git版本,去Git官网上下载安装即可。 master :默认开发分支 Head :默认开发分支origin :默认远程版本库 Head^ :Head的父提交创建版本库git clone 克隆远程版本库git init 初始化...原创 2019-08-06 21:05:48 · 84 阅读 · 0 评论 -
单例模式简单分析
单例模式的优点 只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等单例模式的缺点 就是不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。饿汉式(立即加载)public class SingleUtils { private SingleUtils...原创 2019-08-19 14:43:47 · 300 阅读 · 0 评论 -
Fragment详细解读
FragmentPagerAdapter与FragmentStatePatgerAdapter的区别?前者适用于页面较少的情况,后者适用于页面较多的情况我们今天把Activity与Fragment结合来说首先我们生命周期的一个走向onAttach-开始创建fragment对象onCreate-初次创建fragment时调用onCreateView-在fragment首次进行UI绘制时...原创 2019-09-07 16:46:45 · 167 阅读 · 0 评论 -
Webview详解
Webview常见的一些坑1.Android API level 16 以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用WebView.addJavascriptInterface方法,远程攻击者可通过使用Java Reflection API利用该漏洞执行任意Java对象的方法2.webview在布局文件中的使用:webview写在其他容器中时3.jsbridge4...原创 2019-09-17 10:49:09 · 147 阅读 · 0 评论 -
handler详解
什么是Handler?Handler就是将消息放入队列的机制。我们在哪个线程中创新handler,handler就将消息放入所在的线程,除非在创建handler对象时是指定具体的线程。通常handler在主线程创建,handler可将消息放入主线程队列中。当应用程序启动时,会初始化一个UI线程。UI线程中创建了Looper,所以是一个循环工作线程。创建Looper时,Looper会创建一个Me...原创 2019-09-19 11:47:44 · 590 阅读 · 0 评论 -
IntentService详解
IntentService是什么?1.IntentService是继承并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentService的方式和启动传统的Service一样,同时,当任务执行完后,IntentService会自动停止,而不需要我们手动控制或stopSelf().另外,可以启动IntentService多次,而每一个耗时操作会以工作队...原创 2019-09-20 09:06:48 · 303 阅读 · 0 评论 -
View的绘制机制
view树的绘制流程measure->layout->drawmeasure1.ViewGroup.LayoutParams 用来指定视图高和宽的参数2.MeasureSpec 是一个测量规格 32位的int值measure一些重要的方法1.measure 是定义在view.java文件中的,在类中调用onMeasure方法2.onMeasure 把所有长宽高测量好传递...原创 2019-09-20 09:57:06 · 138 阅读 · 0 评论 -
AsyncTask详解
什么是AsyncTask它本质上就是一个封装了线程池和handler的异步框架,AsynTask框架主要是用来执行异步任务的,因为内部封装有handler可以灵活地在UI线程和子线程之间切换交互.AsynTask的使用方法主要是:1. 三个参数第一个定义传进来的数据的类型第二个定义进度要显示的进度第三个定义要返回给用户的数据2.五个方法1、首先调用onPreExecute方法,...原创 2019-09-23 09:13:50 · 3060 阅读 · 0 评论 -
事件分发机制详解
为什么会事件分发呢安卓上面的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?为了解决这一个问题,就有了事件分发机制.三个重要的事件分发的方法一、dispatchTouchEvent1.true 表示这个事件被当前的View消费,会传递给当前View的onInterceptTouchEvent方法处理。2.false...原创 2019-09-23 15:21:36 · 476 阅读 · 0 评论 -
ListView详解
什么是ListViewListView就是一个能数据集合以动态滚动的方式展示到用户界面上的ViewListView适配器模式我们经常使用适配器就是继承BaseAdapter去实现一些东西但是有没有想过适配器究竟是什么?像这张图一样适配器就是我们的网络数据源和listview控件之间的一个桥梁在继承BaseAdapter的时候我们会重写一些方法在源码里封装好的当我们调用setAdap...原创 2019-09-23 19:14:49 · 885 阅读 · 0 评论 -
自定义ButterKnife(底层原理)
介绍ButterKnife是一个专注于Android系统的View、Resource、Action注入框架。这个自定义butternife可以让你充分了解其实现的原理及底层如何查找id 去使用 去传参 去定义方法 反射获取各个定义内容。第一步写一个Annotation定义我们需要去@出来的方法这里我写了点击事件 和 查找ID的@InjectView@Retention(Retent...原创 2019-08-02 20:03:43 · 154 阅读 · 0 评论 -
RxJava 响应式编程 观察者设计模式
观察者设计模式 分为观察者:Obsever 和 被观察者:Observerable主要是被观察者变更内容 观察者获取map操作符 //map操作符 public static void mapOpretor(){ Observable.just("Hello").map(new Function<String,String>() { ...原创 2019-07-19 21:17:26 · 262 阅读 · 0 评论 -
SharedPreferences轻量级存储存储
SharedPreferences介绍保存少量的数据,且这些数据的格式非常简单。 存储5种原始数据类型: boolean, float, int, long, String比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),记住密码功能,音乐播放器播放模式。存储位置data/data/应用程序包名/shared_prefs/Xxx.xml文件,以Key-Va...原创 2019-07-23 20:01:33 · 169 阅读 · 0 评论 -
Android基本控件_____RadioButton 单选按钮
单选按钮显示图片需要的控件 RadioGroup RadioButton ImgView布局代码页面代码// An highlighted block<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"...原创 2019-03-18 11:54:16 · 226 阅读 · 0 评论 -
Android入门 BaseAdapter适配器
适配器类实现BaseAdapter方法重写固定的四个方法上下级布局 context数据源ArrayList beans构造方法@Overridepublic int getCount() {return beans.size();}@Overridepublic Object getItem(int position) { return beans.get(posi...原创 2019-03-22 11:22:17 · 133 阅读 · 0 评论 -
Android 利用viewPager FragmentPagerAdapter 做一个简单的相册视图
说一下注意事项:你的布局需要用到viewparger 和 tabLayout 控件这两个控件要写全路径名看图片中Tablayout的参数 设置选中 非选中 下划线颜色.如果网络获取图片加权限 <uses-permission android:name="android.permission.INTERNET’>展示一下布局文件布局文件下面的小圆点是ImageView 当你...原创 2019-04-26 09:52:17 · 793 阅读 · 1 评论 -
Android Eventbus控件发送与接收
依赖: implementation ‘org.greenrobot:eventbus:3.1.1’EventBus需要你去注册EventBus.getDefault().register(this);注册需要联动写一个判断是否注册的方法 它是一个重写方法@Overridepublic void onDestroy() {super.onDestroy();if(EventBus.g...原创 2019-04-27 19:52:48 · 419 阅读 · 0 评论 -
Android 蓝牙BlueTooth(开关搜索 发送各种数据操作)
首先写蓝牙我们需要的权限 <uses-permission<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH"/><uses-permis...原创 2019-05-22 09:43:18 · 721 阅读 · 2 评论 -
Android 三种方式解析XML文件
我们要解析的XML文件<?xml version="1.0" encoding="utf-8"?><students> <student sex="女"> <name>李永进</name> <age>18</age> </student> &l...原创 2019-05-22 17:21:57 · 235 阅读 · 0 评论 -
Android云信的接入 简单功能实现
#导入依赖compile fileTree(dir: ‘libs’, include: ‘*.jar’)// 添加依赖。注意,版本号必须一致。// 基础功能 (必需)implementation ‘com.netease.nimlib:basesdk:6.1.1’// 音视频和互动白板服务需要implementation ‘com.netease.nimlib:nrtc:6.1.1’...原创 2019-07-09 19:33:52 · 836 阅读 · 0 评论 -
网络请求的几种方式 (HttpURLConnection,Volley,Okhttp,xutils)
首先来说说 代码较多 android自带请求方式 HttpURLConnection注意:很多人会不小心加了s所以导致最后请求不下来数据 因为现在大多网址没有加密安全 所以我们就用HttpURLConnection实现思想主要是 HttpURLConnection用IO流配合Handler 传递去实现请求 String geturl = "http://www.qubaobei.com/io...原创 2019-07-10 21:39:02 · 300 阅读 · 0 评论 -
入门kotlin
kotlin的优点 1.简洁 2.编译时可以检测空指针 3.集成多 4.构建快八大基本数据类型都是有的接下来介绍它循环集合的方式 还是while for foreach下面展示一些 内联代码片。 var arrOf = arrayOf("a","b","c","d","e") for (s in arrOf){ println(s) } ...原创 2019-07-06 08:44:13 · 119 阅读 · 0 评论 -
内容提供者 ContentResolver获取联系人列表(头像 电话号码 名字)
权限<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.READ_CONTACTS"/>字段姓名 ContactsContract.CommonDat...原创 2019-07-11 14:15:08 · 284 阅读 · 0 评论 -
MVP架构模式
MVP介绍MVP模式是Android目前一个非常流行的框架,相信很多人在项目中或多或少的使用过它,相比经典的MVC,MVP更加适用于Android应用的开发,在这里我们就不再对它们之前的差别进行详细分析了,相信大部分人都已经非常的了解了,现在让我们单刀直入的写一个实用的MVP框架吧。由于本人能力水平有限,并且也是我第一次写博客,有不正确的地方还望大家多指正或者有更好的想法我们多交流,毕竟增强自身...原创 2019-07-18 21:29:09 · 178 阅读 · 0 评论