![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
这个杀手不太累
这个作者很懒,什么都没留下…
展开
-
Android定时器Timer简单使用
Android定时器Timer简单使用Timer简介Timer使用总结Timer简介Timer(计时器)位于 java.util包下,可用于创建定时任务,任务可以安排为一次性执行,也可以定期重复执行。每个计时器对象对应一个后台线程(TimerThread)。简单理解为创建Timer对象,对应TimerThread线程循环开始从TaskQueue队列中执行一个TimerTask任务。Timer使用创建Timer对象var timer = Timer()添加需要执行的任务// 创建计原创 2021-10-25 10:49:07 · 10675 阅读 · 0 评论 -
NestedScrollView中fillViewport属性
fillViewport定义scrollview是否应拉伸其内容以填充视口从代码上看比较直观,先不添加fillViewport属性<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heig.原创 2021-06-28 14:53:35 · 1044 阅读 · 0 评论 -
ImageView使用tint属性
使用以下图片,tint设置不同颜色,效果如下:直接上图片,ImageView的tint属性是Android5.0以后引入的,这个属性比较好用,可以直接修改图片颜色。使用场景,可以切一张透明形状的图,使用tint设置显示不同的颜色...原创 2021-05-18 14:36:29 · 1920 阅读 · 0 评论 -
WebView替换404网页
有天被问到WebView加载网页404替换的问题,想了一种方法,记录如下: 思路就是先获取请求返回的状态码,判断状态码是404,就加载404的网页这里的404效果用的简书404的地址,可以替换成自己的404即可代码如下:class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceSta原创 2021-04-23 16:39:55 · 359 阅读 · 0 评论 -
Android集成bugly实现异常上报
Android集成bugly实现异常上报bugly集成官方文档Android Bugly集成步骤build.gradle配置清单文件声明权限配置application测试demo下载地址bugly集成官方文档Bugly官方Android集成文档官方文档最准确,以下步骤为学习记录Android Bugly集成步骤build.gradle配置添加依赖 dependencies { //Bugly 其中lat est.release指代最新版本号,也可以指定明确的版本号原创 2021-04-15 17:16:46 · 810 阅读 · 0 评论 -
Android调用安装apk
Android调用安装apk声明权限调用安装代码声明权限 <!--安卓8.0打开apk安装更新--> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />注意: 此权限只需申明即可,无需动态申请。调用安装代码 /** * context 上下文对象 * filePath apk路径 */ public static v原创 2021-03-02 15:51:05 · 1418 阅读 · 0 评论 -
Android使用AudioRecord实现录音
文章目录前言一、AudioRecord是什么二、使用步骤1.引入库2.读入数据总结前言Android使用AudioRecord实现录音提示:以下是本篇文章正文内容,下面案例可供参考一、AudioRecord是什么Android平台可以使用AudioRecord和MediaRecorder来实现录音,因为AudioRecord更接近底层,并且录制的数据为原始(pcm)数据,以下都使用pcm表示原始数据,pcm数据可以再进行处理转换,直播中使用的都是处理后的pcm数据,所以在这里面学习下使用Au原创 2021-01-18 17:01:15 · 12283 阅读 · 11 评论 -
gson解析包含不同类型数组
以下方法只是提供参考当一个list中包含不同类型时,可使用以下方法解析[ {"name":"法外狂徒张三","age":33}, "123", 123, 12.3]直接上代码public class MainActivity extends AppCompatActivity { private static final String TAG = "json"; /*[ {"name":"法外狂徒张三","age":33}, "123",原创 2021-01-04 10:55:17 · 580 阅读 · 1 评论 -
Android注解之@CallSuper
@CallSuper使用这个注解的方法,子类继承后,重写这个方法,必须调用父类的这个方法示例从上图可以看出,图1中重写父类方法没有调用super.method1()报错,图2调用了,没有报错。原创 2020-07-22 17:11:34 · 1094 阅读 · 0 评论 -
EditText限制只输入中文
editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) {原创 2020-06-18 15:46:53 · 205 阅读 · 0 评论 -
TextView使用Paint设置下划线删除线效果
TextView tv1 = findViewById(R.id.tv1);tv1.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//设置下划线TextView tv2 = findViewById(R.id.tv2);tv2.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//设置删除线...原创 2020-04-01 10:16:07 · 1294 阅读 · 0 评论 -
menu中showAsAction
<!-- How this item should display in the Action Bar, if present. --><attr name="showAsAction"> <!-- Never show this item in an action bar, show it in the overflow menu instead. ...原创 2020-02-24 09:51:40 · 312 阅读 · 0 评论 -
AndroidStudio运行java的main方法
直接运行可能会报以下类似错误:解决方法,需要在工程 gradle.properties文件中添加:android.enableAapt2=false重启AndroidStudio,再次运行:原创 2020-02-18 09:31:06 · 314 阅读 · 0 评论 -
Android中WebView网页上传文件设置
文章目录功能webView#setWebChromeClient功能在webView加载的网页中选择文件可以正常调用原生的选择文件功能webView#setWebChromeClientpublic class MainActivity extends AppCompatActivity { private WebView webView; private ValueC...原创 2020-02-05 09:33:57 · 1273 阅读 · 4 评论 -
Android蓝牙学习
文章目录蓝牙概述Android蓝牙开发判断是否支持蓝牙打开蓝牙搜索蓝牙设备配对连接打印机蓝牙概述蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线...原创 2019-11-24 22:11:06 · 307 阅读 · 0 评论 -
AMD CPU 开启Android Studio emulator虚拟机
文章目录BIOS中开启SVM MODE启用Hyper-V启动AS中AVDBIOS中开启SVM MODE启用Hyper-V启动AS中AVD虽然可以正常使用,但是电脑开机变慢了。。。原创 2019-11-11 23:02:30 · 1379 阅读 · 0 评论 -
Gradle使用阿里云国内镜像
老是查,记录下。。。在项目build.gradle中添加:buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http:/...原创 2019-10-25 23:39:11 · 3044 阅读 · 0 评论 -
Android 设置软键盘右下角键盘样式和监听右下角点击回调
文章目录设置软键盘右下角按键显示样式监听右下角点击回调设置软键盘右下角按键显示样式在EditText中使用android:imeOptions设置右下角显示样式(需要搭配 android:singleLine=“true”):在搜狗输入法测试android:imeOptions=“actionDone” 显示回车键android:imeOptions=“actionGo” 显示...原创 2018-10-14 16:30:55 · 2198 阅读 · 0 评论 -
Androd集成微信支付和支付宝支付
文章目录前言微信支付支付宝支付前言我们在做App的时候,可能需要接入支付功能,常见的支付有微信支付和支付宝支付。这里只说明下前端的代码逻辑。微信支付微信支付开发文档需要申请appId,申请的时候需要填写包名(packagename),签名等信息。在AndroidStudio中加入依赖(as3.1.3版本)//微信支付// gradle3.0以下使用compile,以上可以a...原创 2018-10-28 15:24:10 · 431 阅读 · 0 评论 -
左滑操作(删除,置顶等。。。)
在滑动列表中,常常会有左滑出现删除,置顶操作的需求,如下qq的左滑效果: 今天也来实现下类似的效果,可供大家参考:1.实现原理原理图 2.实现自定义左滑View1.添加View 首先在自定义View中通用getChildAt来获取左边显示内容的View和右边的操作View,这里通过getChildAt可以更方便的定制按钮的个数,大小。// 左边显示内容的...原创 2018-09-01 10:53:35 · 2204 阅读 · 1 评论 -
Android8.0 接收断网广播
当我们在Android设备上关闭网络连接时系统会发送网络改变广播,如下:08-12 14:51:57.763 877-968/? D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGEaction是android.net.conn.CONNECTIVITY_CHANGE,...原创 2018-08-12 15:05:48 · 2644 阅读 · 0 评论 -
Android registerActivityLifecycleCallbacks方法分析
在Application中有一个registerActivityLifecycleCallbacks方法,实现注册Activity生命周期回调,首先看下在Application源码中实现: private ArrayList&amp;lt;ActivityLifecycleCallbacks&amp;gt; mActivityLifecycleCallbacks = new Ar...原创 2018-08-04 21:14:24 · 3883 阅读 · 0 评论 -
View被其它View遮挡显示出来
在写布局文件的时候,有的View会放在其它View的上层,通常情况下显示底层View可以让上层的View隐藏,有没有方法不让上层View隐藏而让底层View显示呢? 这里有一个方法可以做到bringToFront,这里看下效果,在布局文件中写了两个TextView,其中一个遮挡住下面的TextView&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&a原创 2018-07-14 13:32:44 · 3631 阅读 · 0 评论 -
ScrollView中嵌套RecyclerView和EditTextView出现的问题
问题:在进入该Activity布局界面时,自动弹出了软键盘。 尝试解决: 1.在EditTextView设置enabled=false,进入Activity后延时设置为true,发现问题更复杂了 2.在EditTextView设置focuable=false和focusableInTouchMode=false,点击后设置为true,发现又出现其它问题了 ....目...原创 2018-07-10 10:29:48 · 1493 阅读 · 0 评论 -
使用gson解析json数组
json数组:[ { "address": "中国", "age": 30, "name": "小明", "sex": "boy" }, {原创 2018-06-30 18:26:34 · 16278 阅读 · 5 评论 -
Android使用WebView加载网页选择文件上传
文章目录效果如下:网页参考代码Android代码效果如下:使用Android WebView加载网页,网页中调用文件选择功能实现网页参考代码<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width...原创 2019-09-01 11:37:28 · 5100 阅读 · 1 评论 -
Android源码-Handler分析
Handler简介Handler是Android消息机制的上层接口,多数开发者会使用Handler去更新UI或做延时处理。如下代码所示:new Thread(new Runnable() { @Override public void run() { // do something handler.sendMess...原创 2018-06-15 23:37:43 · 194 阅读 · 0 评论 -
App Shortcuts实现长按图标显示快捷入口
文章目录App Shortcuts使用Shortcut动态使用静态使用App ShortcutsApp Shortcuts是Android7.1上推出的新功能,可以实现点击Launcher上图标弹出快捷入口:使用Shortcut使用App Shortcuts有两种形式,类似广播有动态注册和静态注册,App Shortcuts也有两种形式,分别是动态使用和静态使用。动态使用public...原创 2018-11-01 21:00:10 · 1642 阅读 · 0 评论 -
Anroid 竖屏模式下横向显示Toast
我们在开发应用过程中,可能会遇到这样的需求,在竖屏Activity中横向显示一个Toast提示,当然每个人思考的方式不一样,实现的方法也会有很多种了,这样提供这样一种思路供大家参考。效果图gif动画不是很清晰,这不重要~~~~~实现思路,在Toast中有setView这个方法,我们可以设置一个竖向显示文字横向显示的View,然后再设置Toast的位置不就可以。//自定义一...原创 2018-11-08 23:46:19 · 1430 阅读 · 0 评论 -
Android自定义加载圈
<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" android:layout_原创 2017-07-16 10:59:47 · 1500 阅读 · 0 评论 -
百度地图SDK定位获取中心点地理位置
效果:代码:百度地图SDK集成文档参考官方文档,这里贴出demo的代码:public class MainActivity extends AppCompatActivity { private MapView mMapView; private BaiduMap mBaiduMap; private LocationClient mLocationClient;...原创 2019-07-02 10:02:52 · 2431 阅读 · 0 评论 -
RecyclerView实现相册滑动选择功能
效果如下:这里仅说明RecyclerView滑动多选,首先要获取RecyclerView滑动事件,代码如下:public class MyRecyclerView extends RecyclerView { private DispatchTouchEventListener dispatchTouchEventListener; public MyRecyclerVi...原创 2019-06-02 10:54:37 · 1778 阅读 · 2 评论 -
ClassNotFoundException: Didn't find class "org.apache.http.message.BasicNameValuePair"解决方法
在Androdid高版本中删除了httpclient相关的包可通过在as中配置依赖解决:apply plugin: 'com.android.application'android { compileSdkVersion 28 defaultConfig { .... lintOptions { abortOnError fal...原创 2019-05-18 11:46:55 · 4800 阅读 · 0 评论 -
Android中StatFs获取存储空间信息
文章目录StatFs类StructStatVfs类获取SD卡全部存储空间和可用存储空间StatFs类这里要介绍下StatFs这个类,StatFs位于android.os包下,功能是:检索有关文件系统上空间的总体信息。我们先来看下StatFs都提供了下列方法(废弃的方法这里就不列出了):方法名功能getBlockSizeLong文件系统上块的大小(以字节为单位)g...原创 2019-04-19 14:27:22 · 3990 阅读 · 1 评论 -
Android中Activity和Window和View的关系
文章目录关系图源码分析总结关系图Android面试中经常会问到Activity和Window、View之间有啥关系?下面先来看一张图从上图可以看出Activity包含Window,Window包含View。源码分析Activity 中public class Activity extends ContextThemeWrapper implements LayoutI...原创 2019-03-04 10:14:53 · 2239 阅读 · 0 评论 -
PreferenceFragment的使用
文章目录PreferenceFragment简介PreferenceFragment使用PreferenceFragment 扩展PreferenceFragment简介在我们写一个项目的时候,基本都有选项设置界面,这类设置界面的原理基本都是本地的一些个性化设置,通过读取本地设置来改变某些差异显示(例如字体大小,主题颜色,WIFI自动下载等)。这些设置一般都会使用Preference来保存,...原创 2019-02-20 10:27:31 · 9068 阅读 · 4 评论 -
Android本地广播LocalBroadcastManager使用
文章目录LocalBroadcastManager 简介LocalBroadcastManager使用LocalBroadcastManager 源码分析LocalBroadcastManager 简介学习Android的同鞋一定知道四大组件,四大组件有:四大组件中的BroadcastReceiver是全局广播,即发送广播时可能被多个App接收到,有时候从安全角度考虑,为了数据的安全传递...原创 2018-12-24 10:10:35 · 1528 阅读 · 0 评论 -
Android跨进程通信之Messenger
Messenger简介代码 实现service端实现client端效果Messenger简介Messenger翻译为信使,是Android提供轻量级IPC(Inter-Process Communication,进程间通信)方案,底层实现为AIDL。 Messenger实现Parcelable接口,有两个构造方法,分别可传入IBinder对象或Handler对象/** ...原创 2018-05-17 08:40:47 · 231 阅读 · 0 评论 -
ImageView的scaleType模式
scaleType有如下几种 centerCropcenterfitXYcenterInsidefitCenterfitStartfitEndmatrix直接上图(原图苍老师) 使用不同scaleType效果如下原创 2018-05-09 20:09:33 · 315 阅读 · 0 评论 -
使用TextInputLayout
首先看下使用TextInputLayout的效果 加入依赖 compile 'com.android.support:design:26.0.0-alpha1'使用TextInputLayout包含一个EditTextView控件 <android.support.design.widget.TextInputLayout android:id="@+id/un_input原创 2017-07-30 10:38:49 · 464 阅读 · 0 评论