自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sky_brian的专栏

记忆,使用,创造!

  • 博客(115)
  • 收藏
  • 关注

原创 Android RecyclerView注册每项的单击和长按事件监听

2.在Activity或者Fragment中设置监听。1.在Adapter中定义监听接口。

2024-05-14 14:28:44 206

原创 Android RadioButton,定制按钮样式

1.定义选中和非选中的样式选择器;2.在布局文件中设置background,取消原生的button。

2024-05-09 13:40:26 388

原创 Android studio 打开Device Mirroring方便调试

巧合下发现一个很好用的工具,在平时调试真机的时候在每次run app后都要低头找找手机看看效果。但是,用了AS上的Device Mirroring,你会发现根本不需要再低头点手机,调试方便一万倍啊。打开步骤为:Settings->Tools->Device Mirroring->Enable mirroring of physical Android devices.直接就可以在电脑桌面看到手机真机的镜像界面。

2024-05-08 10:10:50 413

原创 在Android APP中使用鸿蒙字体HarmonyOS-Sans

四、在项目的xml中通过android:fontFamily 引入。二、在Android Studio中新建font目录。三、将字体资源copy进font目录中。一、下载鸿蒙字体资源包。

2024-04-08 14:16:23 351 1

原创 Android Studio 打开Local Changes界面

在编写代码的过程中,经常要回顾本地仓库做了那些修改。打开Local Changes界面,能做到一目了然,不用再去使用git命令查看。把Use non-modal commit interface 选项 取消勾选 即可。

2024-04-03 17:38:30 570

原创 Android Studio 打开Logcat界面

在平时调试过程中查看调试日志需要打开 Android Studio Logcat界面。每次安装AS都会忘记,自己备注一下。

2024-04-03 17:31:57 486

原创 Android Drawable - Shape Drawable使用详解

用xml实现一些形状图形, 或则颜色渐变效果, 相比PNG图片, 占用空间更小;相比自定义View, 实现起来更加简单.

2024-04-02 20:44:41 500

原创 Android studio第一次构建项目Gradle失败的解决方法

这是因为AS默认去下载gradle的网站是在国外的,而且国内的网络经常是访问不到那个网站的,能访问到有时候就跟中大奖一样的幸运。把AS下载gradle的路径切换到腾讯gradle的国内镜像,这样就能正常的把新建的项目跑起来了。每次在AS上新创建一个项目,gradle要下载半天或者是直接下载半天后以失败告终,抓狂并崩溃。

2024-01-12 13:00:02 616

原创 荣耀Magic6及荣耀保时捷设计新品发布-亮点有哪些?

还有全球5G频段覆盖,环球行App和谷歌GMS都有的,经常需要跨境出差的用户有福。五种颜色可选,5款配色,各具特色:仿若祁连之巅,连绵雪峰的祁连雪;在低温、低电量综合续航能力,实现行业低温续航技术的新突破,让用户在恶劣环境、极限场景下,有更多的机会用手机与他人联络或处理紧急情况;年关将近时,荣耀Magic6终于在千呼万唤中拉开了发布会的帷幕,接下来我就带大家简单的看一下这次发布会都有那些亮点,还有荣耀Magic6/pro是否值得购买。眼动操控,实时扑捉你的视线,了解你的意图,无需您亲自动手,即可打开。

2024-01-12 12:59:19 495

原创 Windows环境搭建Android开发环境-Android Studio/Git/JDK

Windows系统下,配置android开发环境。

2023-03-03 17:26:37 743

原创 Framework 获取apk中的资源方式。

1.首先在自己的apk中有一份黑名单的定义<string-array name="black_list"> <item>com.google.android.apps.chrome.Main</item></string-array>2.在framework中定义方法获取里面的字串private String[] ge...

2019-04-26 16:10:11 472

原创 gradle clean aR报错 Gradle not install please use "sudo apt-get install gradle --fix-missing"

更新Android Studio后之前老的gradle用不了,需要更新gradle才能使用,因为直接利用AS更新会更新不下来,这边记录一下自己手动将本地的gradle更新到最新的操作步骤。1.下载最新的Gradle;https://gradle.org/releases/个人下载了目前最新的v5.2.1 complete版本。2.本地找个一般你不会手贱去删除的目录,解压use...

2019-02-25 15:55:14 389

原创 Android P监听WIFI 状态的变化

1.需求:需要监听WIFI的的连接状态,之前在网上搜的一些老资料发现不能实现,获取的状态不够准确。故自己写个备份。package com.example.user.networkchangelistener;import android.content.Context;import android.content.Intent;import android.net.Network...

2018-12-27 11:04:13 1928

原创 Android 延时执行某个任务,未执行之前可以移除

1.需求:当前开启搜索设备任务,因为没有搜索超时的回调方法导致手机当没有可用设备连接的时候会一直在搜索设备。所以这边做了一个搜索超时回调,当搜索超时停止搜索给用户一个信息反馈。2.代码实现在开始搜索的时候将消息放入消息队列,规定超时时间为一分钟public static final int SEARCH_DEVICE_TIME_OUT = 60*1000;private st...

2018-12-27 10:03:17 1811

原创 Android 将图片保存到本地,并实时更新图库。

1.需求:需要将远程传回的文件保存到本地,并实时更新图库 2.代码实现: private void saveScreenshotPictures(Bitmap mScreenshotbitmap){ fileName = "/storage/emulated/0/smarttv/screenshots/"+ generateF...

2018-12-27 09:44:47 2467 1

原创 Android ActivityLifecycleCallbacks 监听当前是否处于应用中的某些特定Activity界面

1.需求:有一个新功能需要做一个悬浮球,在功能页面的时候,悬浮球隐藏,不在则显示。因为这个功能代码是放在了SystemUI里面。不能直接判断当前的包名,只能判断当前的Activity是不是我们写的那几个。2.代码实现:判断当前Activity是不是我们写的那几个Activity,如果在不修改AMS的前提下可以通过注册一个ActivityLifecycleCallbacks 回调。注...

2018-12-26 17:58:07 1420

原创 Android 调用摄像头拍照或者相册图片设置头像Demo

该文章来源第一行代码+ Android里面有自己想要的东西就写出来了,大家要是有用得着的也比较方便直接复制代码。1.布局文件activity_main.xml&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"...

2018-06-08 09:54:32 1407 2

原创 Android 检测网络是否真的有效isNetworkConnected() 和ping()

1.isNetworkConnected() private boolean isNetworkConnected() { final ConnectivityManager connManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTI

2017-12-26 10:59:12 1813 1

原创 Android发送权限受限的广播,指定接受方!

本文实践代码是在Android7.1上的系统级源码上验证通过的。1.首先是发送方:在frameworks\base\core\res\AndroidManifest.xml中定义权限 <permission android:name="com.softmanager.permission.send.SOFTMANAGER" android:protectionLe

2017-10-11 15:11:14 5545

转载 Android应用在未启动的情况下无法收到指定广播的问题总结

原文链接:http://blog.csdn.net/a229413040/article/details/51791766一 、问题现象 最近项目上遇见这样一个需求,在程序安装之后,如果收到特定广播,需要程序做XXXX(具体的场景就不写了),我当时想到的方案是在AndroidMainfest文件里添加一个静态注册的广播,比如: receiver android:name=".rec

2017-10-10 15:20:30 712

原创 区分高通和MTK平台

public static boolean isHardWareVendorQualcomm() {String hardware = android.os.Build.HARDWARE;if (hardware.matches("qcom")) {Log.d(TAG, "Qualcomm platform");return true;}return false;}

2017-09-23 14:26:24 8684

原创 Android 判断当前手机中是否存在某一个action可以启动。

有的时候需要在某个程序里面由特定的条件跳转到设置或者其他的应用界面。我们一般采用的是根据某个特定的ACTIONT跳转到设置中去的。首先是判断我们的手机中是否存在我们要的这个actyion. private boolean isActionSupport(Context context,String action){ final Pack

2017-08-16 09:53:27 3245

原创 Android 读写文件转为String[]

1.写入文件中String filePath = Environment.getDataDirectory()+"/test"; private void writeData(){ String str = "com.android.mms"; try { File file = new File(file

2017-08-04 17:33:13 2388

原创 递归删除文件夹

删除一个文件夹。采取递归的形式调用的地方deleteDir(new File("/data/data/com.android.demo/databases"));private static boolean deleteDir(File dir) { if (!dir.exists()) { Log.i(TAG, "Not exists " + dir);

2017-07-31 16:35:26 265

原创 隐藏虚拟按键,但不进去全屏模式(沉浸模式)

新项目推出了有虚拟按键的机型。在某些界面上需要隐藏虚拟按键有几种1.Activity里面,在setContentView()方法之前使用一下方法可以达到隐去虚拟按键getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);2.在Dialog里面,在show(

2017-07-29 16:20:17 1426

转载 Android中的获取控件矩阵gethitrect方法

原文地址:http://souly.cn/%E6%8A%80%E6%9C%AF%E5%8D%9A%E6%96%87/2015/07/31/Android%E4%B8%AD%E7%9A%84%E8%8E%B7%E5%8F%96%E6%8E%A7%E4%BB%B6%E7%9F%A9%E9%98%B5getHitRect%E6%96%B9%E6%B3%95/getHitRect的作用

2017-07-28 12:00:20 1358

原创 Android添加自己的系统属性(反射调用SystemProperties)

我们可以通过调用SystemProperties.java类设置和获取系统的属性,但是这个类目前是hide的。也就是我们在开发的时候想直接调用时不可以的。除非你是在系统层上面的开发。这里通过Android的反射机制实现系统属性的设置和获取。1.setProp()private void setPropPlay(){ try { Class

2017-07-04 10:32:11 2953

原创 Android 反射机制备份

Class class = Class.forName("包名.类名"); Object object = class.newInstance(); Method setName = class.getDeclaredMethod("setName",String.class); setName.invoke(object,"eva");

2017-06-22 11:14:53 271

原创 利用Android源代码生成的签名文件给apk签名

系统开发工程师应该用得到。虽然我们是在平台上面干活,但是每次mm一下也是挺浪费时间调试的。这边的解决方法是获取到平台的签名文件之后直接运行脚步完成系统apk的替换1.获取平台签名build\target\product\security将这一整个目录拷贝出来“security”2.获取签名工具out\host\linux-x86\framework\sign

2017-06-20 14:21:25 3719

原创 Eclipse+JDK+SDK的Windows环境配置!

看来程序员做很多工作都是因为赖啊!换了两次工作,每都记不住怎么配置,厌倦了到网上找配置文章,所以这篇文章就诞生了。Eclipse+JDK这个配置完之后你就可以编写Java程序了。配置如下:下载平台Eclipse+JDKEclipse+SDK这个配置完就可以编写Android程序了。配置如下:一般下载下来的eclipse解压之后会有一个文件件名字-

2017-06-20 13:58:54 990

原创 Android7.1自动对时时序图

NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NTP:NTP(Network Time Protocol)提供准确时间,首先要有准确

2017-06-20 10:43:14 3305

原创 开启Android手机虚拟按键(导航栏)

这个主要给开发工程师用得,手机root之后直接设置系统属性。重启手机 虚拟按键就出来了。几个命令后手机就拥有虚拟按键了打开cmd依次输入上面的信息看看有无属性:qemu.hw.mainkeys这个属性值1为没有打开虚拟按键,0代表一打开虚拟按键。

2017-06-20 10:20:31 13686 1

转载 Linux系统中一些实用的快捷键

1.关于终端的快捷键:Tab:tab键是比较常用的一个快捷键,它的作用是补全文件名或者路径。举例来说,输入”cd /ho”在按一下tab键,终端里就会显示”cd /home”了。如果您的文件夹下,有两个名字开头部分相同的文件,比如有”picture001.bmp”和”picture002.bmp”两个文 件,输入”rm pic”以后按下tab键,就会补全成”rm picture”,您可以接

2017-06-08 14:54:25 617

原创 Debian系统中同步系统的时间

1.首先查看系统的时区设置的是否正确,中国的统一设置为东八区$date -RWed, 07 Jun 2017 14:13:20 +0800如果是时区还不正确的话参照下面这篇文章点击打开链接上面这边文章写得非常的详细,相信大家可以很快的把时区设置正确一般情况时区设对后电脑有网的话都会把时间同步过来,如果时间还不正确的话,那就按照下面的步骤设置时间1.查看当前系

2017-06-07 14:27:10 13995

原创 Debian系统装VirtualBox

1.首先上到VirtualBox官网上下载相对应的软件版本https://www.virtualbox.org/wiki/Linux_Downloads下载下来的文件名:virtualbox-5.1_5.1.20-114628~Debian~jessie_amd64.deb2.打开Terminal终端Ctrl+Alt+T运行VirtualBox$ sud

2017-06-06 15:55:59 621

原创 Android studio 中Button上的string 自动转为大写字串解决方法

在AS中去添加控件,会发现写在Button上的文字运行后自动切换为全是大写字母。解决方法有两种,1.如果控件不算多,那么可以在每个控件下面加上一个属性。android:textAllCaps="false"2.如果布局文件中控件相对比较多,特别在做项目的时候可以直接在主题的文件中设置该属性app\src\main\res\values\styles.xml

2017-05-02 15:39:38 2380

原创 如何生成.aar包和如何在项目中引入aar包?

aar包是Android Studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件1.先说怎么生成aar包:在AS中新建一个android项目,然后在默认生成的基础工程上新建一个Module。选中的Module为“Android Library

2017-04-20 16:24:21 32245 1

转载 Camera预览尺寸和获取屏幕宽高。

算法需要将预览大小与手机的分辨率挂钩,才能够在不同分辨率的手机上面预览都不变形。/** * 获取最佳预览大小 * @param parameters 相机参数 * @param screenResolution 屏幕宽高 * @return */private Point getBestCameraResolution(Camera.Parameters parameter

2017-04-14 14:43:34 6119

原创 使用MediaRecorder录制音频

手机一般用麦克风硬件录制音频,Android提供MediaRecorder类录制音频。1.创建MediaRecorder对象;2.调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音;3.调用MediaRecorder对象的setOutputFormat()设

2017-04-10 17:51:54 528

原创 使用SurfaceView和MediaPlayer播放视频

使用MediaPlayer播放视频的步骤:1.创建MediaPlayer对象,并让MediaPlayer加载指定的视频文件;2.在界面布局文件定义Surfaceview组件或者在程序中创建Surfaceview组件,并为Surfaceview的SurfaceHolder添加Callback监听器;3.调用MediaPlayer对象的setDisplay(SurfaceHolder sh

2017-04-10 16:09:24 706

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除