安卓
文章平均质量分 81
flycgu
这个作者很懒,什么都没留下…
展开
-
安卓面试题 共同学习
以下面试题都是在网上找的总结出来的,谢谢大家的分享!希望,我们共同进步,找到自己梦想的公司:1.android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念:答:dvm是dalivk虚拟机。每一个android应用程序都在自己的进程中运行,都拥有一个dalivk虚拟机实例。而每一个dvm都是在linux的一个进程。所以说可以认为是同一个概念。2.androi转载 2014-10-23 14:28:56 · 597 阅读 · 0 评论 -
安卓 text部分文字样式修改
对于TextView控件,经常将其中不同的文字显示不同的样式,如下:1、设置text和样式Java代码 statusText.setText(statusInfo, TextView.BufferType.SPANNABLE); 表示可以修改文字的样式,无TextView.BufferType.SPANNABLE会出现异常 2、修改样式J转载 2014-11-20 15:54:35 · 587 阅读 · 0 评论 -
android的Menu使用
Menu分三种:Option Menu:选择菜单,单击”menu”按键出现。ContextMenu:上下文菜单,长按出现。SubMenu:子菜单1。普通的Menu 先来看看最简单的Menu怎样实现。 在主Activity中覆盖onCreateOptionsMenu(Menu menu)方法。代码@Override public boole转载 2014-11-26 16:04:20 · 336 阅读 · 0 评论 -
Android深入浅出系列之服务机制—1-Android中的Service
阅读目录 一:Service是什么 二:布局文件编写 三:代码文件编写 四:项目定义文件编写 五:运行效果 一:Service是什么? Service是Android系统的组件之一,和Activity,Intent,Conent Provider并称Android四大天王,Service是不可见的,是没有界面的,是在后台运行的,Service一般处理比转载 2014-11-27 16:04:23 · 367 阅读 · 0 评论 -
android的消息处理机制(图+源码分析)——Looper,Handler,Message
http://www.cnblogs.com/codingmyworld/archive/2011/09/12/2174255.html转载 2014-10-21 16:28:13 · 360 阅读 · 0 评论 -
Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
正好jd转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:【张鸿洋的博客】群里一哥们今天聊天偶然提到这个git hub上的控件:pull-to-refresh ,有兴趣的看下,例子中的功能极其强大,支持很多控件。本篇博客详细给大家介绍下ListView和GridView利用pull-to-re转载 2014-10-21 16:37:49 · 437 阅读 · 0 评论 -
Android原理揭秘系列之View、ViewGroup
作过Android 应用开发的朋友都知道,Android的UI界面都是由View和ViewGroup及其派生类组合而成的。其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的。AndroidUI界面的一般结构可参见下面的示意图:可见,作为容器的ViewGroup可以包含作为叶子节点的View,也可以包含作为更低层次的子ViewGrou转载 2014-10-22 14:08:51 · 365 阅读 · 0 评论 -
使用LocalBroadcastManager app内部广播发送和接收
LocalBroadcastManager是Android Support包提供了一个工具,是用来在同一个应用内的不同组件间发送Broadcast的。使用LocalBroadcastManager有如下好处:发送的广播只会在自己App内传播,不会泄露给其他App,确保隐私数据不会泄露其他App也无法向你的App发送该广播,不用担心其他App会来搞破坏比系统全局广播更加高效和系统广播转载 2014-11-06 16:28:04 · 948 阅读 · 0 评论 -
安卓微信分享 回调
最近需要对一些Activity进行微信分享,分享成功之后返回到当前Activity原创 2014-11-06 16:30:29 · 1555 阅读 · 0 评论 -
android studio(gradle)报错ERROR: Unable to open PNG file原因
今天在编译项目的时候碰到一个问题,代码完全相同的情况下,只是把项目移到SVN的另一个目录,编译无法通过Gradle提示如下错误(不方便截自己的图片,网上转一个):Gradle: Execution failed for task ':AplikaceBeta1.0.1:mergeDebugResources'. Failed to run command: C:\Users\D原创 2014-12-18 16:20:45 · 5218 阅读 · 1 评论 -
android Canvas 常用方法介绍
Canvas 又称为画布,在游戏开发过程中是一个经常使用的类。下面举一个实例在完成画布的基本功能代码如下:Java代码 public class MySurfaceView extends SurfaceView implements Callback, Runnable { //用于控制SurfaceView private SurfaceH转载 2015-01-08 16:54:02 · 529 阅读 · 0 评论 -
Android中Context详解 ---- 你所不知道的Context
转载自 :http://blog.csdn.net/qinjuning 前言:本文是我读《Android内核剖析》第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书。 大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中转载 2015-01-08 11:02:11 · 385 阅读 · 0 评论 -
android编译错误之“Hardware acceleration can only be used with a single UI thread”,硬件加速
今天在调试的时候碰到一个问题,在处理对话框点击完button使其消失的过程中,报错如下:java.lang.IllegalStateException: Hardware acceleration can only be used with a single UI thread.查了下网上的帖子,发现是硬件加速引起,错误提示中指出此处使用了HardwareAcceleratio原创 2014-12-19 16:44:24 · 3330 阅读 · 1 评论 -
Android xmlns 的作用及其自定义
xmlns:android="http://schemas.android.com/apk/res/android的作用是这个是xml的命名空间,有了他,你就可以alt+/作为提示,提示你输入什么,不该输入什么,什么是对的,什么是错的,也可以理解为语法文件。或者语法判断器什么的这个主要作用是在运行的时候那些控件的属性都是通过它来识别的,如果上面你写错了,不会有任何问题,但是在运行的时候就会有问转载 2015-01-12 14:59:41 · 538 阅读 · 0 评论 -
Android Studio 快捷键整理分享 Gradle
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动转载 2014-12-10 10:03:20 · 834 阅读 · 0 评论 -
Android开发中在一个Activity中关闭另一个Activity
比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA解决方案:1.在 ActivityA 里面设置一个静态的变量instance,初始化为this在 ActivityB 里面,ActivityA.instance.finish();2.也可以通过ActivityManager ActivityManager m转载 2015-02-04 16:34:28 · 501 阅读 · 0 评论 -
android Broadcast学习 实例
转自:http://www.cnblogs.com/snowdrop/articles/1906709.html其实所谓的静态注册,动态注册,是指接收广播的时候,是静态注册接收还是动态注册接收,发送的时候不分静态,动态以发送intent为例,一共分4种情况,以每次注册两个Broadcast为例:情况一,注册2个静态Broadcast如果是静态注册的,接收的一定是某一个类继承转载 2014-11-04 17:20:42 · 539 阅读 · 0 评论 -
Android 微信接入公共平台回调失败
如何让我们的App接收到微信的反馈?1. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,并在manifest文件里面加上exported属性,设置为true。 2. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onRe转载 2014-11-04 16:16:45 · 945 阅读 · 0 评论 -
Android应用程序发送广播(sendBroadcast)的过程分析
zh前面我们分析了Android应用程序注册广播接收器的过程,这个过程只完成了万里长征的第一步,接下来它还要等待ActivityManagerService将广播分发过来。ActivityManagerService是如何得到广播并把它分发出去的呢?这就是本文要介绍的广播发送过程了。 广播的发送过程比广播接收器的注册过程要复杂得多了,不过这个过程仍然是以ActivityM转载 2014-11-04 16:56:47 · 513 阅读 · 0 评论 -
安卓五大布局,LinearLayout,FrameLayout,AbsoluteLayout,RelativeLayout,TableLayout
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 LinearLa转载 2014-10-23 15:28:11 · 1253 阅读 · 0 评论 -
Intent的URI及其示例
本文介绍在安卓开发中经常遇到的一些Intent的URI及其示例,包含了大部分应用中用到的共用Intent,希望本文能对广大安卓开发者有所帮助。 一、直接拨打电话,与三不同的是,这个直接拨打电话,而不是打开拨号界面 Uri uri = Uri.parse("tel:10086");Intent intent = new Intent(Intent.ACTION_CALL,转载 2014-11-10 15:54:28 · 501 阅读 · 0 评论 -
ContentProvider 和 Uri 介绍
一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORL转载 2014-11-10 16:11:23 · 414 阅读 · 0 评论 -
详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。转载 2014-10-24 16:08:17 · 302 阅读 · 0 评论 -
Android Service学习之IntentService 深入分析
什么是IntentService? (本文转自http://blog.csdn.net/gaojie314/archive/2010/11/28/6040701.aspx)官方的解释是:IntentService is a base class for Services that handle asynchronous requests (expressed asInt转载 2014-11-11 16:02:54 · 349 阅读 · 0 评论 -
Android中解析XML
转自XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。SAX解析器:SAX(Simple API转载 2014-11-11 16:52:18 · 301 阅读 · 0 评论 -
安卓 ANR 原因,解决方法
安卓 ARN 在开发过程中肯定会碰到,看了写文章后转载这两篇,同一个点,用不同的方式表述出来,转载 2014-10-24 14:47:55 · 2613 阅读 · 0 评论 -
Android开发之assets目录与raw目录
Android资源文件分类:Android资源文件大致可以分为两种:第一种是res目录下存放的可编译的资源文件:这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可;第二种是assets目录下存放的原生资源文件:因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们转载 2014-11-12 14:49:21 · 767 阅读 · 0 评论 -
Intent的几种有关Activity启动的方式与Activity和Task的启动模式
activity与task的启动模式通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合。而这些Activity又被组织成了堆栈的形式。 当一个Activity启动时,就会把它压入该Task的堆栈,而当用户在该Activity中按返回键,或者代码中finish掉时,就会将它从该 Task的堆栈中弹出。 然而,事实上我们的转载 2014-10-27 15:52:14 · 1671 阅读 · 0 评论 -
Android笔记:invalidate()和postInvalidate() 的区别及使用
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。转载 2014-10-27 15:23:47 · 458 阅读 · 0 评论 -
Android UI线程和非UI线程
UI线程及Android的单线程模型原则 当应用启动,系统会创建一个主线程(main thread)。 这个主线程负责向UI组件分发事件(包括绘制事件),也是在这个主线程里,你的应用和Android的UI组件(components from the Android UI toolkit (components from theandroid.widget and andro转载 2014-10-27 10:33:03 · 359 阅读 · 0 评论 -
Android 中的notify 机制
大家都熟悉这样的一个场景:就是来短信的时候,手机上方会跳出一个短信的图标来提示你来新的信息了,然后你在上方拖下来就会看到短信息,点进去之后就能进到阅读短信的页面。这个流程一整套的完成就是android中的notify机制,下面我们一起来看看android中的notify机制,主要包含三个类: 1. NotificationManager:转载 2014-10-27 14:47:09 · 751 阅读 · 0 评论 -
在SurfaceView中使用双缓冲
所谓双缓冲就是两个线程同时进行某一项工作, 游戏中使用双缓冲主要是为了解决画图闪烁的问题和提高画图的效率。当使用SurfaceView画图的时候,会锁定画图的区域,也就是说这块区域只有本次画图结束之后才能进行下次画图,而我们在画图的时候往往需要进行一些预处理的工作之后才能绘制,比如先要读取图片,而这样是比较耗时的。如果我们使用一个线程专门来进行预处理的工作,一个线程专门用来画图,这样就可以有效的提转载 2014-10-27 11:19:33 · 468 阅读 · 0 评论 -
发布Android应用程序过程
提示:本文仅针对Windows平台。有关Linux平台,可以参考Android SDK中的Dev Guide中的Publishing->Sign Your Applications中的Basic Setup for Signing一节。前提: 1、正确安装JDK,并配置了JAVA_HOME和PATH(JAVA_HOME/bin),因为要使用到jdk/bin下面的两个工具:keytool.exe转载 2014-10-28 11:04:01 · 493 阅读 · 0 评论 -
Android View 绘制刷新流程分析
Android中对View的更新有很多种方式,使用时要区分不同的应用场合。1.不使用多线程和双缓冲 这种情况最简单,一般只是希望在View发生改变时对UI进行重绘。你只需显式地调用View对象中的invalidate(){关于invalidate的解释:当调用线程处于空闲状态时,会调用onDraw,刷新界面,也就是说,该函数仅是标记当前界面过期,并不直接负责刷新界面;}方法即可。系转载 2014-10-28 15:38:28 · 688 阅读 · 0 评论 -
FindBugs规则整理
FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等一、Security 关于代码安全性防护1.Dm: Hardcoded constant database password转载 2014-12-12 15:24:30 · 610 阅读 · 0 评论