Android
文章平均质量分 64
普通网友
这个作者很懒,什么都没留下…
展开
-
Android通讯录数据库操作
1. ContactsProvider2.java (实现了ContentProvider)2. ContactsContract.java 所有的联系人Uri,与联系人相关数据库字段均在此定义。这里面包含以下要讲的contacts表,raw_contacts表,data表,phone_lookup表的字段及Uri描述。 Table contacts_id转载 2015-12-19 09:50:53 · 1739 阅读 · 0 评论 -
TextWatcher的使用
public void afterTextChanged(Editable s) s /*表示最终内容*/public void beforeTextChanged(CharSequence s, int start,int count, int after)s /*改变之前的内容*/start /*开始的位置*/, count /*原创 2015-12-06 02:42:27 · 594 阅读 · 0 评论 -
Android获取音乐文件的信息
Android系统提供了MediaScanner、MediaProvider、MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户。当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio、video、图片等,将相应的信息放到定义好的数据库表格中。在这个程序中,我们不需要关心如何去扫描手机中的文件,只要转载 2015-12-07 11:29:08 · 1008 阅读 · 0 评论 -
onAttachedToWindow()在整个Activity生命周期的位置及使用
上篇博客实现圆角对话框样式的Activity中提到,若需实现圆角对话框Activity,需要在Activity的onAttachedToWindow()函数中做文章,那么就想问:onAttachedToWindow在整个Activity的生命周期中占据什么位置?为什么要在onAttachedToWindow中修改窗口尺寸? 一、onAttachedToWin转载 2015-12-08 01:55:23 · 673 阅读 · 0 评论 -
如何获取媒体库中所有音频文件信息,并在文件增删后及时更新媒体库
转载请注明出处: http://blog.csdn.net/zhaokaiqiang1992今天一打开博客,发现一位朋友给我发了一封私信,请教下面的问题,所以特写此文章,为其解惑。从这位朋友的提问中,我们需要了解下面的这些问题,才能给他很好的解答:(1)如何获取手机里所有歌曲的信息?(2)在歌曲文件发生改变,比如增删操作之后,如何及时的更新媒体库,从而获取到转载 2015-12-07 11:28:08 · 469 阅读 · 0 评论 -
Android实战技巧:ViewStub的应用
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl转载 2015-12-24 23:17:58 · 578 阅读 · 0 评论 -
Android View绘制过程
Android的View绘制是从根节点(Activity是DecorView)开始,他是一个自上而下的过程。View的绘制经历三个过程:Measure、Layout、Draw。基本流程如下图:performTraversals函数,具体的可以参考一下源代码:[java] view plaincopyprint?转载 2015-12-25 00:36:24 · 255 阅读 · 0 评论 -
Android开发中的MVP架构
原文链接: MVP Architecture in Android Development原文作者: kenjuwagatsuma译文出自: 小鄧子的简书译者: 小鄧子状态: 完成最近越来越多的人开始谈论架构。我周围的同事和工程师也是如此。尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建。这篇文转载 2016-01-09 12:17:50 · 562 阅读 · 0 评论 -
快速简单的定制一个时间轴布局(LinearLayout)
先上图:很多情况下,我们都会遇到需要类似于时间轴的一个布局,网上也有很多,但是很多情况下我们其实并不需要那么多库,毕竟64k限制就在那,不管我们用还是不用,它依然在那。。。而且更多时候,我们的时间轴也许并不需要那么多数据(比如转账流程?)事实上这次的教程也是因为我司需要弄一个转账流程,这个转账流程包含了基本的三转载 2016-01-26 13:27:05 · 870 阅读 · 0 评论 -
Android 代码设置来电铃声
1、如果读到的是音频文件路径,需要先将音乐文件插入到多媒体库。//设置--铃声的具体方法 public void setMyRingtone(String path) { File sdfile = new File(path); ContentValues values = new ContentValues(); values转载 2015-12-26 16:06:54 · 847 阅读 · 0 评论 -
Android开发MVP模式实践
转载请注明出处:http://write.blog.csdn.net/postedit/40151457现在用一个基于MVP模式的APP项目进一步分析MVP的实际应用。原项目应该使用的是Android studio开发,笔者对项目进行了整理,广大Eclipser请猛点Github链接。一、项目功能说明APP获取好友列表后将数据展示在一个ListV转载 2015-12-23 00:20:29 · 424 阅读 · 0 评论 -
MVP模式在Android开发中的应用
一、MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。 在MVP模式里通常包含4个要素: (1)View:负责绘制UI转载 2015-12-22 21:57:41 · 266 阅读 · 0 评论 -
android之ContentProvider和Uri详解
一、使用ContentProvider(内容提供者)共享数据在android中ContentProvider的作用是对外共享数据,就是说可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。就像我们手机的通话记录,我没要查看某个通话时间,这是需要调用通话记录中的数据,此时就该用到了ContentPro转载 2015-12-03 18:58:37 · 5490 阅读 · 1 评论 -
OnTouch、OnClick、OnLongClick、OnFocusChange之间的调用关系
在Android开发过程中,我们经常会遇到OnTouch、OnClick、OnLongClick、OnFocusChange之间的调用关系 上一篇更改浏览器设置中的搜索引擎下一篇如何在点击屏幕时同时弹出navigation bar 和moviec转载 2015-12-02 22:41:38 · 1348 阅读 · 0 评论 -
Android startActivityForResult(intent, requestCode)的用法。
做一个app,用到了startActivityForResult(intent, requestCode)这个方法,但是在onActivityResult(requestCode, resultCode, data)方法中,收不到消息,纠结半天 ,最好看资料才晓得了答案。*startActivityForResult(intent, requestCode)首先文档告诉我们,只有到acti转载 2015-12-03 12:52:57 · 747 阅读 · 0 评论 -
Android属性 android:focusableInTouchMode
这个属性的意思很明显,就是可以通过touch来获得focus。在手机上开发用的不多,因为大多手机都是触摸式的。最近一个TV上的应用需要用到。 一个界面上有一个自定义个button,我需要进入这个界面就高亮这个button。但是用遥控选择这个程序进入能正常显示,用鼠标点击进入就没有高亮的效果。最后添加上这个属性,效果出来了。 可见,click事件和touch事件在焦点处理上是转载 2015-12-22 12:52:36 · 1139 阅读 · 0 评论 -
ViewPager onPageChangeListener总结
android ViewPager滑动事件讲解今天在做项目的时候,由于要处理viewPager页面滑动的事件,所以对其进行了一个小小的研究:首先ViewPager在处理滑动事件的时候要用到OnPageChangeListenerOnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChanged,onPageScrolled转载 2015-12-22 12:53:41 · 310 阅读 · 0 评论 -
EditText clearFocus
当editText 调用clearFocus 取消焦点时,framework会把焦点给传给此页面的第一个focusable的控件,如果这个editText是唯一的一个focusable的,那么clearFocus会首先给自己一个hasFocus为True的OnFocusChangeListener,然后在执行clearFocus原本该执行的hasFocus为False的OnFocusChangeL转载 2015-12-22 13:53:44 · 705 阅读 · 0 评论 -
Android4.0-Fragment框架实现方式剖析(一)
经过反复的学习对比,个人觉得带着问题学习新知是最有效的学习方式,因此文本就以提问的方式来讲述Fragment框架实现方式。1、什么是Fragment?Fragment包含在Activity中,Fragment只能存在于Activity的上下文(context)内,没有Activity就无法使用Fragment,因此Fragment只能在Activity的上下文(context)创建。F转载 2015-12-04 13:03:13 · 292 阅读 · 0 评论 -
RelativeLayout常用属性介绍
下面介绍一下RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical转载 2015-12-22 19:23:04 · 235 阅读 · 0 评论 -
android中MVP模式(一)
1. 明确需求,界面如下:可存,可根据id读取数据。包结构图2. 建立bean[java] view plaincopyprint?public class UserBean { private String mFirstName; private String mLas转载 2015-12-22 20:46:35 · 283 阅读 · 0 评论 -
android中的mvp模式(二)
1. 需求,这个是《android开发必知的50个诀窍》一书中的mvp章节的需求。在splash页面中,判断是否有网络连接,有则跳到下个页面,无则弹出一条消息通知用户,同时在检查网络是否正常的期间显示一个进度条。2. 类目录结构[java] view plaincopyprint?3. mo转载 2015-12-22 21:05:12 · 345 阅读 · 0 评论 -
Android教程之MediaStore
应网友要求,今天给大家讲android的多媒体数据库。MediaStore这个类是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视频和图像,android把所有的多媒体数据库接口进行了封装,所有的数据库不用自己进行创建,直接调用利用ContentResolver去掉用那些封装好的接口就可以进行数转载 2015-12-27 16:16:03 · 645 阅读 · 0 评论 -
AudioManager详解(结合源代码)
AudioManager:用来对音量大小,声音模式(静音,震动,震动加声音等模式)的管理, 还有用它来注册“插入耳机”时的广播接收者(Action: android.intent.action.MEDIA_BUTTON) 源码(没有Android源码的可以看下我之前的博文,有提供下载地址哈~)所在位置: Android-4.0/frameworks/base/media/java/an转载 2015-12-27 16:37:34 · 547 阅读 · 0 评论 -
Android中MediaButtonReceiver广播监听器的机制分析
在Android中并没有定义MediaButtonReceive这个广播类,MediaButtonReceive只是作为一种通俗的命名方式来响应 插入耳机后,点击耳机上的按钮(名称:MEDIA_BUTTON)接受该广播事件的类。所有该MEDIA_BUTTON的按下我们就简称 为MEDIA_BUTTON广播吧。 顾名转载 2015-12-27 16:39:20 · 424 阅读 · 0 评论 -
Android开发之网络通讯详解
真正的才智是刚毅的志向。 —— 拿破仑目前的App如果没有使用到网络技术,仅仅依靠本地是很难提升自己App的用户量的,21世纪是互联网时代,网络技术已经融入并改变了我们的生活。想象一下假如一周没有网络供你使用,你是不是有跟这个世界脱节了的感觉,哈哈,没有错,网络是如此的重要,因此我们就需要花点时间好好学习下这门技术。如有谬误,欢迎批评指正,如有疑转载 2016-04-02 02:10:20 · 887 阅读 · 0 评论 -
Android多国语言的value文件夹命名方式
在res目錄下建立不同名稱的values文件來調用不同的語言包Values文件匯總如下:中文(中國):values-zh-rCN中文(台灣):values-zh-rTW中文(香港):values-zh-rHK英語(美國):values-en-rUS英語(英國):values-en-rGB英文(澳大利亞):values-en-rAU英文(加拿大):values-en-rC转载 2016-04-02 15:16:24 · 558 阅读 · 0 评论 -
android 监听系统时区变化,日期变化,时间变化
1. 监听时区变化:配置: private static final String ACTION_TIMEZONE_CHANGED = Intent.ACTION_TIMEZONE_CHANGED;@Override public void onRec转载 2016-04-02 15:34:52 · 11064 阅读 · 0 评论 -
Android广播集合
StringADD_SHORTCUT_ACTION动作:在系统中添加一个快捷方式。."android.intent.action.ADD_SHORTCUT"StringALL_APPS_ACTION动作:列举所有可用的应用。输入:无。"android.intent.action.ALL_APPS"StringALTERNATIVE_CATEG转载 2016-04-02 15:42:03 · 326 阅读 · 0 评论 -
Atom设置震撼的编辑效果
Atom设置震撼的编辑效果 在代码编辑器、文本编辑器领域,有着不少的「神器」级的产品,如历史悠久的 VIM、Emacs 以及如今当红的SublimeText。另外还有 EditPlus、NotePad++、UltraEdit 等一大堆流行的利器,可谓百家争鸣。 然而,作为目前全球范围内影响力最大的代码仓库/开源社区,GitHub 的程序转载 2016-03-11 11:11:38 · 4734 阅读 · 0 评论 -
Android基础和运行机制
Android应用程序是用Java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文件,这个文件是一个将应用安装到手机上的一个载体。每个Android应用程序存在于不同的世界: (1)默认的,每个应用在他自己的Linux进程中运行,当应用中的任何代码需要执行时Android就启动相应的进程,当不需要执行时并且系统资源被其他应用请求时android就关闭相转载 2016-03-23 01:10:27 · 333 阅读 · 0 评论 -
Andriod-NotificationManager
下面来谈谈notification,这个notification一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个快讯。已添加的Notification.Builder,使其更容易构建通知。notification是一种让你的应用程序在没有开启情况下或在后台运行警示用户。它是看不见的程序组件(Broadcast转载 2016-03-23 02:03:47 · 453 阅读 · 0 评论 -
Android利用canvas画各种图形 及Paint用法
1、首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into转载 2016-04-23 01:47:30 · 532 阅读 · 0 评论 -
为什么自定义ViewGroup ondraw方法不会被调用
viewgroup的绘制严格来说是在dispatchDraw中完成,作为一个容器,绘制自己的孩子该通过dispatchDraw(canvas)实现。但是你非要在ondraw中也不会出错。但自定义ViewGroup ondraw方法不会被调用的根本原因是你的ViewGroup中还没有可绘制的内容。 下面是详细解释:一,现象 android:id转载 2016-07-28 23:05:54 · 2667 阅读 · 0 评论 -
Android“UI适配技能”
1、概述大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象:转载 2016-08-18 01:46:05 · 538 阅读 · 0 评论 -
Android Studio SDK 更新方法
一:设置host首先在etc/hosts中设置hosts,需要管理员权限。使用vim对hosts进行编辑:1sudo vim hosts输入密码后进行编辑,添加如下几行:1234567原创 2016-02-19 16:26:44 · 3154 阅读 · 0 评论 -
解决Mac下Android SDK Manager联网失败的问题?
GreatWall的威力还是挺大的,不过在这个Android手机市场份额占到了70%以上(道听途说,莫纠结)的时候,居然连开发者都会被限制到这个地步,也是蛮拼的了。上有政策,下有对策,SDK下载失败,只需要两步就可以解决:1) 修改hosts; 2) 修改SDKManager设置,强制使用HTTP协议访问HTTPS请求。sudo vim /etc/hosts; 在下面加入:转载 2016-02-19 15:57:36 · 543 阅读 · 0 评论 -
Andriod获取系统自带铃声
可以通过RingtoneManager 设置type 后,获取到Ringtone对象。或则其Uri。Ringtone可以直接进行播放操作。Java代码 public Ringtone getDefaultRingtone(int type){ return RingtoneManager.getRingtone(mContext, RingtoneManag转载 2015-12-26 20:57:25 · 3229 阅读 · 1 评论 -
Android的minSdkVersion,targetSdkVersion,maxSdkVersion
API Level 是一个整型值,表示Android发布的某个特定版本,新API Level相对于老API Level会增加以下内容:* 新增类、或者已有类中新增、修改、甚至删除的API* 新定义的xml tag* 新定义Intent* 新定义的Permission* 其它…API Level和版本有如下对应关系:Platform VersionAPI Le转载 2016-02-09 23:50:33 · 388 阅读 · 0 评论 -
ViewPager实现一个页面多个Item的显示
代码在: https://code.google.com/p/trinea-android-demo/source/browse/trunk/src/cn/trinea/android/demo/ViewPagerMulTiFragmentDemo.java 实现要注意的是: 1. ViewPager在上层布局中加入 Java代码 an转载 2016-02-03 11:01:05 · 3082 阅读 · 0 评论