![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 79
佛系程序员
这个作者很懒,什么都没留下…
展开
-
获取蓝牙地址
public static String getBluetoothMacAddress(Context context) { if ((android.os.Build.VERSION.SDK_INT < 23)) { // 6.0以下系统 String address = BluetoothAdapter.getDefaultAdapter().getAdd原创 2016-11-18 11:37:13 · 504 阅读 · 0 评论 -
存储管理简单介绍
Android将数据存储在内存中分为内部存储和外部存储。 下面看看官方对内部存储和外部存储特定的介绍。 内部存储: 它始终可用。 只有您的应用可以访问此处保存的文件。 当用户卸载您的应用时,系统会从内部存储中移除您的应用的所有文件。 当您希望确保用户或其他应用均无法访问您的文件时,内部存储是最佳选择。原创 2017-03-06 16:28:43 · 305 阅读 · 0 评论 -
多线程断点下载
这个demo是对前一篇断点后台下载的完善。 demo的总体效果是可以同时进行两个下载任务,任务的进行状态分为:开始,连接中,暂停,完成,继续;通知栏进度条显示的是开始任务的平均进度。 先看一下效果图: 先说一下实现思路,数据显示通过Recycleview显示,在Adapter中添加点击事件,将点击item的position和状态值传递给调用的Activity;后台Service在下原创 2017-02-15 16:25:15 · 301 阅读 · 0 评论 -
模仿美团抛物线效果
以前在毕业设计里用到了类似美团抛物线的效果,当时是找的网上的一个例子,最近有时间自己实现了一个,也算是弥补了一下心里的遗憾。 实现思路:点击item中的按钮,在MainActivity中添加动画图片,添加的图片执行一个类似抛物线的动画,运动到底部指定位置。 先贴出Adapter的代码:public class MyAdapter extends RecyclerView.Adapter<MyA原创 2017-01-09 00:14:25 · 484 阅读 · 0 评论 -
使用DialogFragment从底部弹出对话框
效果图: 首先创建自己的dialog类继承DialogFramgent:public class DialogTest extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog =原创 2017-01-19 17:18:02 · 1683 阅读 · 0 评论 -
官方录音播放demo
public class AudioRecordTest extends AppCompatActivity { private static final String LOG_TAG = "AudioRecordTest"; private static final int REQUEST_RECORD_AUDIO_PERMISSION = 200; private stat原创 2017-02-28 00:18:30 · 455 阅读 · 0 评论 -
断点后台下载
首先看效果图: 实现思路:使用HttpURLConnection和AsyncTask(便于及时取消任务,实现暂停下载的功能)实现断点下载,将下载进度保存到数据库中,每次打开程序时遍历数据库,设置进度调的初始状态。 数据库操作: DownloadContract类,包含表名,字段名 public class DownloadContract { // 为了防止有人意外地实例化合同类原创 2017-02-07 14:03:17 · 492 阅读 · 0 评论 -
SystemBarTint实现沉浸模式
先看几张图对比一下在不同版本的显示效果 4.4沉浸模式: 6.0沉浸模式: 4.4状态栏颜色: 6.0状态栏颜色: 下面看实现过程: 首先去github上下载SystemBarTint源码 SystemBarTint 下载后发现其中只有一个关键类SystemBarTintManager,将它复制到自己的项目中。 修改SystemBarTintManager类中DEF原创 2017-02-06 00:50:11 · 298 阅读 · 0 评论 -
简单自定义View的实现(电子钟表)
先放张效果图 我们先来说说自定义View的步骤: 1:首先要继承一个View类,这个View可以是View本身,也可以是View的子类(例如:TextView,Button等)。 2:接下来就要定义自定义属性,在构造方法中遍历这些属性,为自定义的属性添加必要的属性和方法。 3:重写onMeasure()方法,根据自己的需要确定控件的大小。 4:重写onDraw()原创 2016-12-26 14:21:29 · 350 阅读 · 0 评论 -
TabLayout简单使用
TabLayout是Google官方在5.0时为开发者提供的标签布局,一般情况下TabLayout都是跟ViewPager合在一起使用,用简单的代码就能实现ViewPager页面跟顶部标签的联动,废话不多说,直接贴代码。SDK版本小于5.0时需要在.gradle文件中添加依赖:compile 'com.android.support:design:25.0.1'布局文件很简单,就一个TabLayou原创 2016-12-17 12:01:16 · 460 阅读 · 0 评论 -
RecyclerView刷新布局时Glide加载图片闪现
Glide .with(context) .load("imagePath") .skipMemoryCache(false) .thumbnail(0.5f) .fitCenter() .diskCacheS原创 2017-08-08 09:33:53 · 2263 阅读 · 0 评论