自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android笔记树

更新至笔记69 2018-05-02目录入门基础 1.1 四大组建 四大组件之Activity 四大组件之Service 四大组件之BroadcastReceive 四大组件之ContentProvider 笔记38 | Android四大组件之Activity的四种LauncherMode详解 1.2 Adapter 笔记41 | Android加载...

2017-11-30 14:12:28 470

原创 Ubuntu下安装部署Gerrit(getrrit+nginx)

1.简单介绍1.之前git add --> git commit --> git push如图中橙色的线2.gerrit就是上图中的那只鸟,普通成员的代码是被先push到gerrit服务器上,然后由代码审核人员,就是左上角的integrator在web页面进行代码的审核(review),当代码审核通过(approve)之后,这次代码才会被提交(submit)到代码仓库(repo)...

2019-07-19 21:01:34 872

原创 笔记86 | 视频在ACC起来后会跳进度问题分析

Author:li_xingwang通过打印分析得到如下结论:1.断ACC之后保存有进度到 private void save() { if(isPlaying()) mCurrentPos = mVideoView.getCurrentPosition(); try { BufferedWriter bw = null; ...

2019-02-15 10:05:14 433 1

原创 笔记83 | wifi解析使用

Author:Even1. WifiManagerWifiManager是管理android WIFI的连接服务,它可以配置WIFI网络连接,管理当前wifi连接,扫描接入点,监视wifi连接状态;使用必需加权限:     <uses-permission android:name="android.permission.CH...

2018-11-12 18:30:25 223

原创 笔记82 | Launcher常用修改(重修版)

1.替换APP图标2.自定义APP/小部件栏3.直接控制APP图标大小4.当需要在APP列表界面给APP图标加个外框时,此属性用于调节内边距5.用于APP列表界面APP排列的行数与列数6.调节APP与名称的距离7.主界面可以滑动的页面8.主界面快捷图标的排列行数与列数9.控制APP所在布局所占宽度和高度10.主界面切换条10.1全界面1...

2018-11-09 16:42:49 309

原创 笔记81 | Android项目使用第三方so文件不被删除的办法

在项目EnvoMono中,需要用到很多android7.1系统自带的so包这些so包都需要在程序在运行时打包到系统的system/lib目录下直接把so放在libs目录下每次clean程序都会被删除,这个时候需要在项目的jni目录下新建一个lib目录然后将需要打包的so包放在该目录下然后在Android.mk中添加对应关联的代码然后build程序的时候就会看到对应的so关联打包出...

2018-10-13 16:07:48 464

原创 笔记80 | Eclipse环境下利用NDK编译SO文件

准备1.Eclipse工作环境2.NDK下载地址 ,选择一个版本对应下载之后解压,注意路径不要有中文,请直接使用版本【android-ndk-r14b】,不要问为什么,都是泪;然后再环境变量的path中添加路径;如图接着cmd中输入ndk-build,如果跟我显示一样,就说明ndk环境可以使用了接着在eclipse中添加路径:代码我这里使用ndk自带的一个例子【he...

2018-09-28 20:13:56 528

原创 笔记78 | 解读一个闹钟代码

效果图: 最近因工作需要做一个定时器,一看需求,深思极恐: 1.定时发送开关指令; 2.可设置周期循环; 这不就是一个标准的闹钟吗? 哎呀,烧脑~ 还好有GITHUB, 拥有git爸,走到哪里都不怕! 下面看代码,看看这个闹钟是怎么实现的! 编号1:是处理弹出提示窗口的一个Activity; 编号2:Main类,设置时间周期等操作 编号3:核心类,负责计算周期时间...

2018-07-21 15:54:25 308

原创 笔记 77 | Launcher表盘时间部件工具类(时,分,秒)

Author: xy目前公司常用的制作时间表盘的两个方法:一,<AnalogClock        android:layout_width="wrap_content"        android

2018-07-16 09:27:24 162

原创 笔记76 | Java中break、continue与return的区别

1. breakbreak语句的使用场合主要是switch语句和循环结构。在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switc...

2018-05-25 14:34:58 141

原创 笔记75 | Java字节、十进制、十六进制、字符串之间的相互转换

/* * 字节转10进制 */ public static int byte2Int(byte b){ int r = (int)b; return r; } /* * 10进制转字节 */ public static byte int2Byte(int i){ byte r ...

2018-05-24 16:58:46 432

原创 笔记74 | 笔记74 | 学习掌握ConstraintLayout的基本属性

最近一个礼拜业余时间都在搞我的淘宝店铺,有兴趣的都可搜一下:吉安车品,主营汽车脚垫/后备箱垫/座垫,还在打基础阶段,不急,慢慢搞,当业余爱好去买卖; 吃饭手艺功夫自然不能丢,为下个月的变数准备,今天开始复习/学习一些基础内容,今天的笔记是ConstraintLayout的几个属性。1、Circular positioning(圆形定位)标题后面的中文是自己翻译的,可能不是很准...

2018-05-23 15:39:58 350

原创 笔记72 | 将姓放在名的后面,排序按姓氏排列的修改笔记

需求更改之前 更改之后 只看“ A”皇阿玛 “,在我的电话簿中A”是姓,皇阿玛是名,需求是将名显示在前,姓在后,排列顺序要按姓来排列。 之前是直接修改switch_name_x的返回字符return record.get(i).getGivenName()+" "+ record.get(i).getFamilyName();强制完成姓名调换,后来测试组反馈说排序没有按姓氏排,而...

2018-05-07 17:53:04 209

原创 笔记71 | Intent分享内容(文本,图片,视频)

在构建一个intent时,必须指定这个intent需要触发的actions。Android定义了一些actions,比如ACTION_SEND,该action表明该intent用于从一个activity发送数据到另外一个activity的,甚至可以是跨进程之间的数据发送。为了发送数据到另外一个activity,我们只需要指定数据与数据的类型,系统会自动识别出能够兼容接受的这些数据的activi...

2018-05-05 10:08:09 420

原创 笔记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 complian...

2018-04-27 15:21:24 1157 1

原创 笔记68 | 切换fragmengt的replace和add方法笔记

replace private void LoandFragment(Fragment fragment){ FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id...

2018-04-14 15:13:25 248

原创 笔记67 | 记录从android stuido传代码到github的学习过程

前言github是全球最好的一个管理代码的网站,用于迭代更新项目代码,本片记录学习从android stuido传上传代码到github过程;准备需要在你的电脑上安装git版本控制系统。如Git GUI;在github网站上注册一个账号。步骤将Android Studio与git关联 如图在setting——> Version Control ——&g...

2018-04-11 23:35:22 140

原创 笔记66 | eclipse/android studio/ADB查看Android应用内存使用情况

Eclipse首先,我们在DDMS的界面的设备选项中找到手机设备,可以看到它里面正在运行的进程:点一下“Update Heap”图标,然后在Heap选项中查看我们标注的进程的内存使用情况:点一下”Cause GC”, 相当于向虚拟机执行一次GC请求,然后无需再按就可以动态的查看该应用程序的内存使用情况。必须是root后的手机,或者使用模拟器:    &n...

2018-03-15 16:13:18 219

原创 笔记63 | 个人项目“易来”开发记录《二》处理Fragment中返回的问题

需求描述问题:一个WebView放在Fragment中,我们都知道webView有一个goBack()方法,可以通过该方法对网页进行后退处理,由于Fragment本身并没有监听onBackPressed的方法,又处于一个Activity中,Activity除又对后退进行了3秒确定退出处理,所有导致 1. Fragment中的WebView无法进行goBack();需求:需

2018-01-16 17:21:53 186

原创 笔记62 | 个人项目“易来”开发记录《一》实现号码测凶吉功能模块

前言 快过春节,手里的项目都已经完结,空出大量的咸鱼时间,本着生命不止,折腾不息的学习热情,想做一个练手的东西,最好是能联网玩玩!于是“易来”就这么来了!准备工作聚合数据 这个网站是一个提供API数据接口的网站,有付费和免费的申请,免费的只能申请一个接口,我登录我2年前申请的账号,发现已经申请了QQ号码测凶吉,回想应该是当时申请了,不知道怎么使用,就一直放在这。Fa

2018-01-16 14:48:20 353

原创 笔记61 | Android兼容音频输出设备的学习

兼容音频输出设备当用户想要通过Android设备欣赏音乐的时候,他可以有多种选择,大多数设备拥有内置的扬声器,有线耳机,也有其它很多设备支持蓝牙连接,有些甚至还支持A2DP蓝牙音频传输模型协定。(译注:A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定! A2DP是能够采用耳机内的芯片来堆栈数据,达到声音的高清晰度。有A2DP的耳机就是蓝牙立体

2017-12-28 10:00:16 319

原创 笔记60 | Android控制音量与音频播放的学习

控制音量与音频播放 编写:kesenhoo良好的用户体验应该是可预期且可控的。如果我们的应用可以播放音频,那么显然我们需要做到能够通过硬件按钮,软件按钮,蓝牙耳麦等来控制音量。 同样地,我们需要能够对应用的音频流进行播放(Play),停止(Stop),暂停(Pause),跳过(Skip),以及回放(Previous)等动作,并且并确保其正确性。鉴别使用的是哪个音频流(Identify Whic

2017-12-28 09:51:20 640

原创 笔记59 | Android管理音频焦点的学习

管理音频焦点由于可能会有多个应用可以播放音频,所以我们应当考虑一下他们应该如何交互。为了防止多个音乐播放应用同时播放音频,Android使用音频焦点(Audio Focus)来控制音频的播放——即只有获取到音频焦点的应用才能够播放音频。在我们的应用开始播放音频之前,它需要先请求音频焦点,然后再获取到音频焦点。另外,它还需要知道如何监听失去音频焦点的事件并对此做出合适的响应。请求获取音频焦点(Requ

2017-12-28 09:45:18 276

原创 笔记58 | Android闹钟的简单实现

调度重复的闹钟闹钟(基于AlarmManager类)给予你一种在应用使用期之外执行与时间相关的操作的方法。你可以使用闹钟初始化一个长时间的操作,例如每天开启一次后台服务,下载当日的天气预报。闹钟具有如下特性:允许你通过预设时间或者设定某个时间间隔,来触发Intent;你可以将它与BroadcastReceiver相结合,来启动服务并执行其他操作;可在应用范围之外执行,所以你可以在你的应用没有运

2017-12-27 08:28:27 641 1

原创 笔记57 | 保持设备唤醒

保持设备唤醒为了避免电量过度消耗,Android设备会在被闲置之后迅速进入睡眠状态。然而有时候应用会需要唤醒屏幕或者是唤醒CPU并且保持它们的唤醒状态,直至一些任务被完成。想要做到这一点,所采取的方法依赖于应用的具体需求。但是通常来说,我们应该使用最轻量级的方法,减小其对系统资源的影响。在接下来的部分中,我们将会描述在设备默认的睡眠行为与应用的需求不相符合的情况下,我们应该如何进行对应的处理。保持屏

2017-12-26 09:59:39 240

原创 笔记56 | 管理网络的使用

检查设备的网络连接设备可以有许多种网络连接。这节课主要关注使用 Wi-Fi 或移动网络连接的情况。关于所有可能的网络连接类型,请看ConnectivityManager。通常 Wi-Fi 是比较快的。移动数据通常都是需要按流量计费,会比较贵。通常我们会选择让 app 在连接到 WiFi 时去获取大量的数据。在执行网络操作之前,检查设备当前连接的网络连接信息是个好习惯。这样可以防止我们的程序在无意间连

2017-12-21 15:34:34 218

原创 笔记55 | 处理CalledFromWrongThreadException错误问题

报错说明直接在子线程更新UI会报CalledFromWrongThreadException错,错误如下:12-20 15:39:04.730: E/AndroidRuntime(2763): FATAL EXCEPTION: Timer-012-20 15:39:04.730: E/AndroidRuntime(2763): android.view.ViewRootImpl$C

2017-12-21 10:06:04 539

原创 笔记54 | 管理系统UI(二)

全屏沉浸式应用这节课将教您选择一种沉浸方式使用非粘性沉浸模式使用粘性沉浸模式Adnroid 4.4(API level 19)中引入为setSystemUiVisibility()引入了一个新标签SYSTEM_UI_FLAG_IMMERSIVE,它可以让应用进入真正的全屏模式。当这个标签与SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_FULLSC

2017-12-20 08:55:08 199

原创 笔记53 | 管理系统UI(一)

淡化状态栏和系统栏如果要淡化状态和通知栏,在版本为4.0以上的Android系统上,你可以像如下使用SYSTEM_UI_FLAG_LOW_PROFILE这个标签。// This example uses decor view, but you can use any visible view.View decorView = getActivity().getWindow().getDecorVi

2017-12-19 17:33:46 218

原创 笔记52 | 优化一段苏基平大神的代码记录

地址目录苏大神的原代码现代码苏大神的原代码 private void leaveCarApp(List<String> packageNames){ //把需要保留的APP包名传进来 for (int i = 0; i < carPackage.length; i++) { //遍历所有需要匹配的APP名称 int count = 0;

2017-12-15 16:40:02 208

原创 笔记51 | Android自定义View(二)

地址自定义ViewGroup自定义View的过程很简单,就那几步,可自定义ViewGroup可就没那么简单啦~,因为它不仅要管好自己的,还要兼顾它的子View。我们都知道ViewGroup是个View容器,它装纳child View并且负责把child View放入指定的位置。我们假象一下,如果是让你负责设计ViewGroup,你会怎么去设计呢?首先,我们得知道各个子View的大小吧,只有先知道子

2017-12-14 16:27:38 288

原创 笔记50 | Android自定义View(一)

为了扫除学习中的盲点,尽可能多的覆盖Android知识的边边角角,决定对自定义View做一个稍微全面一点的使用方法总结地址http://www.jianshu.com/p/c84693096e41目录自定义VIEWonMeasure()动手重写onMeasure函数onDraw()自定义View首先我们要明白,为什么要自定义View?主要是Android系统内置的View无法实现我们的需

2017-12-13 17:29:54 322

原创 笔记49 | Android通讯之Notification[转]

地址https://www.cnblogs.com/travellife/p/Android-Notification-xiang-jie.html http://www.jianshu.com/p/8f7b59a1c43d目录Notification 概述Notification 的基本操作创建 Notification给 Notification 设置 Action更新 Notif

2017-12-12 17:07:01 1416

原创 笔记48 | Android性能优化之按需加载视图(三)

地址笔记48 | Android性能优化之按需加载视图目录前言定义 ViewStub载入 ViewStub Layout前言有时你的 Layout 会用到不怎么重用的复杂视图。不管它是列表项 细节,进度显示器,或是撤销时的提示信息,你可以仅在需要的时候载入它们,提高 UI 渲染速度。定义 ViewStubViewStub是一个轻量的视图,不需要大小信息,也不会在被加入的 Layout 中绘制

2017-12-06 09:49:49 176

原创 笔记47 | Android性能优化之使用include标签重用layouts(二)

地址目录前言创建可重用 Layout使用标签使用标签前言虽然 Android 提供很多小的可重用的交互组件,你仍然可能需要重用复杂一点的组件,这也许会用到 Layout。为了高效重用整个的 Layout,你可以使用 和 标签把其他 Layout 嵌入当前 Layout。重用 Layout 非常强大,它让你可以创建复杂的可重用 Layout。比如,一个 yes/no 按钮面板,或者带有文

2017-12-06 09:37:41 199

原创 笔记46 | Android性能优化之优化layout的层级(一)

地址笔记46 | Android性能优化之优化layout的层级(一)目录前言检查 Layout修正 Layout使用 Lint前言一个常见的误区是,用最基础的 Layout 结构可以提高 Layout 的 性能。然而,因为程序的每个组件和 Layout 都需要经过初始化、布局和绘制的过程,如果布局嵌套导致层级过深,上面的初始化,布局和绘制操作就更加耗时。例如,使用嵌套的 LinearLa

2017-12-06 09:14:10 533

原创 笔记45 | 代码性能优化建议[转]

地址笔记45 | 代码性能优化建议[转]目录前言避免创建不必要的对象选择Static而不是Virtual常量声明为Static Final避免内部的Getters/Setters使用增强的For循环使用包级访问而不是内部类的私有访问避免使用float类型使用库函数谨慎使用native函数关于性能的误区前言通常来说,高效的代码需要满足下面两个原则: a. 不要做冗余的工作

2017-12-05 16:58:55 237

原创 笔记44 | 数据存储之File存储最简单地实现

地址http://www.jianshu.com/p/736dd7b63ece目录概念存储读取概念 文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动的保存到文件当中的。它比较适合用于存储一些简单的文本数据或二进制数据。存储Context 类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件中

2017-11-29 15:34:56 281

原创 笔记43 | Android加载器Adapter的深入学习篇(二)

地址目录功能需求一步一步实现主要代码功能介绍 - 绿色区域是选项内容信息 - 蓝色区域是控制和状态信息区域需求: - 每次进入程序界面,需要将蓝色区域的状态信息更新到实时状态 - 点击< >按钮实现控制 一步一步实现新建两个list用于存储选项内容和状态信息 private List<Integer> lists = new ArrayList<Integer>();

2017-11-28 16:53:16 242

原创 笔记42 | Android加载器Adapter的深入学习篇

地址http://www.jianshu.com/p/7bfd1eeea5cb目录以ListView为例的工作原理ViewHolder的作用getItemViewType和getViewTypeCount实现实现步骤 ListView针对List中每个item, adapter都会调用一个getView的方法获得布局视图我们一般会Inflate一个新的View,填充数据并返回显示如果

2017-11-28 11:57:30 212

一个转盘效果的UI

圆盘转动UI,工具类,可以直接放到项目里使用拿来使用,

2017-10-27

中间打开界面动画的工具类

一个打开界面的过渡动画,从水平中线将旧界面一分为二,风向两边开打新的界面的动画效果

2017-10-26

根据Text的长度自动调节Text大小的类

有的时候我们能需要在一个固定的区间内显示一段自动更新的字符,根据长度的变化实时更新字符的大小。

2017-10-26

空空如也

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

TA关注的人

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