自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dylan_null的专栏

大神是从菜鸟开始的……

  • 博客(62)
  • 问答 (1)
  • 收藏
  • 关注

原创 进程之间的通信AIDL

在Android应用程序中我们想从一个程序调用另一个程序中的方法获取数据或者使用另一个程序的功能,我们可以通过互发广播或者通过AIDL来实现,现在我们就来说说这个AIDL怎么实现。AIDL通信是通过远程连接Service实现两个进程之间的通信,首先我们在src中创建一个 .aidl系统会自动在gen中生成相关的文件, .aidl 文件中我们可以创建接口来实现我们需要的功能,代码如下:package

2017-02-21 14:55:58 598

原创 分组的listView滑动中固定组标题

在很多APK中都会看到listview中的分组可以悬浮在listview顶部,这样就可以很直观的看出子item属于哪个分类。下面我们就看下怎么实现:首先自定义一个listview实现悬浮功能:package com.example.demo;import android.content.Context;import android.database.DataSetObserver;

2017-01-20 16:50:56 793

原创 多线程点断下载

多线程断点继续下载,在很多互联网APP中经常使用。最近在项目中也用到了,总结下实现的方法。1,创建清单文件记录断点2,创建一个文件存储下载内容3,确定用几个线程下载,分出每个线程开始结束位置4,创建下载线程5,根据需求考虑使用哪种线程池6,通过接口监听线程开始,下载进度(用于记录断点),下载完成。下载错误等上面的就是多线程断点继续下载的流程。创建清单文件记录断点:这

2016-12-21 16:56:41 462

原创 自定义View通过进度来变化背景颜色

在很多应用中我们都会看到很多通过进度来变化背景的颜色,比如像清理手机垃圾的一些软件在扫描垃圾的同时缓慢的改变背景颜色,原理是这样的先获得开始和结束颜色的2进制值求出他们三颜色的差值再计算每变化一刻进度变化的颜色值.代码如下:

2016-06-30 10:29:39 867

原创 动态添加布局

一些需求中,像listview,但是在listview中又有分类,这样来如果用listview来展示布局就比较乱,这样只能在scrollview中动态添加布局,和适配器中的getview()原来一样.循环list实现动态添加布局.先来看看效果图:从图可以看出1下面有一些应用名字数据,2下面也有一些数据,这样用listView来展示也是可以的,不过这里用的动态加载布局.先看数据怎么处理:

2016-03-29 11:54:06 410

原创 Viewpager+底部菜单栏

在apk中有很多的布局都用了viewpager+底部菜单栏来设置的.比如QQ,微信等.最近在项目中的设置也是用viewpager+底部菜单栏,在网上看了下他们的demo没有我想要的那样效果代码还很复制,最后觉得还是自定义一个底部菜单栏比较简单.首先我们把底部的菜单栏有几个功能键在布局中设置出来代码如下:这里只写了3个功能可以自己去扩展<LinearLayout xmlns:android="h

2016-03-09 11:36:09 1393 1

原创 仿清理大师软件管理功能

有很多软件都有管理我们手机上的应用软件这个功能,比如QQ手机管家等.其主要的就是先查找应用apk,然后可以打开应用,卸载应用,和打开应用管理.由于查找apk有许多属性首先我们创建一个类来储存我们想要的属性.代码如下public class BaseInfo { public String filename = "";// 名称 public String fullName = "";//

2016-03-07 16:50:33 446

原创 优化自定义Adapter

在开发中我们经常会用到适配器,当一个项目中有很多地方使用了listView展示数据,而且数据展示都比较复杂的时候这时我们就需要写很多的适配器来展示数据,为了listview性能的提高减少了很多不必要的View的创建,我们会用ViewHolder来优化.由于适配器很多每个适配器中都要写一个ViewHolder类,这样就会显得有很多重复的代码.为了不要写很多的重复代码下面我们就自定义一个适配器im

2016-03-07 16:20:38 375

原创 自定义View实现换灯片

前面两篇文章都是关于幻灯片是怎么实现的,但是效果都不是非常理想,结合前两次的知识我自定义了一个View把功能封装了一下更方便代码的使用与修改.代码如下:import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.animation.

2016-01-14 11:30:20 368

原创 利用FrameLayout中图片的切换来实现换灯片

在上篇文章中利用ViewFlipper来实现幻灯片但是最大的问题就是图片多了容易报内存溢出,现在我们使用FrameLayout中图片的切换始终FrameLayout中只有一张图片,这样很好的解决了内存溢出问题.public class MainActivity extends Activity implements AnimatorListener { private static

2015-12-24 16:30:29 726

原创 ViewFlipper 实现幻灯片功能

ViewFlipper实现幻灯片非常容易,下面我们先来看看代码是怎么实现功能的.布局也很简单:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match

2015-12-17 10:33:10 639 1

原创 仿QQ消息栏中的消息和电话切换功能

首先我们来看看布局,代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertic

2015-12-14 18:19:03 2096

原创 筛选list集合中是否存在要比较的对象

开发中对数据处理的时候,为了不出现重复的数据很多情况需要我们对数据进行比较去重,这里我们来看看list中怎么来比较数据的.当list中的对象是String类型的比较起来是比较简单代码如下:private List list = new ArrayList(); //比较list中是否存在name一样数据 private void compareData(){ String na

2015-12-11 17:23:28 1559

原创 分享功能实现

人们对美好的事物都喜欢分享给大家,大多数的软件都有分享这个功能,比如分享图片,文字,音乐.和app下载链接等.下面来看看具体功能的实现:

2015-11-25 10:11:17 481

原创 控制音量的大小

最近在项目中遇到了,一个控制播放音量的大小,首先就想到就是调节系统媒体的音量,这样就能实现功能了,但是由于需求的更改,同时播放两种音乐,只控制其中一个音量的变化.通过查看资料发现MediaPlayer类中有个setVolume(curVolume, curVolume)方法能够控制所播放音乐的声音,使用这个方法时候需要注意的是,在初始化MediaPlayer后要调用mediaP

2015-11-04 17:52:16 2637

原创 获取媒体库中的音乐文件

最近做了个项目,在项目中需要获取本地的音乐文件.Android ContentResolver提供的查询接口,我们可以得到各种需要的信息。代码比简单Media._ID:歌曲编号Media.TITLE:歌曲标题Media.ALBUM:歌曲的专辑名Media.ARTIST:歌曲的歌手名Media.DATA:歌曲文件的路径Media.DURATION:歌曲的总播放时长

2015-11-04 17:02:10 864

原创 自定义滑条

我们有很多app中都用到了滑条,listView,和scrollView中都内置了滑条,当有些应用我们没用到listView 和scrollView,但是我们又要用到滑条功能,那只能自定义一个滑条来实现我们想要的功能,代码如下:import android.content.Context;import android.graphics.Canvas;import android.graphic

2015-10-16 17:56:58 530

原创 接口实例

作为一个菜鸟,以前很少利用接口来监听一些操作的完成,最近写了一个应用,在PopupWindow中展示了录音文件,由于播放机制单独写出来了,然后在播放录音的时候关闭PopupWindow,然后再点开PopupWindow,PopupWindow中的listView中item播放的状态不能改变.所有只能在播放机制中写个接口等音乐播放完了通知适配器改变.import android.media.Au

2015-10-16 17:24:59 727

原创 自定义钢琴键盘

模仿钢琴做了个应用,最难的点就是按键的展示.下面是我自定义的一个Viewimport android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Pai

2015-10-16 16:50:16 1335 1

原创 自定义计时器

为了显示时间的流逝,下面我们来自定义一个TextView实现计时功能.代码如下:import java.text.SimpleDateFormat;import java.util.Date;import android.content.Context;import android.os.Handler;import android.util.AttributeSet;import

2015-09-23 16:13:32 524

原创 sqlite数据库总结

在工作中,有很多时候会遇到一些数据的存储,我们就会考虑使用sqlite把数据存储起来,这样就很方便我们对数据进行操作.    首先我们先写个DBOpenHelper类继承SQLiteOpenHelper类,在onCreate方法中创建表.代码如下:import android.content.Context;import android.database.sqlite.SQLiteDat

2015-09-23 15:57:29 522

原创 错误日志

错误日志有利于测试时程序崩溃时,能通过错误日志直接找到问题所在,就不用麻烦的问题复现了.首先我们创建个错误捕捉类,代码如下:import java.lang.Thread.UncaughtExceptionHandler;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;

2015-08-05 09:59:49 454

原创 闪光灯

闪光灯主要是控制Camera 类的开关,来实现一闪一闪代码如下:import android.app.Activity;import android.hardware.Camera;import android.hardware.Camera.Parameters;import android.media.AudioManager;import android.media.Soun

2015-07-09 16:40:42 427

原创 刻度尺

如图所示图的上面就是一个可以旋转的刻度尺代码如下:import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.drawable.Drawable;im

2015-07-09 16:25:02 857

原创 实现背景的变色动画

随便点击View中的任何位置,都会启动一个动画效果成圆形慢慢扩充全屏,要实现这个效果首先我们先要自定义一个View,在View中监听到我们手指点击的位置,在根据这个位置启动一个动画,代码如下:import android.animation.ObjectAnimator;import android.annotation.SuppressLint;import android.cont

2015-07-09 15:56:26 1096

原创 获取和设置系统锁屏,屏幕亮度

一些应用中可用调节屏幕的亮,和锁屏时间.我们可通过调用系统的接口改变其中的值来获得我们想要的结果.锁屏代码如下:获取系统锁屏的时间screenOffTime = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);设置系统锁屏的时间/** * 设置系统锁屏时间

2015-07-09 15:25:27 1409

原创 ViewPager的视差背景效果

这很的app中都用到了ViewPager滑动背景也跟着变动,最近写了个解锁项目其中也需要实现这个效果自己也写了下,由于锁屏只有2个页面,所有ViewPager只2个页面的滑动,如果想要多个页面可以修改下代码就行了,代码有注释,修改也比较容易.代码如下:import android.annotation.SuppressLint;import android.content.Context;

2015-07-09 14:32:23 645

原创 不失真的图片展示

在项目中有很多地方需要展示图片,我们怎才能不失真的展示呢,如果图片宽大于屏幕,我们跟据宽的比例把图片缩放,高也同理.工具类代码如下://根据图片路径把图片不失真展示public static Bitmap displayFromFile(ImageInfo info) { Bitmap bm = null; InputStream is = null; try { is

2015-07-09 13:59:28 768

原创 获取屏幕宽高,和dp,px,sp的转化工具类

在项目适配中我们经常会用到dp装px来适应屏幕,还有就是在我们自定义View中的绘画也需要适配.代码如下:import java.lang.reflect.Field;import android.app.Activity;import android.app.ActivityManager;import android.content.Context;import androi

2015-07-09 10:57:15 782

原创 实现第三方锁屏

最近做了个锁屏项目, 网上有很多人说修改launcher的主页来屏蔽home键.这个我试了下,有个很大的弊端就是单你每次按home键的时候都会让你选择launcher主页.就算你选择把你的程序设为主页它还是会弹出选择框个人感觉非常烦.还有一种就是启动一个窗体使窗体满屏,在窗体中加载我们想要的布局.这样home键的事件就不会影响窗体从而实现锁屏.下面就来看下窗体类impo

2015-07-09 10:20:30 918

转载 监听系统时间的变化(一分钟变化一次)

转载地址:点击打开链接监听系统时间变化,很多时候我们可以利用它一分钟变化一次这个特性来实现我们一些功能。不如消息推送,后台Service更新WeatherWidget上的时间等。public class UpdateWidgetService extends Service { @Override public void onCreate() { super.onCreate()

2015-05-18 14:59:24 3217

原创 高效展示图片LruCache

在android中展示图片过多就会出现内存溢出,为了能够高效的展示出图片这里就用缓存来处理。首先我们写个缓存管理类ImageManagerimport java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;impo

2015-05-18 13:51:56 474

原创 生成json文件和解析json文件

在开发中很多时候会遇到json文件的解析和把数据库中的数据写成json文件的形式存储起来。代码如下://把数据库中的数据写成json格式的文件存储到SD卡中public static void backupsNote(SQLiteDatabase db) { JSONObject allData = new JSONObject(); // 建立最外面的JSONObject JS

2015-05-14 15:40:25 4023

原创 GridView异步展示图片实现单个item刷新

在很多手机软件中都存在一些图片的展示和自定义图片背景,下面就来实现下布局文件如下<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

2015-05-11 16:45:03 1306

原创 ImageLoader的使用

要使ImageLoader先要从网上下载imageloader的jar包导入项目中。然后重写application,并初始化配置public class GAPP extends Application { public static Context sContext; @Override public void onCreate() { // TODO Auto-genera

2015-05-11 14:05:50 572

原创 天气折线图

天气预报的App中都会存在气温变化的折线图,自定义了一个天气的折线图只要传入气温数组就能显示import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.At

2015-05-11 11:53:34 3159

原创 用代码设置控件的属性

在布局中用XML设置控件的大小,对于屏幕设配就不够灵活。所有在很多情况我们先获取屏幕的长宽然后再去设置控件的宽高,和上下边距。//设置左右边距动态添加到Group控件中LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( new ViewGroup.LayoutParams(LayoutPar

2015-05-11 11:30:31 539

原创 天气预报中下拉刷新和左右切换

实现下拉刷新和左右切换,思路比较简单就是在ViewPager中的每个页面中加个下拉刷新ScrollView。但是ViewPager和ScrollView就会有冲突。所有我们要自定义个ViewPager,import android.content.Context;import android.support.v4.view.ViewPager;import android.util.Att

2015-05-11 10:03:06 1202 1

原创 音乐的裁剪

首先为了方便音乐的截取,先把MediaPlayer封装,代码如下:import android.media.AudioManager;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.os.Handler;import and

2015-03-21 17:10:53 2497

原创 录音频率图

android 中提供了AudioRecord 和 MediaRecorder 录音的API。audioRecord      主要是实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理(如会说话的汤姆猫、语音)      优点:语音的实时处理,可以用代码实现各种音频的封装      缺点:输出是PCM语音数据,如果保存成音频文件,是不能够

2015-03-21 16:00:06 1620

空空如也

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

TA关注的人

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