![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android 基础
文章平均质量分 73
Reoger
这个作者很懒,什么都没留下…
展开
-
android实现tab切换效果
一:利用ViewPager实现Tab切换效果1.首先新建几个要切换的xml布局文件,然后在主布局中间添加布局,用于显示我们写好的xml布局。2.在主方法中,定添加代码如下:LayoutInflater mInflater = LayoutInflater.from(this);View tab01 = mInflater.inflate(R.layout.tab01, null);m原创 2016-03-30 20:41:50 · 2746 阅读 · 0 评论 -
自定义EditText实现清除文本内容按钮
在使用EditText的时候,发现想要添加一个清除文本的按钮还是听麻烦的,于是诞生出想自定一个控件来实现这样的效果。 好了,先来看看实现的效果吧。通过效果图,我们可以看到我们的自定义EditText实现了以下的公呢个: * 当有内容输入的时候,右边会出现一个红色的删除图片。点击图片就会清除文本的内容; * 当文本框中没有内容的时候,右边的xx会消失; * 当我们输入不合法的数据时,文本原创 2017-03-11 20:23:26 · 1324 阅读 · 0 评论 -
java控制线程的执行顺序
在java多线程,不免会遇到我们需要控制线程执行顺序的情况。比较经典的情况就是生产者+消费者模式,只有当生产者被执行了,消费者才能被执行,否则就就可能陷入死锁。 首先介绍简单的实现消费者模式的方法:消费者-生产者Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个原创 2017-03-25 21:23:52 · 2258 阅读 · 0 评论 -
为Recycler添加下拉刷新,上拉加载更多功能(简单实现)
当然,完全可以自己动手通过自定义view来实现下拉刷新的功能,但是具体实现起来还是比较麻烦的。如果有兴趣,可以参考慕课网上的相关视屏 传送门 但是目前我们有更加方便的方法来实现这样的功能,google已经为我们提供了一个上拉刷新与下拉加载更多的控件。 SwipeRefreshLayout。现在就通过这个控件为recyclerView添加上拉刷新与下载功能。 SwipeRefreshLayou原创 2017-04-12 19:11:48 · 662 阅读 · 0 评论 -
OKHttp从入门到放弃(自己编写测试服务端)
OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势 。今天就记录以下使用Okhttp的心得和体会。首先先列出我的参考资料: * 慕课大神hyman视屏资料 * OkHttp官方github地址 * 官方教程2016版 * 诸葛小布博客 * 清屏网下面正式开始来入门。配置环境客户端配置下载最原创 2017-04-29 15:52:25 · 3765 阅读 · 5 评论 -
android 语音即时通讯之录音、播放实现
在android中,实现录音与语音播放的功能算是比较简单的,但是作为参考,还是很有必要将语音相关的知识做一个简要的记录。首先,在android中,支持录音支持两种方式。主要包括:字节流模式和文件流模式。用文件流模式进行录音操作比较简单,而且相对来说,因为其封装性比较好,录制下的文件也会比较小。但是相对于文件流模式,就没有字节流模式那么灵活,但是想要用好字节流模式还是需要下一点功夫的。下面开始介绍文件原创 2017-07-19 15:12:00 · 777 阅读 · 0 评论 -
热更新初步探索
参考资料:Tinker –微信Android热补丁方案TinkerPatch平台参考文献微信Tinker的一切都在这里首先,我们得知道什么叫热跟新? – 热更新就是在软件不重新安装的情况下修复软件中存在的bug。热更新原理: 总的来说,现在热更新主要分为两大类:native hook方案和Multidex 方案。 实际上都是通过改变dex的加载顺序来实现的。下面是现在的时长上比较流行的原创 2017-08-05 19:58:21 · 401 阅读 · 0 评论 -
android的线程池,你了解这些就够了
Android中的线程池的概念来源于Java中的Execuor,Executor是一个接口,真正线程池的实现为ThreadPoolExecutor。android中线程池都是直接或者间接配置ThreadPoolExecutor来实现的。线程池的优点重用线程池中的线程,避免因为线程的常见和销毁带来的性能开销。能有效控制线程池的最大并发数,避免大量线程之间因为抢占系统资源而导致的阻塞现象。能够对原创 2017-08-13 15:56:25 · 424 阅读 · 0 评论 -
在activity中回传数据
在Activity中传递数据,在日常的开发中经常遇到。故,在此做一个记录。方法一刚开始的时候,在《第一行代码》,我们就知道通过activity中的onActivityResult方法来获取回传的数据。具体如下所示: 在Activity A中,我们通过startActivityForResult来启动Activity B。 然后在Activity A中重写startActivityForResul原创 2017-08-06 11:50:12 · 2748 阅读 · 0 评论 -
imageLoader解析
ImageLoader是最早开源的 Android 图片缓存库, 强大的缓存机制, 早期使用这个图片加载框架的android应用非常多, 至今仍然有不少Android 开发者在使用。ImagerLoader特征支持本地、网络图片,且支持图片下载的进度监听支持个性化配置ImagerLoader,如线程池,内存缓存策略,图片显示选项等三层缓存加快图片的加载速度支持图片压缩开始使用鉴于这篇是对原创 2017-09-11 15:25:30 · 593 阅读 · 0 评论 -
android adb调试技巧
参考链接超详细的dubug教程Android Studio 调试技巧Android中开发需要的高效助推的命令总结Android adb shell am 命令介绍adb shell dumpsys 命令用法AMS之dumpsys篇debug 技巧关于android studio的debug技巧,前面的两篇参考文章已经写的特别好了,也没必要再写一次了,主要就记录一下de原创 2018-01-17 20:00:24 · 1079 阅读 · 0 评论 -
android studio快捷键
转载: http://seniorzhai.github.io/2015/02/05/AndroidStudio%E5%BF%AB%E6%8D%B7%E9%94%AE%E6%B1%87%E6%80%BB/转载 2018-01-26 17:51:04 · 249 阅读 · 0 评论 -
IDEA Community(社区版) 使用Maven创建Web工程 并部署tomcat
参考https://blog.csdn.net/u012364631/article/details/47682011转载 2018-03-27 19:43:09 · 2203 阅读 · 1 评论 -
自定义View之将图片裁剪成圆形图片
自定义View之将图片裁剪成圆形图片使用PorterDuffXfermode方式来实现在使用这中方式之前,我们有必要弄清楚PorterBuddx究竟是什么。 简单来说,他是定义的一种图像融合的方式,具体的模式有如下几种,效果如图: 在次,不多做介绍,想深入了解PorterDuffXfermode可以参考各个击破搞明白PorterDuff.Mode 本次使用mode是SRCIN...原创 2018-08-03 21:15:28 · 1223 阅读 · 0 评论 -
自定义View之将图片显示圆形图片并添加边框
效果预览本次的图片效果是基于上一篇博客的三种方法进行扩展实现图片的外边框效果。上一篇博客的传送门。 下面开始进行到整体,针对上次实现圆形图片的三个方式添加一个外边框效果。使用PorterDuffXfermode方式来实现我们使用这个方式实现圆形图片的原理是通过图片的设置图片的叠加显示效果。还是这张图: 思路实现圆形图片,我们只需要绘制一个圆,并将模式设置为SRC...原创 2018-08-04 21:17:34 · 818 阅读 · 0 评论 -
查看android studio和apk文件签名
查看android studio签名的方法:1)打开cmd命令编辑:2)输入 cd .android3)输入 keytool -list -v -keystore debug.keystore获取应用签名的方法1) 将apk修改后缀为 .rar文件后解压; 2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA 3) 在该目原创 2017-01-01 16:42:58 · 728 阅读 · 0 评论 -
Gilde基础使用
Glide 是 Google 员工的开源项目, Google I/O 上被推荐使用,一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个原创 2016-11-02 21:28:07 · 952 阅读 · 0 评论 -
利用属性动画实现动态菜单的效果
说到andrid内部的动画,相信大部分的人第一时间想到的是Animation,对于android内的动画,小编先简单的介绍几种使用方法:1.通过在res目录下新建一个anim文件夹并在其目录下新建属性动画的xml文件,通过MainActivity中通过函数调用即可:例如我们可以在anim文件夹下面创建一个位移动画xml文件,如下 <translate and原创 2016-03-15 14:15:57 · 983 阅读 · 1 评论 -
解决ListView的item监听事件个子控件监听事件冲突问题
当我们自定义ListView的Adaper的时候,给我们item布局添加监听事件,然后我再在去在Activity中给我们的ListView添加AdapterView.OnItemClickListener()的监听事件的时候,我们会发现,我们只能检测到我们子控件的监听事件,而不能都对我们的item进行监听了。这是因为我们在Activity中添加了button和checkbox这些控件,此时这些子控件原创 2016-04-25 21:21:36 · 6259 阅读 · 3 评论 -
自定义带Button的通知,并实现对Button的监听
近来在做一个类似音乐播放器的手机软件,在基本功能实现后,想在添加一个通知,里面包含Button可以控制歌曲的播放。 在查阅相关资料后,总结一下如何自定义带Button的通知吧。为了更好的说明自定义通知实现的过程,在这里我们用一个demo的说明问题:首先肯定要新建一个xml的自定义布局吧,这里我就直接给出代码<?xml version="1.0" encoding="utf-8"?><Line原创 2016-04-28 20:30:20 · 1370 阅读 · 1 评论 -
java 中的观察者模式实现之接口回调
在学习的过程过,多次见到回调接口的时候,有时候觉得自己会了,当要自己马上写一个回调的实际例子出来还是感到挺吃力的,所以在此写一篇博客,记录一下自己对回调的理解,免得自己忘了的时候没有参考。1.首先简单的介绍一下什么事回调方法吧,在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。在摘抄一篇原创 2016-04-21 23:01:56 · 1898 阅读 · 1 评论 -
android 中传递对象两种方法探索(Serializable,Parcelable)
相信大家在android开发的过程中总会遇到要在Activity中间传递数据的情况,当然,遇到需要在Intent中传递对象的情况也不可避免,所以我就so了一下相关的知识,在这里总结消化一下。就目前来说,我了解到的只有两种方式: 1.利用Bundle.putSerializable(Key,Object); 2.利用Bundle.putParcelable(Key, O原创 2016-05-06 22:22:36 · 1351 阅读 · 0 评论 -
android中浮动菜单的基本实现
实现浮动菜单的方法很多,这里就简单介绍介绍几种比较常见的方法吧用PopupMenu实现浮动菜单这种方式比较简单,直接上代码了:在的java代码中实现构造浮动菜单 这里的getResources().getString(R.string.copy)是定义在value文件夹下,名为string的对象, 内容就是“复制”,这里这样写只是为了复习一下getResources()的用法。 Popup原创 2016-05-18 18:17:23 · 1882 阅读 · 0 评论 -
Activity数据保存探索
在开发中发现一个问题:当一个我通过Intent开启一个前面已经打开的activty的界面时, 新打开的activity的状态会丢失。当时,当我直接按home减将acitvity置于后台,然后重新打开这个activity的时候,发现此时的activity的状态是退出之前的状态。但是,我现在我想达到的目的是,不管是以什么方式打开这个活动,我都想要他恢复到之前的acitvity状态,而不是新开一个新的a原创 2016-05-09 17:28:54 · 1780 阅读 · 0 评论 -
android 开发之画布初步探索
好久没写过博客了,今天就随便写写,把今天学的一点东西记录下来。自定义画布布局:package com.create.drawingboard;import android.annotation.TargetApi;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color原创 2016-07-19 00:13:23 · 358 阅读 · 0 评论 -
android MVP模式之初尝试
什么是MVP?现在,主流的android设计模式无非就是MVC,MVVM还有一个就是当下最流行的MVP模式,那么什么是MVP模式?? MVP模式是在MVC模式的基础上,针对MVC模式缺陷而设计的一种模式。在介绍MVP之前,很有必要先介绍一下MVC模式。按照MVC模式的分层,实体层Model、视图层View、控制层Controller。可以清楚的看到MVC模式中的View可以直接与Model和Co原创 2016-09-10 13:38:00 · 496 阅读 · 0 评论 -
新建资源文件的一个坑
添加资源文件时要注意,添加:<?xml version="1.0" encoding="utf-8" ?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">//添加加 item属性。。。</resources>如果不加的话,在给应用签名的时候就会抛出 Er原创 2016-11-03 10:15:16 · 402 阅读 · 0 评论 -
利用Viewpager实现引导界面
利用viewPager实现应用的引导界面 不废话,先上效果图:   这里是随便从网上盗了几张引导界面的图,意思到了就行了。 引导界面,肯定是在用户第一次打开的时候显示,第二次打开程序就不需要显示了。这里比较简单,就直接上代码了:package students.startuitest;import android.content.Intent;import android.cont原创 2016-11-04 20:39:47 · 1125 阅读 · 2 评论 -
利用浮动窗口提示用户操作
上次我们实现了利用viewpager实现对新用户的功能性介绍,今天我们来显示利用浮动窗口对用户进行操作的引导。先看效果图。  虽然界面比较丑,但是可以看到我们还是可以实现对用户进行比较好的操作提示,下面介绍怎么实现这种效果。集成环境这个项目中,我采用的是TourGuide开源项目,可以直接进入github地址进行学习与下载,这里我们只是简单的介绍怎么使用他来实现浮动界面的引导效果。首先是添原创 2016-11-05 20:34:19 · 1642 阅读 · 0 评论 -
利用ViewPager搭建程序主界面
很多手机软件都采用了Viewpager搭建主界面。今天我又写了一个viewPager的demo,废话不多说,先看效果。  哈哈,怎么样,虽然界面丑了点,但是效果还是不错的吧。让我们来实现这样的效果把。 这里使用的是三个Fragment来实现的,如果想使用Acivity来进行实现,只需要将Fragment的适配器换成ACtivity的,然后添加ACtivity的集合到适配器中就OK了。 首原创 2016-11-06 19:00:47 · 622 阅读 · 0 评论 -
TextView使用
今天再次学习了一下android中最常见的控件–TextView是使用与其属性方法。记录下来,以免忘记。 先看看使用TextView能实现些申明特殊的效果把: 图1 textView实现跑马灯效果 图2 TextView实现解析简单的html网页 图3 实现多个TextView的跑马灯和折叠TextView 常见属性设置省略了必要设置的宽和、高原创 2016-11-09 21:07:48 · 830 阅读 · 0 评论 -
android与js的交互
android与js的交互android与js的交互在android开发中是很常见,一般是利用webView当作桥梁,进而实现android调用js,js调用android代码。下面就这两种待用具体记录一下。android调用js代码方式1,利用loadUrl众所周知,webview加载网页时,使用是loadUrl()方法,例如我们加载本地的网页代码可以实现如下:mWebView = f...原创 2018-12-23 22:32:27 · 242 阅读 · 0 评论