自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奇妙能力倩

最怕你一生碌碌无为 还安慰自己平凡可贵

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

原创 我为什么要做程序员

#关于初心因为高考的不如意,内心还是抱有想法想着复读,所以填志愿的时候并不上心。因为一句女孩子最好不要选这个专业,把志愿里的软件工程改成了信息管理与信息系统。我也曾经后悔过自己没有复读,后悔过自己改了专业,但是后来我想了想,其实我没什么好后悔的。因为我发现,无论是什么选择,我都仍然会选择这条路。我真的是一个挺幸运的人,如果那次班主任没有请学长过来宣传实验室,如果不是面试的时候学长给了两题很简单...

2019-10-14 19:28:59 669 8

原创 JNI学习———集合对象的互传

前言关于JNI/NDK的博客,开发指南等网上都有很多资源,而且这篇博客的主要内容是关于集合对象的互传,所以就不再介绍了。 附上一个开发指南开发指南链接。Java层传递集合对象到Native层在java层新建一个简单的类public class Test { private int a; static int num = 1; public T...

2018-08-14 19:25:57 808 1

原创 Android 画一个萌萌哒日历吧o(* ̄▽ ̄*)ブ

效果图前言分为三个部分: - 自定义星期条和textview - 自定义组合控件 - 业务处理和点击事件自定义控件星期条创建一个WeekView继承View,画出上下两条线以及周数即可。package com.example.administrator.myapplication;import android.content.Context;i...

2018-06-13 19:52:14 891 3

原创 深入理解java虚拟机(第二版)读书笔记(更新ing)

第二章 java内存区域与内存溢出异常2.2 运行时数据区域java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。2.2.1 程序计数器是一块较小的内存,可以看作是当前线程所执行的字节码的行号指示器。分支,循环,跳转,异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。字节码解释器工作就是通过改变这个计数器的值来选取下一条需要执行的字节码...

2018-05-10 09:28:24 875 4

原创 快速排序( ̄o ̄) . z Z

前言每件事的最后都会是好事 如果不是好事 说明还没到最后经典快排经典快排的思想其实就是:选择一个基准数,将大于这个基准数的数放在基准数的右边,小于等于的放在左边。然后再分别在这两个区域中选择基准数,再将这两个区域分别分为大于和小于等于两个区域,直到最后排好序。首先我们将数组中的第一个数设为temp,也就是我们的基准数。将数组最后一个数设为j。从j开始,一个个依次向前查找,找...

2018-04-16 19:04:19 3605 1

原创 堆排序(●'◡'●)

前言菜鸟漫漫成长路——堆排序。树满二叉树:所有节点的孩子都是全的,即最后一层都是叶节点。完全二叉树:叶节点只可以出现在最下层和次下层,且最下层的叶节点依次在左边。首先,我们了解一下怎么用一个数组来表示一个完全二叉树。 上面七个小格子代表的是一个长度为7的数组,如果将它写成二叉树的形式就是图上所示。可是我们要怎么建立起关系来呢?其实通过数组的下标就能非常简单的实现。当...

2018-04-15 22:52:50 302

原创 归并排序( •̀ ω •́ )y

前言菜鸟漫漫成长路第一部——归并排序。归并排序归并排序采用的是分治的思想。就是将我们的问题一步步分解,再一步步去合并。治( •̀ ω •́ )y首先我们假设有两个有序数组,那么我们怎么去合并他们呢? (⊙﹏⊙)首先我们可以假设两个指针,p1,p2以及一个长度为两个有序数组之和的新数组。然后让他们分别指在这两个数组的第一个。好啦,我们的准备工作就做好啦~接下来我们就去比较p...

2018-04-15 21:03:35 382 3

原创 Android的消息机制

前言Android的消息机制主要是指Handler的运行机制以及Handler所附带的MessageQueue和Looper的工作过程,这三者其实是一个整体。这三个对象都与其对应的线程对应,然后A线程通过调用B线程的handler发送消息,这个消息就会被加入线程B的MessageQueue中,线程B的Looper发现有消息到来,就会去处理他,通过dispatchMessage(),最后回调ha...

2018-04-06 23:42:13 383 2

原创 Android中更新UI的几种方法

前言众所周知,在安卓中,我们的主线程是不可以进行一些耗时的操作的。因为当主线程超过五秒无响应后,我们的程序就会ANR。但是,在日常开发中,我们又避免不了去做一些耗时的操作。比如说访问网络,文件操作等等。但我们的主线程因为上述原因,却不能轻松完成这些操作,那怎么办?这时候就需要开启新的子线程。有的时候,我们需要把这些操作的结果更新到我们的UI界面上。咦,可是安卓也是规定了的,非UI线程(主线程)...

2018-04-03 22:54:10 4781 3

原创 线程的那些事情

进程与线程定义进程:进程是系统进行资源分配和调度的一个独立单位。 线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。关系一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之...

2018-03-20 22:40:39 293 1

原创 Android点击图片显示大图,长按保存网络图片到本地相册,单击返回。(GestureDetector)(RxJava)(Easypermissions)(AlertView)

前言周末写一个看图片的模块时,想实现类似微信那种查看图片的效果。于是,就自己尝试了一下。先看一下效果: 界面编写:界面就非常简单,一个线性布局,将其属性设置为horizontal,然后将ImageView设置为在界面的中间显示。<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.andr

2017-11-28 17:21:10 3037 1

原创 两个onCreate()方法

问题前几天写一个Activity的时候,发现出来的是一个空界面,也不报错。这样心态就很崩嘛,后来一个个在onCreate方法中打印信息,发现onCreate方法根本就没有执行….然后发给学长看了下,原来是选错了onCreate()方法进行重载。 一般我们都是选择第一个,那天我选了第二个,所以问题就出现了。 那么,第二个到底是用来干嘛的呢?为了清楚自己犯了什么错误,在网上了解了一下

2017-11-28 09:13:17 1829

原创 Android 超简单音乐播放器(十三)监听网络状态的变化,设置移动网络是否可以播放。

前言音乐播放器的设置里当然缺少不了的就是是否允许在移动数据网络下播放嘛~那要怎么实现呢?我的思路如下:首先肯定是写设置的布局,通过一个按钮开关来供用户设置。网络的监听。保存和获取用户的设置状态。给Item设置点击事件 开关按钮导入依赖repositories { mavenCentral() jcenter()}...dependencies { compile '

2017-11-26 12:52:25 1316

原创 解决欢迎页白屏问题

前言之前录比赛视频的时候,发现应用点开后会白屏一段时间才会出现导航页,总觉得看着特别不舒服。虽然这是一个小问题,而且也特别容易解决。可是我觉得这也不应该被忽略~一般写法ublic class WelcomeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {

2017-11-26 10:35:37 1026

原创 Android 超简单音乐播放器(八)通知栏切换显示更新歌曲 服务和活动之间的相互通信~

通知栏切换显示更新歌曲首先!我们一个通知栏是不是需要一个外观呢?!! 第二行代码上说了一种方法设置 好像就是直接设置 图片 标题 副标题(就是默认格式吧?) 不需要写XML代码~ (我写的都是我自己的理解..可能不太正确) 但是我们的就不同了!我们的不能像默认格式那样对不对! 因为我们后面还需要添加按钮啥的!所以! 先写一个外观0 0.notification.xml<?xml ver

2017-11-13 22:33:39 3023 1

原创 Android 超简单音乐播放器(七)拖动歌曲进度条~音量控制~

音量控制通过接收广播进行改变设置全局变量 private AudioManager mAudioManager; private ContentObserver mVoiceObserver; private MyVolumeReceiver mVolumeReceiver;给滑动条添加改变监听sbVolume.setOnSeekBarChangeListener(new See

2017-11-13 22:16:27 4881 1

原创 Android 超简单音乐播放器(六)播放暂停音乐,更换播放模式,上下歌曲切换(service)

创建service 当启动一个Service的时候,会调用该Service中的onCreate()和onStartCommand()方法。 当再次start Service,这次只有onStartCommand()方法执行了,onCreate()方法并没有执行,为什么会这样呢? 这是由于onCreate()方法只会在Service第一次被创建的时候调用,如果当前Service已经被创

2017-11-13 22:01:36 6953 1

原创 Android 超简单音乐播放器(五) 发送歌曲信息到详情界面

修改MusicAdapter代码我们要在MusicActivity获得一些点击的歌曲的数据 而且我们是点击之后就跳转界面进行播放 所以 我们就要给每一个item添加点击事件 (⊙﹏⊙) 打开MusicAdapter 因为打包我们需要一个context 所以这时候我们的MusicAdapter就还需要获得一个context! 所以修改一下把private Context context;

2017-11-13 20:45:16 840

原创 Android 超简单音乐播放器(四)广告栏的实现

添加依赖dependencies { compile 'com.youth.banner:banner:1.4.10' } 添加布局 <com.youth.banner.Banner android:id="@+id/banner" android:layout_width="match_parent"

2017-11-13 20:40:18 783

原创 Android 超简单音乐播放器(三)根据歌曲名或者歌手搜索本地音乐(EditText监听)

在MusicUtil中添加一个SearchSong的方法public List<Song> SearchSong(String name) { List<Song> list2 = new ArrayList<>(); for (Song song : list) { if (song.getSong().toString().contains(name) || so

2017-11-13 20:30:02 2537

原创 Android 超简单音乐播放器(二)添加本地音乐 (RecyclerView)(Cursor)

扫描本地音乐 关于 Cursor Cursor 是每行的集合。 使用 moveToFirst() 定位第一行。 你必须知道每一列的名称。 你必须知道每一列的数据类型。 Cursor 是一个随机的数据源。 所有的数据都是通过下标取得。 关于 Cursor 的重要方法: close() 关闭游标,释放资源 copyStringToBuffer(int co

2017-11-13 20:23:15 3633 1

原创 Android 超简单音乐播放器(一)主界面嘛(fragment+ViewPage)(View Pager滑动)( 标题栏的隐藏和状态栏的改变)

主界面开发是由fragment+ViewPager组成。 分为网络歌曲和本地歌曲。 首先,将main_activity.xml写好。添加Viewpager<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:

2017-11-13 19:51:54 3363 16

原创 Android 超简单音乐播放器(十二)换个歌词和删除歌曲

首先,我们来说说PopupMenu在res中新建一个文件夹menu为PopupMenu写一个资源文件 在MusicActivity中添加一个图片<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://sc

2017-10-27 18:37:49 1866 1

原创 Android 超简单音乐播放器(十一)将获取的歌词存入数据库

关于数据库Android自带了一种轻量级数据库SQLite.敲贴心啊有木有~ 用起来也很简单。首先,创建数据库嘛新建一个LrcData 这里要继承SQLiteOpenHelper 并重写两个方法。OnCreate 在创建时会调用,所以我们建表的逻辑就写在这里面。onUpgrade则是更新数据库时调用。 public void onCreate(SQLiteDatabase db)

2017-10-27 17:28:23 1852

原创 Android 超简单音乐播放器(十)歌词的实现

关于歌词有下面这些:歌词的获取歌词的解析自定义View歌词的获取歌词的获取分为两种,一种是从本地一种是通过网络上提供的API获取。我选择的是歌词迷的API http://api.geci.me/en/latest/ 说实话,这个API并不是很好用,因为很多歌它都无法提供歌词。但是我懒得去找其他的啦,所以就用它好啦。首先,我们要(-。-;)不知道这里怎么说,就说通过API找到我们需要的数

2017-10-27 14:30:20 7786 3

转载 (line = in.readLine() )!= null 注意事项

(line = in.readLine() )!= null那么我们用while((str = reader.readLine()) != null)进行读取呢,readLine是一个阻塞的方法,只要没有断开连接,就会一直等待,直到有东西返回,那么什么时候返回空呢,只有读到数据流最末尾,才返回null ,举例如,一般只有在读到文件末尾时才会是空,至于读取服务器端的数据,一般不会是空,那么有时候我

2017-10-19 22:04:41 11971 1

原创 Android 超简单音乐播放器(九)搜索网络歌曲,获得热门榜单(GridView)(易源api的使用)(JSON的解析)(刷新)

首先感谢易源API!提供了QQ音乐的接口~咳咳...明天要写文档..看来..哎..我的歌词要等假期了?回归正题~首先上一下我的界面啊实现啊啥的~点击榜单会出现对应的歌曲~可以搜索网络歌曲~可以刷新~先写榜单的实现~首先是net这个Fragment的布局代码~xml version="1.0" encoding="u

2017-09-25 22:41:10 3831 7

原创 关于Fragment加入图片资源2.0

学习过程中总是会发现很多小问题的~然后在加载某些Fragment后,发现居然会崩╮(╯▽╰)╭然后把图片资源去掉就可以运行exm......然后我就百度啊各种啊发现有两种解决方法①第一种就是用PNG格式的图片!②在其他分辨率的文件里面也添加一遍使用的图片资源~喵呜~~~主要是屏幕适配问题啦~

2017-09-19 13:51:37 1328 1

原创 (一个坑)关于ViewPager滑动监听的一只

在我写MusicAdapter的时候因为我用的是Vivo XM调试的 安卓系统为5.0.2然后我就曾经想要给里面的ViewPager加滑动监听 反正我也是乱入..茫茫中我选择了setOnScrollChangeListener(this);这一个方法..我是没想到它居然只兼容6.0及以上的~所以我一点进这个界面 程序就会直接奔溃后来经过罗杰学长的各种排查才发现这个!!

2017-09-18 10:46:52 567

转载 多重样式优先级深入概念

优先级是浏览器是通过判断哪些属性值与元素最相关以决定并应用到该元素上的。优先级仅由选择器组成的匹配规则决定的。优先级就是分配给指定的CSS声明的一个权重,它由匹配的选择器中的每一种选择器类型的数值决定。优先级顺序下列是一份优先级逐级增加的选择器列表:通用选择器(*)元素(类型)选择器类选择器属性选择器伪类ID 选择器内联样式!important 规则例外

2017-07-08 16:53:07 1140

转载 HTML 速查列表

HTML 速查列表HTML 基本文档!DOCTYPEhtml>html>head>title>文档标题title>head>body>可见文本...body>html>基本标签(Basic Tags)h1>最大的标题h1>h2> . . . h2>h3> . . . h3>h4> . . . h4>h5

2017-07-07 16:58:23 298

转载 常用UML图

常用UML图——1.用例图(The Use Case Diagram)——用例图能够以可视化的方式表达系统如何满足所收集的业务规则,以及特定的用户需求等信心;2.序列图(The Sequence Diagram)——序列图用于按照交互发生的一系列顺序,显示对象之间的这些交互;3.类图(The Class Diagram)——UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构

2016-04-21 21:15:41 308

转载 Java中的Object2

2016-04-14 21:48:00 282

空空如也

空空如也

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

TA关注的人

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