首页
学习
活动
专区
工具
TVP
发布

项勇

专栏作者
131
文章
135699
阅读量
35
订阅数
XYLibrary笔记一:创建仓库,以及引用始末
Start a new Android Studio project (新建android项目)
项勇
2020-12-15
3640
使用RecyclerView的几个笔记
方法一:重写RecyclerView.ItemDecoration 在getItemOffsets方法中设置传入的值
项勇
2019-12-23
6480
笔记81 | Android项目使用第三方so文件不被删除的办法
直接把so放在libs目录下每次clean程序都会被删除,这个时候需要在项目的jni目录下新建一个lib目录
项勇
2018-10-18
6300
笔记69 | Android获取MP3文件的ID3信息工具类
代码块 HelloJni .java /* = * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *
项勇
2018-06-19
7880
笔记71 | Intent分享内容(文本,图片,视频)
在构建一个 intent时,必须指定这个intent需要触发的actions。Android定义了一些actions,比如 ACTION_SEND,该action表明该intent用于从一个activity发送数据到另外一个activity的,甚至可以是跨进程之间的数据发送。 为了发送数据到另外一个activity,我们只需要指定数据与数据的类型,系统会自动识别出能够兼容接受的这些数据的activity。如果这些选择有多个,则把这些activity显示给用户进行选择;如果只有一个,则立即启动该Activit
项勇
2018-06-19
1.5K0
笔记73 | 实现音乐转盘的旋转和暂停效果
RotateAnimation实现转动动画: package com.jikexueyuan.rotateanimation; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.anim
项勇
2018-06-19
1.5K0
笔记74 | 学习掌握ConstraintLayout的基本属性
最近一个礼拜业余时间都在搞我的淘宝店铺,有兴趣的都可搜一下:吉安车品,主营汽车脚垫/后备箱垫/座垫,还在打基础阶段,不急,慢慢搞,当业余爱好去买卖;当然吃饭手艺功夫自然也不能丢,为下个月的变数准备,今天开始复习/学习一些基础内容,今天的笔记是ConstraintLayout的几个属性。 1、Circular positioning(圆形定位) 标题后面的中文是自己翻译的,可能不是很准确。 官方文档是这么介绍的: You can constrain a widget center relative to an
项勇
2018-06-19
1.2K0
笔记66 | eclipse/android studio/ADB查看Android应用内存使用情况
Eclipse 首先,我们在DDMS的界面的设备选项中找到手机设备,可以看到它里面正在运行的进程: 点一下“Update Heap"图标,然后在Heap选项中查看我们标注的进程的内存使用情况: 点一下
项勇
2018-06-19
1.8K0
笔记67 | 记录从android stuido传代码到github的学习过程
前言 github是全球最好的一个管理代码的网站,用于迭代更新项目代码,本片记录学习从android stuido传上传代码到github过程; 准备 需要在你的电脑上安装git版本控制系统。如Git
项勇
2018-06-19
5800
笔记55 | 处理CalledFromWrongThreadException错误问题
报错说明 直接在子线程更新UI会报CalledFromWrongThreadException错,错误如下: 12-20 15:39:04.730: E/AndroidRuntime(2763): FATAL EXCEPTION: Timer-0 12-20 15:39:04.730: E/AndroidRuntime(2763): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thre
项勇
2018-06-19
1.5K0
笔记56 | 管理网络的使用
检查设备的网络连接 设备可以有许多种网络连接。这节主要关注使用 Wi-Fi 或移动网络连接的情况。关于所有可能的网络连接类型,请看ConnectivityManager。通常 Wi-Fi 是比较快的。移动数据通常都是需要按流量计费,会比较贵。通常我们会选择让 app 在连接到 WiFi 时去获取大量的数据。 在执行网络操作之前,检查设备当前连接的网络连接信息是个好习惯。这样可以防止我们的程序在无意间连接使用了非意向的网络频道。如果网络连接不可用,那么我们的应用应该优雅地做出响应。为了检测网络连接,我们需要使
项勇
2018-06-19
7040
笔记57 | Android保持设备唤醒
保持设备唤醒 为了避免电量过度消耗,Android设备会在被闲置之后迅速进入睡眠状态。然而有时候应用会需要唤醒屏幕或者是唤醒CPU并且保持它们的唤醒状态,直至一些任务被完成。 想要做到这一点,所采取的方法依赖于应用的具体需求。但是通常来说,我们应该使用最轻量级的方法,减小其对系统资源的影响。在接下来的部分中,我们将会描述在设备默认的睡眠行为与应用的需求不相符合的情况下,我们应该如何进行对应的处理。 ---- 保持屏幕常亮 某些应用需要保持屏幕常亮,比如游戏与视频应用。最好的方式是在你的Activity中(且
项勇
2018-06-19
9700
笔记58 | Android闹钟
调度重复的闹钟 闹钟(基于AlarmManager类)给予你一种在应用使用期之外执行与时间相关的操作的方法。你可以使用闹钟初始化一个长时间的操作,例如每天开启一次后台服务,下载当日的天气预报。 闹钟具有如下特性: 允许你通过预设时间或者设定某个时间间隔,来触发Intent; 你可以将它与BroadcastReceiver相结合,来启动服务并执行其他操作; 可在应用范围之外执行,所以你可以在你的应用没有运行或设备处于睡眠状态的情况下,使用它来触发事件或行为; 帮助你的应用最小化资源需求,你可以使用闹钟调度你的
项勇
2018-06-19
1.5K0
笔记59 | Android管理音频焦点的学习
管理音频焦点 由于可能会有多个应用可以播放音频,所以我们应当考虑一下他们应该如何交互。为了防止多个音乐播放应用同时播放音频,Android使用音频焦点(Audio Focus)来控制音频的播放——即只有获取到音频焦点的应用才能够播放音频。 在我们的应用开始播放音频之前,它需要先请求音频焦点,然后再获取到音频焦点。另外,它还需要知道如何监听失去音频焦点的事件并对此做出合适的响应。 请求获取音频焦点(Request the Audio Focus) 在我们的应用开始播放音频之前,它需要获取将要使用的音频流的音频
项勇
2018-06-19
1.9K0
笔记60 | Android控制音量与音频播放的学习
控制音量与音频播放 编写:kesenhoo 良好的用户体验应该是可预期且可控的。如果我们的应用可以播放音频,那么显然我们需要做到能够通过硬件按钮,软件按钮,蓝牙耳麦等来控制音量。 同样地,我们需要能够对应用的音频流进行播放(Play),停止(Stop),暂停(Pause),跳过(Skip),以及回放(Previous)等动作,并且并确保其正确性。 鉴别使用的是哪个音频流(Identify Which Audio Stream to Use) 为了创建一个良好的音频体验,我们首先需要知道应用会使用到哪些音频流
项勇
2018-06-19
1.8K0
笔记45 | 代码性能优化建议[转]
地址 CSDN:http://blog.csdn.net/xiangyong_1521/article/details/78722297 简书:http://www.jianshu.com/p/4123e6bddc30 ---- 目录 前言 避免创建不必要的对象 选择Static而不是Virtual 常量声明为Static Final 避免内部的Getters/Setters 使用增强的For循环 使用包级访问而不是内部类的私有访问 避免使用float类型 使用库函数 谨慎使用native函数 关于性能的误
项勇
2018-06-19
4170
笔记46 | Android性能优化之优化layout的层级(一)
地址 csdn:http://blog.csdn.net/xiangyong_1521/article/details/78726960 ---- 目录 前言 检查 Layout 修正 Layout 使用 Lint ---- 前言 一个常见的误区是,用最基础的 Layout 结构可以提高 Layout 的 性能。然而,因为程序的每个组件和 Layout 都需要经过初始化、布局和绘制的过程,如果布局嵌套导致层级过深,上面的初始化,布局和绘制操作就更加耗时。例如,使用嵌套的 LinearLayout 可能会使得
项勇
2018-06-19
1.6K0
笔记47 | Android性能优化之使用include标签重用layouts(二)
地址 csdn: http://blog.csdn.net/xiangyong_1521/article/details/78727213 ---- 目录 前言 创建可重用 Layout 使用标签 使用标签 ---- 前言 虽然 Android 提供很多小的可重用的交互组件,你仍然可能需要重用复杂一点的组件,这也许会用到 Layout。为了高效重用整个的 Layout,你可以使用和标签把其他 Layout 嵌入当前 Layout。 重用 Layout 非常强大,它让你可以创建复杂的可重用 Layout。比如
项勇
2018-06-19
4640
笔记48 | Android性能优化之按需加载视图(三)
地址 csdn: http://blog.csdn.net/xiangyong_1521/article/details/78727363 ---- 目录 前言 定义 ViewStub 载入 ViewStub Layout ---- 前言 有时你的 Layout 会用到不怎么重用的复杂视图。不管它是列表项 细节,进度显示器,或是撤销时的提示信息,你可以仅在需要的时候载入它们,提高 UI 渲染速度。 ---- 定义 ViewStub ViewStub 是一个轻量的视图,不需要大小信息,也不会在被加入的 Lay
项勇
2018-06-19
5620
笔记49 | Android通讯之Notification
地址 https://www.cnblogs.com/travellife/p/Android-Notification-xiang-jie.html http://www.jianshu.com/p/8f7b59a1c43d http://blog.csdn.net/xiangyong_1521/article/details/78783806 ---- 目录 Notification 概述 Notification 的基本操作 创建 Notification 给 Notification 设置 Act
项勇
2018-06-19
1.7K1
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档