- 博客(72)
- 收藏
- 关注
转载 《隐私政策》
本隐私政策将帮助您了解:我们会遵循隐私政策收集、使用您的信息,但不会仅因您同意本隐私政策而采用强制捆绑的方式一揽子收集个人信息。当您使用或开启相关功能或使用服务时,为实现功能、服务所必需,我们会收集、使用相关信息。除非是为实现基本业务功能或根据法律法规要求所必需的必要信息,您均可以拒绝提供且不影响其他功能或服务。我们将在隐私政策中逐项说明哪些是必要信息。如果您未登录账号,我们会通过设...
2019-08-19 13:55:00
2056
转载 两个按钮更换同一张图片要按两次的问题
偶然发现了安卓的这个坑,使用两个Button绑定actiondown和actionup更换同一个ImageView的图片要按两次才行,唯一的解决办法是设置imageview的显示图片水平<level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item ...
2019-07-23 18:47:00
212
转载 viewPager删除缓存fragment
fragment结合viewpager会缓存fragment在内存,除非退出程序,想要不退出程序情况下刷新fragment页面,就要删除缓存;public class MainActivity extends AppCompatActivity { ViewPagerAdapter2 viewPagerAdapter2; ViewPager viewPag...
2019-07-18 20:04:00
658
转载 使用Volley获取验证码
时间紧张,直接上代码public class MainActivity extends AppCompatActivity { private RequestQueue queues ; String str; @Override protected void onCreate(Bundle savedInstanceState) { ...
2019-07-08 18:43:00
175
转载 合并两个数组
定义一个新数组,长度为两个数组长度之和,将两个数组都copy到新数组,然后排序。给两个数组分别定义一个下标,最大长度是数组长度减一,按位循环比较两个数组,较小元素的放入新数组,下标加一(注意,较大元素对应的下标不加一),直到某一个下标超过数组长度时退出循环,此时较短数组已经全部放入新数组,较长数组还有部分剩余,最后将剩下的部分元素放入新数组,如果较短数组有比较长数组所有值都大时放...
2019-06-17 20:25:00
249
转载 EventBus(二)
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); se...
2019-06-17 17:33:00
103
转载 观察者模式EventBus
EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题。 implementation 'org.greenrobot:eventbus:3.1.1'依赖public class MainActivity extends AppCompatActivity {...
2019-06-17 16:50:00
159
转载 AppWidget使用方法
手机桌面小组件public class AppWidget extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Log.d("My...
2019-06-17 16:02:00
216
转载 ThreadLocal使用说明
让变量只能在这个线程内被读写,在其他线程内无法被访问.以键值对存放变量,并继承弱应用,内存随时会被回收,用完要remove不然会内存泄漏,使用的时候直接设置值就可以了,键就是ThreadLocal本身,所以一个ThreadLocal只有一个值,但是可以有多个ThreadLocalpublic class MainActivity extends AppCompatActivity...
2019-06-17 12:35:00
113
转载 找最大数和第二大数
public class MainActivity extends AppCompatActivity { int[] arr2 = new int[]{2, 3,4 , 5, 8, 9, 10}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(save...
2019-06-17 10:56:00
242
转载 两个有序数列找第k小
给定一个数组,数组中的数据无序,在一个数组中找出其第k个最小的数,例如对于数组x,x = {3,2,1,4,5,6},则其第2个最小的数为2两个有序数组 找第k小 * 方案一 合并遍历 * 二:游标计数 * 题目只要求第k小的数,没必要花力气将数组全部再排序, * 可以定义两个游标分别指向两个有序数组,按序移动,并用i计数 * ,当i等于k-2时,返回两个游标指向的数中最小的那...
2019-06-16 21:44:00
271
转载 插入排序
假设数列第一个元素为已排序数列,剩余数列为未排序将待排序元素挨个插入到已排序数列中每次插入都必须保证数列是有序的,即通过比较和移动有序数列中的元素,将元素插入到合适的位置思路:如同玩扑克牌一样,每次摸牌都将它与手中的牌比较,始终将牌放在比它大的牌前面,比它小的牌后面。这样当牌全部摸到手上后,就是一个有序的序列。从后往前找合适的位置。public class MainActiv...
2019-06-16 20:11:00
88
转载 快速排序法
原理:选择一个关键值作为基准值,一般选择序列的第一个元素。分区,比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的再对左右区间重复第二步,直到各区间只有一个数挖坑填数将基准数挖出形成第一个坑由后向前找出比他小的数填入到第一次的坑中,由前向后找出比基准值打的数放入上一步拿出去的地方-重复执行2,3步。会做n次二分 一次为logn n次则就是O(nlo...
2019-06-16 18:05:00
150
转载 选择排序法
public class MainActivity extends AppCompatActivity { int[] arr = new int[]{9, 5, 4, 8, 7, 3, 1}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns...
2019-06-15 21:15:00
108
转载 冒泡排序法
采用两两比较并交换位置的思路,就仿佛泡泡一样,较大的元素会慢慢“上浮”1从数列一端开始,比较相邻两个元素,如果第一个元素比第二个元素大,交换两个元素位置然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,2移动至下一对相邻元素,再次进行比较和交换,直到数列最后一个元素3保证倒数第一的元素是数列中最大的)4不断重复以上操作。每次重复的时候,需要比较的元素个数都减1pub...
2019-06-15 20:50:00
92
转载 二分法查找
知道原理就好写,在有序表中,取中间元素作为比较对象,若给定值与中间元素相等,则查找成功;若给定值小于中间元素,则在中间元素的左半区继续查找;若给定值大于中间元素,则在中间元素的右半区继续查找。不断重复上述过程,直到找到为止。(1)待查找的列表必须有序。(2)必须使用线性表的顺序存储结构来存储数据。public class MainActivity extends AppCompa...
2019-06-15 20:02:00
129
转载 自定义View(进度条)
继承View重写带两个参数的构造方法,一个参数的不行不会加载视图,构造方法中初始化画笔这样不用没次刷新都要初始化浪费内存,在ondraw方法中绘图,invalidate方法会掉用ondraw方法重新绘制.在attrs中声明你将要设置的属性,名字要和自定义类名一样,在布局文件中引用属性,随便输入属性名然后alt+enter自动生成命名空间,就可以引用自定义属性了.最后在主activity中...
2019-06-15 17:56:00
126
转载 Luban图片压缩
导入依赖: implementation 'top.zibin:Luban:1.1.3'public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav...
2019-06-15 14:00:00
476
转载 LeakCanary检测(二)
在主方法主实现一个内存泄漏,检测到手机会发送通知,也可以用利用androidStudio自带的Profile检测内存泄漏public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.on...
2019-06-14 19:51:00
124
转载 LeakCanary检测内存泄漏
内存泄漏原因:线程造成的内存泄漏Handler造成的内存泄漏单例导致内存泄露静态变量导致内存泄露非静态内部类导致内存泄露未取消注册(BroadcastReceiver )或回调导致内存泄露Timer和TimerTask导致内存泄露集合中的对象未清理造成内存泄露资源未关闭或释放导致内存泄露属性动画造成内存泄露WebView造成内存泄露...
2019-06-14 19:29:00
147
转载 BlockCanary界面卡顿检测
添加依赖: implementation 'com.github.markzhai:blockcanary-android:1.5.0'运行后会同时安装检测工具,主要检测UI线程运行卡顿现象public class MainActivity extends AppCompatActivity { protected void onCreate(B...
2019-06-14 19:16:00
143
转载 Callable返回执行结果
使用ExecutorService、Callable、Future实现有返回结果的多线程。public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns...
2019-06-14 16:19:00
219
转载 代理模式Proxy
public class MainActivity extends AppCompatActivity { TextView textView; Button button; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan...
2019-06-14 15:45:00
68
转载 build设计模式
又叫生成器模式public class MainActivity extends AppCompatActivity { TextView textView; Button button; protected void onCreate(Bundle savedInstanceState) { super.onCreate(sa...
2019-06-14 15:15:00
94
转载 Handlerthread使用
线程间通信的时候,比如Android中常见的更新UI,涉及到的是子线程和主线程之间的通信,实现方式就是Handler+Looper,但是要自己手动操作Looper,不推荐,所以谷歌封装了HandlerThread类(类似于AsyncTask类)。子线程执行完任务发送消息给子线程的handler,子线程的Handler再发送消息给主线程更新uipublic class Mai...
2019-06-14 11:44:00
111
转载 IntentService下载任务
onHandleIntent开启一个线程按顺序处理任务,不适合做大量任务public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSt...
2019-06-14 10:19:00
181
转载 service下载任务
在service开启线程,利用接口更新进度public class MainActivity extends AppCompatActivity { MyBindService msgService; protected void onCreate(Bundle savedInstanceState) { super.onCreate(s...
2019-06-14 10:02:00
152
转载 Glide缓存图片
是用Glide加载网络图片可以自动缓存到磁盘添加依赖: implementation 'com.github.bumptech.glide:glide:4.9.0' implementation 'com.android.support:support-v4:28.0.0'public class MainActivity extends App...
2019-06-13 20:01:00
173
转载 retrofit和RxJava结合
public class MainActivity extends AppCompatActivity { @SuppressLint("CheckResult") protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
2019-06-13 19:16:00
152
转载 RxJava用法
首先导入依赖:implementation 'io.reactivex.rxjava2:rxjava:2.2.9'implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'Rxjava使用观察者模式实现异步操作,主要和Retrofit配合使用RxJava 有四个基本概念:Observable (可观察者,即被观察者)、...
2019-06-13 16:50:00
161
转载 Retrofit学习
---恢复内容开始---public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
2019-06-10 15:17:00
105
转载 okhttp的Post方式
发送post请求public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...
2019-06-08 20:49:00
196
转载 OKhttp使用
OkHttp是一个高效的HTTP客户端,支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接连接池减少请求延时缓存响应内容,避免一些完全重复的请求透明的GZIP压缩减少响应数据的大小 需要添加依赖implementation 'com.squareup.okhttp3:okhttp:4.0.0-RC1'implementation '...
2019-06-08 20:32:00
58
转载 soundPool声音池
soundPool可以同时播放多个声音,但是最好文件不要超过1M,声音只能播放几秒,适合游戏混合音效public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { s...
2019-06-08 19:10:00
97
转载 ScheduledExecutor定时器
为了弥补Timer 的上述缺陷,在Java 5的时候推出了基于线程池设计的 ScheduledExecutor。其设计思想是:每一个被调度的任务都会由线程池中一个线程去执行,因此任务是并发执行的,相互之间不会受到干扰。但需要注意的是只有当任务的执行时间到来时,ScheduedExecutor 才会真正启动一个线程,其余时间 ScheduledExecutor 都是在轮询任务的状态。...
2019-06-08 15:55:00
339
转载 timer定时器
public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(save...
2019-06-08 15:23:00
83
转载 GridView使用SimpleAdapter
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" a...
2019-06-07 19:22:00
136
转载 xml解析
public class MainActivity extends AppCompatActivity { private RequestQueue queues ; ImageView imageView; String xml = "<apps>\n" + " <app>\n" + ...
2019-06-06 20:24:00
78
转载 Volley获取json对象
url必须返回一个json文本,由于网上没有找到返回json的url,我用Tomcat写了一个json文件,在这个文件夹下见一个以json后缀的json文件,内容是json文本,然后输入浏览器输入http://192.148.83.135:9999/hello/myfile.json就会出现你写的文本public class MainActivity extends AppC...
2019-06-06 18:32:00
100
转载 Volley使用
volley是轻量级的网络连接,适合频繁的网络连接,还是谷歌开发的,我就想不通了为啥不加入android的api库里面,还要找半天加依赖,终于找到了,网上的volley库版本都是2015年的,过时了,找了好几个库发现这个库最好用,implementation 'com.dubsmash.volley:library:2.0.1'同样是右键module打开module设置输入volle...
2019-06-06 17:02:00
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人