Android 工作总结
Dylanex
这个作者很懒,什么都没留下…
展开
-
进程之间的通信AIDL
在Android应用程序中我们想从一个程序调用另一个程序中的方法获取数据或者使用另一个程序的功能,我们可以通过互发广播或者通过AIDL来实现,现在我们就来说说这个AIDL怎么实现。AIDL通信是通过远程连接Service实现两个进程之间的通信,首先我们在src中创建一个 .aidl系统会自动在gen中生成相关的文件, .aidl 文件中我们可以创建接口来实现我们需要的功能,代码如下:package原创 2017-02-21 14:55:58 · 619 阅读 · 0 评论 -
控制音量的大小
最近在项目中遇到了,一个控制播放音量的大小,首先就想到就是调节系统媒体的音量,这样就能实现功能了,但是由于需求的更改,同时播放两种音乐,只控制其中一个音量的变化.通过查看资料发现MediaPlayer类中有个setVolume(curVolume, curVolume)方法能够控制所播放音乐的声音,使用这个方法时候需要注意的是,在初始化MediaPlayer后要调用mediaP原创 2015-11-04 17:52:16 · 2686 阅读 · 0 评论 -
获取媒体库中的音乐文件
最近做了个项目,在项目中需要获取本地的音乐文件.Android ContentResolver提供的查询接口,我们可以得到各种需要的信息。代码比简单Media._ID:歌曲编号Media.TITLE:歌曲标题Media.ALBUM:歌曲的专辑名Media.ARTIST:歌曲的歌手名Media.DATA:歌曲文件的路径Media.DURATION:歌曲的总播放时长原创 2015-11-04 17:02:10 · 894 阅读 · 0 评论 -
Dialog 常用的用户交互
Dialog 常用的用户交互Dialog 是提示的窗体,默认为当我们点击空白处或者点返回键时Dialog 会消失。如果想要Dialog点击空白区不消失,按返回键时消失。代码如下:private void showDialog(){ AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.se原创 2015-02-06 15:27:39 · 625 阅读 · 0 评论 -
接口实例
作为一个菜鸟,以前很少利用接口来监听一些操作的完成,最近写了一个应用,在PopupWindow中展示了录音文件,由于播放机制单独写出来了,然后在播放录音的时候关闭PopupWindow,然后再点开PopupWindow,PopupWindow中的listView中item播放的状态不能改变.所有只能在播放机制中写个接口等音乐播放完了通知适配器改变.import android.media.Au原创 2015-10-16 17:24:59 · 743 阅读 · 0 评论 -
自定义钢琴键盘
模仿钢琴做了个应用,最难的点就是按键的展示.下面是我自定义的一个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 · 1404 阅读 · 1 评论 -
自定义滑条
我们有很多app中都用到了滑条,listView,和scrollView中都内置了滑条,当有些应用我们没用到listView 和scrollView,但是我们又要用到滑条功能,那只能自定义一个滑条来实现我们想要的功能,代码如下:import android.content.Context;import android.graphics.Canvas;import android.graphic原创 2015-10-16 17:56:58 · 551 阅读 · 0 评论 -
错误日志
错误日志有利于测试时程序崩溃时,能通过错误日志直接找到问题所在,就不用麻烦的问题复现了.首先我们创建个错误捕捉类,代码如下:import java.lang.Thread.UncaughtExceptionHandler;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;原创 2015-08-05 09:59:49 · 471 阅读 · 0 评论 -
获取和设置系统锁屏,屏幕亮度
一些应用中可用调节屏幕的亮,和锁屏时间.我们可通过调用系统的接口改变其中的值来获得我们想要的结果.锁屏代码如下:获取系统锁屏的时间screenOffTime = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);设置系统锁屏的时间/** * 设置系统锁屏时间原创 2015-07-09 15:25:27 · 1482 阅读 · 0 评论 -
ViewPager的视差背景效果
这很的app中都用到了ViewPager滑动背景也跟着变动,最近写了个解锁项目其中也需要实现这个效果自己也写了下,由于锁屏只有2个页面,所有ViewPager只2个页面的滑动,如果想要多个页面可以修改下代码就行了,代码有注释,修改也比较容易.代码如下:import android.annotation.SuppressLint;import android.content.Context;原创 2015-07-09 14:32:23 · 660 阅读 · 0 评论 -
获取屏幕宽高,和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 · 805 阅读 · 0 评论 -
闪光灯
闪光灯主要是控制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 · 452 阅读 · 0 评论 -
实现背景的变色动画
随便点击View中的任何位置,都会启动一个动画效果成圆形慢慢扩充全屏,要实现这个效果首先我们先要自定义一个View,在View中监听到我们手指点击的位置,在根据这个位置启动一个动画,代码如下:import android.animation.ObjectAnimator;import android.annotation.SuppressLint;import android.cont原创 2015-07-09 15:56:26 · 1121 阅读 · 0 评论 -
自定义计时器
为了显示时间的流逝,下面我们来自定义一个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 · 562 阅读 · 0 评论 -
sqlite数据库总结
在工作中,有很多时候会遇到一些数据的存储,我们就会考虑使用sqlite把数据存储起来,这样就很方便我们对数据进行操作. 首先我们先写个DBOpenHelper类继承SQLiteOpenHelper类,在onCreate方法中创建表.代码如下:import android.content.Context;import android.database.sqlite.SQLiteDat原创 2015-09-23 15:57:29 · 571 阅读 · 0 评论 -
筛选list集合中是否存在要比较的对象
开发中对数据处理的时候,为了不出现重复的数据很多情况需要我们对数据进行比较去重,这里我们来看看list中怎么来比较数据的.当list中的对象是String类型的比较起来是比较简单代码如下:private List list = new ArrayList(); //比较list中是否存在name一样数据 private void compareData(){ String na原创 2015-12-11 17:23:28 · 1577 阅读 · 0 评论 -
多线程点断下载
多线程断点继续下载,在很多互联网APP中经常使用。最近在项目中也用到了,总结下实现的方法。1,创建清单文件记录断点2,创建一个文件存储下载内容3,确定用几个线程下载,分出每个线程开始结束位置4,创建下载线程5,根据需求考虑使用哪种线程池6,通过接口监听线程开始,下载进度(用于记录断点),下载完成。下载错误等上面的就是多线程断点继续下载的流程。创建清单文件记录断点:这原创 2016-12-21 16:56:41 · 503 阅读 · 0 评论 -
自定义View通过进度来变化背景颜色
在很多应用中我们都会看到很多通过进度来变化背景的颜色,比如像清理手机垃圾的一些软件在扫描垃圾的同时缓慢的改变背景颜色,原理是这样的先获得开始和结束颜色的2进制值求出他们三颜色的差值再计算每变化一刻进度变化的颜色值.代码如下:原创 2016-06-30 10:29:39 · 919 阅读 · 0 评论 -
动态添加布局
一些需求中,像listview,但是在listview中又有分类,这样来如果用listview来展示布局就比较乱,这样只能在scrollview中动态添加布局,和适配器中的getview()原来一样.循环list实现动态添加布局.先来看看效果图:从图可以看出1下面有一些应用名字数据,2下面也有一些数据,这样用listView来展示也是可以的,不过这里用的动态加载布局.先看数据怎么处理:原创 2016-03-29 11:54:06 · 434 阅读 · 0 评论 -
Viewpager+底部菜单栏
在apk中有很多的布局都用了viewpager+底部菜单栏来设置的.比如QQ,微信等.最近在项目中的设置也是用viewpager+底部菜单栏,在网上看了下他们的demo没有我想要的那样效果代码还很复制,最后觉得还是自定义一个底部菜单栏比较简单.首先我们把底部的菜单栏有几个功能键在布局中设置出来代码如下:这里只写了3个功能可以自己去扩展<LinearLayout xmlns:android="h原创 2016-03-09 11:36:09 · 1459 阅读 · 1 评论 -
仿清理大师软件管理功能
有很多软件都有管理我们手机上的应用软件这个功能,比如QQ手机管家等.其主要的就是先查找应用apk,然后可以打开应用,卸载应用,和打开应用管理.由于查找apk有许多属性首先我们创建一个类来储存我们想要的属性.代码如下public class BaseInfo { public String filename = "";// 名称 public String fullName = "";//原创 2016-03-07 16:50:33 · 464 阅读 · 0 评论 -
优化自定义Adapter
在开发中我们经常会用到适配器,当一个项目中有很多地方使用了listView展示数据,而且数据展示都比较复杂的时候这时我们就需要写很多的适配器来展示数据,为了listview性能的提高减少了很多不必要的View的创建,我们会用ViewHolder来优化.由于适配器很多每个适配器中都要写一个ViewHolder类,这样就会显得有很多重复的代码.为了不要写很多的重复代码下面我们就自定义一个适配器im原创 2016-03-07 16:20:38 · 413 阅读 · 0 评论 -
自定义View实现换灯片
前面两篇文章都是关于幻灯片是怎么实现的,但是效果都不是非常理想,结合前两次的知识我自定义了一个View把功能封装了一下更方便代码的使用与修改.代码如下:import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.animation.原创 2016-01-14 11:30:20 · 388 阅读 · 0 评论 -
利用FrameLayout中图片的切换来实现换灯片
在上篇文章中利用ViewFlipper来实现幻灯片但是最大的问题就是图片多了容易报内存溢出,现在我们使用FrameLayout中图片的切换始终FrameLayout中只有一张图片,这样很好的解决了内存溢出问题.public class MainActivity extends Activity implements AnimatorListener { private static原创 2015-12-24 16:30:29 · 776 阅读 · 0 评论 -
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 · 676 阅读 · 1 评论 -
分享功能实现
人们对美好的事物都喜欢分享给大家,大多数的软件都有分享这个功能,比如分享图片,文字,音乐.和app下载链接等.下面来看看具体功能的实现:原创 2015-11-25 10:11:17 · 538 阅读 · 0 评论 -
高效展示图片LruCache
在android中展示图片过多就会出现内存溢出,为了能够高效的展示出图片这里就用缓存来处理。首先我们写个缓存管理类ImageManagerimport java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;impo原创 2015-05-18 13:51:56 · 498 阅读 · 0 评论 -
仿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 · 2121 阅读 · 0 评论 -
不失真的图片展示
在项目中有很多地方需要展示图片,我们怎才能不失真的展示呢,如果图片宽大于屏幕,我们跟据宽的比例把图片缩放,高也同理.工具类代码如下://根据图片路径把图片不失真展示public static Bitmap displayFromFile(ImageInfo info) { Bitmap bm = null; InputStream is = null; try { is原创 2015-07-09 13:59:28 · 792 阅读 · 0 评论 -
实现第三方锁屏
最近做了个锁屏项目, 网上有很多人说修改launcher的主页来屏蔽home键.这个我试了下,有个很大的弊端就是单你每次按home键的时候都会让你选择launcher主页.就算你选择把你的程序设为主页它还是会弹出选择框个人感觉非常烦.还有一种就是启动一个窗体使窗体满屏,在窗体中加载我们想要的布局.这样home键的事件就不会影响窗体从而实现锁屏.下面就来看下窗体类impo原创 2015-07-09 10:20:30 · 946 阅读 · 0 评论 -
及时能在图片库中显示保存的图片
现在很多软件能对图片进行处理比如美图之类的工具,等我们把图片编辑完成后就会重新生成一张图片,然后我们就可以把图片保存到我们想要的位置,再把图片插入到系统媒体库中去,这样就能及时的在图片库中浏览。生成图片代码如下:public Bitmap loadBitmapFromView(View v) { Log.i("jjf", "v高:" + v.getHeight()); Bitmap b原创 2014-12-29 10:49:34 · 417 阅读 · 0 评论 -
线程更新UI
项目中我们为了避免不阻碍UI线程,进程会创建另外的线程来执行操作,在android中有两种实现线程thread的方法:一种就是继承Thread类,一种是实现Runnable接口使用线程我们就离不开Handler。在一个线程中更新UI,我们都知道handler + thread 代码如下:public class MainActivity extends Acti原创 2015-01-29 14:06:20 · 393 阅读 · 0 评论 -
异步任务的总结
我们在项目中很多时候会用到异步任务,首先异步任务是个抽象的类,我们需要继承AsyncTask类,AsyncTask中的三个参数Params是我们实现AsyncTask类传递的参数类型Progress是我们后台执行任务的进度,Result是我们执行完任务的返回值(doInBackground()的返回值类型)。如果没有使用到可以用Void,如AsyncTask。接下来会实现d原创 2015-01-28 11:17:50 · 596 阅读 · 0 评论 -
图片的处理(二)
近期项目中牵涉到图片滤镜效果,看了些大神们的资料,在这总结下,希望对大家也用帮助。黑白效果:// 黑白 public static Bitmap convertToBlackWhite(Bitmap bmp) { if (bmp == null) { return null; } int width = bmp.getWidth(); // 获取位图的宽 int h转载 2015-01-26 17:35:15 · 639 阅读 · 0 评论 -
listview+seekbar问题的解决
最近做了个项目,其中有录音原创 2014-11-18 22:29:12 · 2174 阅读 · 0 评论 -
ActionBar + Fragment 实现两个碎片的切换
开始自定义ActionBar然后创建以个活动继承原创 2014-08-18 16:11:03 · 1568 阅读 · 0 评论 -
viewpager + fragment实现动画效果
首先把布置ViewPager的界面:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@原创 2014-08-19 15:02:11 · 622 阅读 · 0 评论 -
实现拍照本地上传在GridView中显示
通过GridView的点击事件弹出一个PopupWindows窗体,原创 2014-08-19 16:05:30 · 1155 阅读 · 0 评论 -
图片的处理
我们在开发项目时经常会遇到图片的加载,原创 2014-08-20 14:50:35 · 1984 阅读 · 0 评论 -
ScrollView中嵌套GridView,Listview的办法
按照android的标准,ScrollView中是不能嵌套具有滑动特性的View的,但是有时如果设计真的有这样做的需要,或者为了更方便简单的实现外观(比如在外在的大布局需要有滑动的特性,并且内部有类似于List的UI结构,那么ListView + Adpater的方式来实现里面的效果就很方便,算是违规抄近道的一种方式吧),有时就会不得不采用这种怪异的组合方式。先说下这种方式如果不做特殊转载 2014-08-20 10:32:20 · 452 阅读 · 0 评论