![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 87
天热死了
QQ:1103367710
展开
-
动画介绍, 非常全面
https://www.jianshu.com/p/35d25cc205e7动画介绍, 非常全面原创 2020-09-01 16:27:09 · 122 阅读 · 0 评论 -
Dimen 自动生成
package com;import android.util.Log;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java..原创 2020-07-16 15:06:30 · 345 阅读 · 0 评论 -
Android 全屏ImageView, 无拉伸, 自适应
public class FullScreenImageView extends android.support.v7.widget.AppCompatImageView { public static final String TAG = FullScreenImageView.class.getSimpleName(); private Bitmap mBitmap; private boolean mLock; public FullScreenImageVie.原创 2020-06-09 16:13:08 · 876 阅读 · 0 评论 -
LinkedBlockingQueue使用总结
复制粘贴整理, 参考地址 :https://blog.csdn.net/tonywu1992/article/details/83419448https://www.cnblogs.com/duodushuduokanbao/p/9556555.html2.3、方法同样,LinkedBlockingQueue也有着和ArrayBlockingQueue一样的方法,我们先来看看入队列的方法。2.3.1、入队方法LinkedBlockingQueue提供了多种入队操作的实现来满足不同..原创 2020-06-04 17:32:13 · 4373 阅读 · 0 评论 -
详解java并发原子类AtomicInteger(基于jdk1.8源码分析)
https://baijiahao.baidu.com/s?id=1647621616629561468&wfr=spider&for=pc原创 2020-06-04 14:35:02 · 194 阅读 · 0 评论 -
面试官最爱的volatile关键字--转载
面试官最爱的volatile关键字原文:https://mp.weixin.qq.com/s?__biz=MzI4MDYwMDc3MQ==&mid=2247486266&idx=1&sn=7beaca0358914b3606cde78bfcdc8da3&chksm=ebb74296dcc0cb805a45ca9c0501b7c2c37e8f2586295210896d18e3a0c72b01bea765924ce5&mpshare=1&scene=2.转载 2020-06-04 14:22:37 · 165 阅读 · 0 评论 -
横向选择容器, 中间选中, 滑动&点击&fling
package com.example.myapplication;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.view.VelocityTracker;import android.view.View;import android.view.ViewCon...原创 2020-05-25 10:43:59 · 246 阅读 · 0 评论 -
Android WheelView横向选择器
最近项目让做了一个注册流程是选择年龄的,规定是手动横幅型的选择器,咱也不敢说咱也不敢怼毕竟我也是个小白,让做就做吧,顺便让他给了个模仿对象的apk效果如下:怎么办呢,最后反编译了那个apk,从里面找到了这个控件发现他也是引用的一个别人的依赖话不多说依赖先放这里:dependencies { compile 'com.lantouzi.wheelview:library:1.1.2'...原创 2020-02-28 14:55:13 · 1358 阅读 · 0 评论 -
反射 IllegalAccessException <init>() is not accessible from java.lang.Class
反射jar包里的class文件, 修改private 变量失败, 报反射 IllegalAccessException <init>() is not accessible from java.lang.Class;原创 2019-12-26 10:15:59 · 2038 阅读 · 0 评论 -
Android 多线程(三)、线程池 ThreadPoolExecutor 知识点总结
多线程(三)、线程池 ThreadPoolExecutor 知识点总结本篇是多线程系列的第三篇,如果对前两篇感兴趣的也可以去看看。多线程(一)、基础概念及notify()和wait()的使用多线程(二)、内置锁 synchronizedAndroid进阶系列文章是我在学习的同时对知识点的整理,一是为了加深印象,二是方便后续查阅。如果文中有错误的地方,欢迎批评指出。前言...原创 2019-12-20 10:23:36 · 647 阅读 · 0 评论 -
笔记-CTA认证需要的操作, 应用可卸载, 系统还原后应用重装--Camera模块
1. 备份.mk文件, 不参与打包(重命名一下就行了);2.编译自己的apk,去掉梯形校正(因为会调用so库, 会崩溃的) 方法: 注掉按钮入口, 注掉两个初始化的方法 initDolphinWithAkSk();3. 修改device/lenovo / common/lenovoapp_prc/Android.mk.mk中增加一下代码#Camera.apk# M...原创 2019-11-29 16:06:52 · 1040 阅读 · 0 评论 -
Android MediaRecorder录像插耳机无法录取声音, 依然用的设备麦克风而非耳机. 解决
干货:MediaRecorder.AudioSource.CAMCORDER -- 无论插不插耳机, 都用设备的话筒;MediaRecorder.AudioSource.MIC-- 有耳机就用耳机的, 没耳机就用设备的;在哪设置:IRecorder.RecorderSpec recorderSpec = new IRecorder.RecorderSpec();rec...原创 2019-11-28 17:53:27 · 1778 阅读 · 3 评论 -
Android同一个应用app最近任务有多个Activity窗口
最近开发一个应用, 发现Activity跳转之后, 最近任务里面有两个窗口, 类似这样照的不是很清楚, 大体就这样, 两个窗口分别是两个Activity, 属于同一应用的.出现这样的原因是因为两个Activity不属于同一个Task,区分标志是清单文件里的taskAffinity这个属性:taskAffinity表示当前activity具有亲和力的一个任务(翻译不是很准确,...原创 2019-11-13 16:53:50 · 5372 阅读 · 3 评论 -
SlidingMenu
随着Android界面不断的优化,滑动菜单栏越来越受到使用者的喜欢,很多软件都采用了这种滑动效果,一方面操作方便,另一方面给本身狭小的手机屏幕节省了不少的空间。很多优秀的应用都采用了这种界面方案,像facebook、人人网、everynote、Google+、360手机助手等。 360手机助手界面转载 2016-11-09 16:10:03 · 797 阅读 · 0 评论 -
Android Studio 模拟器不打印Log问题
打印日志一般是这个样子:Log.d("Logger", "initView:----");如果不打印,解决办法网上很多,大部分都能解决,要是感觉没用,就检查一下,是不是写成了我这个样子:Log.d("", "initView:----");......区别在于第一个参数的TAG,传了个 "" ,这个参数随便写点东西,log就出来了,一般是写类名.......原创 2018-08-23 10:59:48 · 2440 阅读 · 0 评论 -
make: *** [out/target/common/obj/APPS/QuickSearchBox_intermediates/with-local/classes.dex] 错误 41
Ubuntu下编译Android源码时报错 target thumb C++: libv8 <= out/target/product/generic/obj/STATIC_LIBRARIES/libv8_intermediates/experimental-libraries.cctarget thumb C++: libv8 <= out/target/product/g...原创 2018-08-30 16:55:49 · 2354 阅读 · 0 评论 -
在Ubuntu14.04上编译Android6.0源码
在Ubuntu14.04上编译Android6.0源码需要的所有命令行:链接: https://pan.baidu.com/s/1eyYFiuNryTOqz4-UaMsJyQ链接:https://pan.baidu.com/s/1zgrhWjGuuVBmmefHZ8CEcQ 提取码:yf1a--以下内容是参考网上的资料,感觉不错,保存一下,日后可能会用到此前编译...原创 2018-08-21 09:25:06 · 3242 阅读 · 4 评论 -
Android Studio修改项目目录结构(Eclips工程导入AS中,会出现com和main层级划分不同的问题)
一般比较早期的项目都是eclipse结构的,可是在现如今Android Studio是官方唯一标准的年代不用Android Studio就似乎有点儿掉队。可是有些公司由于种种原因却不能直接改成gradle结构,那么今天这篇文章就是帮助大家在不改变项目结构的情况下依然使用Android Studio来开发这些老旧的Android app。首先我们来看一下gradle项目的结构是什么样子的:...转载 2018-11-15 17:14:35 · 850 阅读 · 0 评论 -
viewpager 展示3个item
MagicViewPager单页显示3个Item的ViewPager炫酷切换效果,适用于Banner等。效果图Rotate YRotate DownRotate UpAlphaScaleInScaleIn + Alpha + Rotate Down使用###(1)引入compile `com.zhy:magic-viewpager:1.0....转载 2018-12-18 10:13:20 · 399 阅读 · 0 评论 -
Android动画收藏
1. https://juejin.im/entry/58b41590ac502e006cab5db5 2. https://juejin.im/entry/580c2a7267f3560057b649c23.git项目已保存在百度云https://www.jianshu.com/p/96bf3207f534原创 2019-01-25 15:33:42 · 550 阅读 · 0 评论 -
解决ViewPager + Fragment 数据刷新问题, 刷新无效, notifyDataSetChanged()无效
重写两个方法:getItemId() getItemPosition()public class ViewPagerAdapter extends FragmentPagerAdapter { private final String TAG = ViewPagerAdapter.class.getSimpleName(); private List<Fragment&...原创 2019-04-25 17:54:05 · 2540 阅读 · 0 评论 -
Ubuntu16.04编译Android源码7.1.2和4.4及踩坑
现附上 安卓源码下载地址:链接:https://pan.baidu.com/s/1EyKI6ilY-tXh3Id5kAv5eA提取码:pcwq复制这段内容后打开百度网盘手机App,操作更方便哦一、前言本文不涉及源码下载过程,主要记录自己的编译源码过程及其中遇到的问题,并最终运行在真机上。二、预置环境1、ubuntu16.04,8G内存,2T硬...转载 2019-05-17 16:23:22 · 888 阅读 · 0 评论 -
Android面试---Java篇
这些面试题是我在今年年初换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等。适合中高级工程师。由于内容过多,将会分为上下两部分。下部分跳转链接:https://xiaozhuanlan.com/topic/6132940875希望能够帮到一些朋友,如果帮助到你,希望能够点个赞。没有单独分出来,面试题目都是穿插的。因为有些事外面试过程中遇到的,我就又加上去了。总...原创 2019-06-12 17:20:23 · 253 阅读 · 0 评论 -
Android面试 --Android篇
1、Activity生命周期?onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy()2、Service生命周期?service 启动方式有两种,一种是通过startService()方式进行启动,另一种是通过bindService()方式进行启动。不同的启动方式他...原创 2019-06-12 17:28:42 · 385 阅读 · 1 评论 -
Handler & HandlerThread相关知识
Android中为什么要采用Handler机制?Handler的作用是什么?Android中的UI线程(主线程)是不安全的,一般来说在子线程中进行UI操作会导致UI线程的阻塞,所以Android提供一套Handler机制来实现异步消息处理。Handler机制的作用是:解决多线程并发的问题(协同其他线程工作),接收其他线程的消息并通过接收到的消息更新主UI线程的内容。Handler机制是由那...原创 2019-09-20 16:15:51 · 215 阅读 · 0 评论 -
Handler详解
我们知道在App中一般多会有多个线程,多线程之间难免需要进行通信。在我们平时开发中线程通信用的最多的就是Handler,例如子线程进行数据处理,在主线程中进行UI更新。当然了除了Handler这种通信方式外,线程间的通信还有其他几种方式:管道Pip、共享内存、通过文件及数据库等。这里由于篇幅有限,我们主要来看下Handler以及其实现原理。相信做过Android的朋友对Handler一定不陌生...原创 2019-09-20 16:20:06 · 404 阅读 · 0 评论 -
判断RecyclerView是否滑到顶部或底部
话不多说,直接看代码recycleView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { //newState分 0,1...原创 2018-08-16 11:19:36 · 10872 阅读 · 1 评论 -
Android动态申请权限-读IMEI码为例
一 工具类public class PermissionChecker { public static final String TAG = PermissionChecker.class.getSimpleName(); public static final int READ_PHONE_STATE = 1; private static Permission...原创 2018-08-03 15:03:07 · 13881 阅读 · 2 评论 -
短信验证码功能
我们今天所使用的方案只是android手机设备集成短信验证码功能的方案之一。我们所采用的方案是使用聚合数据的短信验证sdk。程序的界面如下所示:实现步骤:1.到聚合数据官网上申请短信验证SDK数据,生成AppKey,如下图所示:2.配置工程,把相关的sdk库导入到Project中去,:转载 2016-09-24 19:57:01 · 950 阅读 · 0 评论 -
安卓开发---->开机启动
receiver android:name=".AutoStartReceiver"> intent-filter> action android:name="android.intent.action.BOOT_COMPLETED"/> intent-filter> receiver> 静态注册添加原创 2016-09-27 20:44:26 · 233 阅读 · 0 评论 -
安卓四大组件
android四大组件分别为activity、service、content provider、broadcast receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity都必须要在An原创 2016-09-28 10:47:16 · 499 阅读 · 0 评论 -
Tablayout 设置字体大小
官方的 TabLayout 没有提供修改 TextView size 的方法,可以新建一个 style CustomTabLayoutTextAppearance 继承 TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse ,然后增加 item android:textSize 为你想设置的大小。再在 TabLayout原创 2016-10-08 21:36:14 · 7318 阅读 · 0 评论 -
关于上下文
前几篇文章,我也是费劲心思写了一个ListView系列的三部曲,虽然在内容上可以说是绝对的精华,但是很多朋友都表示看不懂。好吧,这个系列不仅是把大家给难倒了,也确实是把我给难倒了,之前为了写瀑布流ListView的Demo就写了大半个月的时间。那么本篇文章我们就讲点轻松的东西,不去分析那么复杂的源码了,而是来谈一谈大家都熟知的Context。Context相信所有的Android开发人员基转载 2016-10-10 12:15:48 · 432 阅读 · 0 评论 -
CoordinatorLayout,协调者布局
CoordinatorLayout,中文译作协调者布局,光听这名字你可能很难判断出协调者布局有什么特点,那么我们来看看下面一张图片:由于CSDN对图片大小的要求,我只能录制一个快速播放的动画,请大家见谅。但是显示效果大家应该都看到了,就是当在页面的上方有一个图片,当底部的控件向上滑动时,上方的图片慢慢的折叠起来,最终变成一个Toolbar,显示在页面的最上方。就这样一个简单的效果,转载 2016-11-02 17:50:00 · 9225 阅读 · 0 评论 -
Android 开发人员不得不收集的代码 (持续更新中)
Android 开发人员不得不收集的代码 (持续更新中)阅读 6147收藏 11872016-11-29原文链接:https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md做这份整理是想把它作为 Android 开发的小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询 API 的使用,费时费力,转载 2016-12-01 17:43:10 · 459 阅读 · 0 评论 -
Android媒体播放
Android中音频和视频的播放我们最先想到的就是MediaPlayer类了,该类提供了播放、暂停、停止、和重复播放等方法。该类位于android.media包下,详见API文档。其实除了这个类还有一个音乐播放类那就是SoundPool,这两个类各有不同分析一下便于大家理解MediaPlayer: 此类适合播放较大文件,此类文件应该存储在SD卡上,而不是在资源文件里,还有此类每转载 2016-12-05 12:32:45 · 300 阅读 · 0 评论 -
Notification更换图标,用系统的布局
private void startNotification(String title) { if (title.contains("'")) {// Log.d("ZhouWengong", "----------hasAlerted: 有 '"); title = title.replace("'", "''");原创 2016-12-16 15:25:00 · 1047 阅读 · 0 评论 -
自定义TabLayout的Tab
TabLayout是Android.support.design.widget.TabLayout包下面的一个控件,使用它可以很简单的实现tab导航功能,可以解决大部分情况,只是这个控件开放的API不多,本文主要介绍如何在TabLayout基础上实现UI的定制。推荐阅读本文不是介绍TabLayout用法,详细使用请移步Android 新特性 - TabLayout效果转载 2016-12-23 10:53:03 · 493 阅读 · 0 评论 -
android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄很清楚。现在把整个总结一下。其实只要把下面这张图看明白就没问题了。涉及到的方法一共有下面几个:view获取自身坐标:getLeft(),getTop(),getRight(),getBottom()view获取自身宽高:getHeight(),getWidth()转载 2017-02-14 10:33:45 · 320 阅读 · 0 评论 -
Android中自动跳转到系统设置界面
相关的API android.provider.Settings。 // 跳转系统的辅助功能界面 1、 ACTION_ACCESSIBILITY_SETTINGS : Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS); startActivity(intent);// 显示添加帐户创建一转载 2016-09-06 15:33:21 · 664 阅读 · 0 评论