4 ArcheH

尚未进行身份认证

一只正在学习安卓开发的小牙签~

等级
TA的排名 10w+

我为什么要做程序员

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

2019-10-14 18:06:40

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

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

2018-08-14 19:25:57

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

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

2018-06-13 19:52:14

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

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

2018-05-10 09:28:24

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

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

2018-04-16 19:04:19

堆排序(●'◡'●)

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

2018-04-15 22:52:50

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

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

2018-04-15 21:03:35

Android的消息机制

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

2018-04-06 23:42:13

Android中更新UI的几种方法

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

2018-04-03 22:54:10

线程的那些事情

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

2018-03-20 22:40:39

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

两个onCreate()方法

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

2017-11-28 09:13:17

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

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

2017-11-26 12:52:25

解决欢迎页白屏问题

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

2017-11-26 10:35:37

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

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

2017-11-13 22:33:39

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

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

2017-11-13 22:16:27

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

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

2017-11-13 22:01:36

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

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

2017-11-13 20:45:16

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

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

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。