
Android
西湖有大葱
这个作者很懒,什么都没留下…
展开
-
Android 资料总结(全)
记录了接近一年多的找工作历程中总结的android资料。介绍给各位同学,希望对大家带来些许帮助。(以下均对应文章的链接)《Android 系统框架》《Android四大组件,以及他们之间的联系》《Android 四大布局》《Android View的事件体系》《Android View的工作原理》《Android 动画》《Android数据存储》《Android原创 2016-10-19 15:45:15 · 873 阅读 · 1 评论 -
Android View的事件体系
1.View基本知识(1)view的层次结构:ViewGroup也是View;(2)view的位置参数:top、left、right、bottom,分别对应View的左上角和右下角相对于父容器的横纵坐标值。从Android 3.0开始,view增加了x、y、translationX、translationY四个参数,这几个参数也是相对于父容器的坐标。x和y是左上角的坐标,而transl原创 2016-10-20 15:39:05 · 1333 阅读 · 0 评论 -
Android 四大布局
LinearLayoutRelativeLayoutFrameLayoutFrameLayout相比于前面两种布局就简单太多了,因此它的应用场景也少了很多。这种 布局没有任何的定位方式,所有的控件都会摆放在布局的左上角。TableLayoutTableLayout允许我们使用表格的方式来排列控件。在 TableLayout中每加入一个 TableRow就表示在表格中添加了一行,原创 2016-10-20 15:22:48 · 1099 阅读 · 0 评论 -
Android四大组件,以及他们之间的联系
以下均对应的相应的文章的链接ActivityServiceBroadcastContentProviderFragment (不是四大组件之一)原创 2016-10-19 17:52:17 · 893 阅读 · 0 评论 -
Android四大组件之ContentProvider
ContentProvider的一个重要的特点就是它是可以使得某些数据可以被跨进程访问,一般我们的数据库是不可跨进程被访问,因为数据库一般的数据是属于某个应用程序的,如果其他程序可以随意访问其数据库,这是很危险的,但是如果该应用程序的数据想分享给其他应用程序,那么就可以通过建立一个ContentProvider,规定一些安全机制,屏蔽一些比较重要的数据被访问,或是规定访问权限,比如只可读不可写等,原创 2016-10-20 15:07:07 · 1036 阅读 · 0 评论 -
Android四大组件之BroadcastReceiver
广播机制简介Android中的广播主要可以分为两种类型,标准广播和有序广播。标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言。这种广播的效率会比较高,但同时也意味着它是无法被截断的。标准广播的工作流程如图所示。有序广播(Orderedbroadcas原创 2016-10-20 14:30:35 · 880 阅读 · 0 评论 -
Android 设计模式
设计模式共23种模板方法(Template Method)模式模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。Java设计模式透析之—— 模板方法(Template Method)设计模式模版方法模式 展现程序员的一天首先将Formatter中的代码进行修改,如下所示:原创 2016-10-30 17:52:52 · 1779 阅读 · 0 评论 -
Android四大组件之Service
Service基本用法新建一个MyService继承自Service,并重写父类的onCreate()、onStartCommand()和onDestroy()方法,如下所示:public class MyService extends Service { public static final String TAG = "MyService"; @原创 2016-10-20 12:09:40 · 1305 阅读 · 0 评论 -
Fragment
为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能。首先需要注意,Fragment是在3.0版本引入的,如果你使用的是3.0之前的系统,需要先导入android-support-v4的jar包才能使用Fragment功能。①静态创建Fragment这是使用Fragment最简单的一种方式,把Fragment当成普通的控件,直接写在Acti原创 2016-10-20 11:07:16 · 767 阅读 · 0 评论 -
Android四大组件之Activity
生命周期 1. Activity的entire lifetime(全部的生命期)发生在调用onCreate()和调用onDestory()之间。 在onCreate()方法中执行全局状态的建立(例如定义布局),在onDestroy()方法中释放所有保存的资源。 2.Activity的visible lifetime(可见的生命期)发生在调用onStart()和onStop()原创 2016-10-19 17:12:15 · 1450 阅读 · 0 评论 -
Android View的工作原理
Android LayoutInflater原理分析,带你一步步深入了解View(一)Android视图绘制流程完全解析,带你一步步深入了解View(二)http://threezj.com/2015/12/17/Android%20View%E8%AF%A6%E8%A7%A3/Android中控件大致被分为两类ViewGroup,View。ViewGroup作为容器管理View。An原创 2016-10-20 16:17:45 · 1497 阅读 · 0 评论 -
Android 进程管理机制及优化
参考:Android Low Memory Killer(具体细节)Android进程管理机制及优化Android进程管理详解理论Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,原创 2016-10-31 10:44:14 · 1182 阅读 · 0 评论 -
Android 多进程
参考:http://www.tuicool.com/articles/a2yIRf3《Android开发艺术探索》一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名,进程是系统分配资源和调度的基本单位,每个进程都有自己独立的资源和内存空间,其它进程不能任意访问当前进程的内存和资源,系统给每个进程分配的内存会有限制。如果一个进程占用内存超过了这个内存限制,就会报OO原创 2016-10-31 10:51:25 · 626 阅读 · 0 评论 -
Android 面试常见问题
节约电量的方法http://hukai.me/android-performance-battery/• 实时性不高的程序用AlarmManager的定时轮询操作代替推送操作。android中涉及到将服务器中数据变化信息通知用户一般有两种办法,推送和轮询。消息推送是服务端主动发消息给客户端,因为第一时间知道数据发生变化的是服务器自己,所以推送的优势是实时性高。但服务器主动推送需原创 2016-11-01 18:20:44 · 1463 阅读 · 0 评论 -
Android开发常用功能
1.定时器的实现(1)采用Handler的postDelayed(Runnable, long)方法Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { //你要做的事原创 2016-10-31 21:56:37 · 2759 阅读 · 2 评论 -
Android 各个Support Library介绍
参考:http://zmywly8866.github.io/2015/10/09/android-support-library.htmlV4 Support Library这个包的名字是:“android-support-v4.jar”,是为Android 1.6(API版本为4)及以上的版本设计的,它包含大部分高版本中有而低版本中没有的API,包括applicat原创 2016-10-31 13:45:19 · 3632 阅读 · 0 评论 -
Android内存管理
1.Android 运行时的内存分配:http://www.jianshu.com/p/9546d21376ed#物理内存即移动设备上的RAM,当启动一个Android程序时,会启动一个Dalvik VM进程,系统会给它分配固定的内存空间(16M,32M不定),这块内存空间会映射到RAM上某个区域。然后这个Android程序就会运行在这块空间上。Java里会将这块空间分成Stack栈内存和原创 2016-10-31 12:22:40 · 624 阅读 · 0 评论 -
Android Application
Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并在manifest的applicati原创 2016-10-31 12:17:09 · 487 阅读 · 0 评论 -
Android Context
相信很多人多会问Context到底是什么?·我们可以理解为“上下文”:它贯穿整个应用;·也可以理解成“运行环境”:它提供了一个应用运行所需要的信息,资源,系统服务等;·同样可以理解成“场景”:用户操作和系统交互这一过程就是一个场景,比如Activity之间的切换,服务的启动等都少不了Context。然而以上这些都是我们从抽象角度去理解Context的作用,那么从Code代码来看Co原创 2016-10-31 12:13:39 · 575 阅读 · 0 评论 -
Android 性能优化
布局优化Android性能优化之如何避免Overdraw(可参考)(1)避免OverdrawOverdraw,过度绘制会浪费很多的cpu,Gpu资源,例如系统默认会绘制Activity的背景,如果在给布局重新绘制了重叠的背景,那么默认的Activity的背景就属于无效的过度绘制。过度绘制(Overdraw)也是很浪费CPU/GPU资源的,系统也提供了检测工具Debug GPU原创 2016-10-31 11:47:44 · 2260 阅读 · 0 评论 -
Binder机制
参考:Android中的跨进程通信的实现(一)——远程调用过程和aidlAndroid中的Binder机制的简要理解(http://www.linuxidc.com/Linux/2012-07/66195.htm)Android进程间通信(IPC)机制Binder简要介绍和学习计划android在设计理念上强调组件化,组件之间的依赖性很小。我们往往发一个intent请求就可原创 2016-10-31 11:24:26 · 664 阅读 · 0 评论 -
Android跨进程通信IPC
参考:android中跨进程通讯的4种方式android跨进程通信(IPC):使用AIDL使用AIDL实现进程间的通信Android Service完全解析,关于服务你所需知道的一切(下)Activity与一个远程Service建立关联同样使用AIDL来进行跨进程通信了(IPC)。这是由于远程的Service是在另一个进程中运行的,因此他们之间的通信是跨进程的通信。Andr原创 2016-10-31 11:13:57 · 1548 阅读 · 0 评论 -
Android消息机制
参考:浅析Android中的消息机制Android异步消息处理机制完全解析,带你从源码的角度彻底理解基本介绍:大家都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的hand原创 2016-10-29 15:02:25 · 669 阅读 · 0 评论 -
MVP模式
参考:MVP模式在Android开发中的应用 https://www.sdk.cn/news/2501 在Android开发中,Activity并不是一个标准的MVC模式中的Controller,它的首要职责是加载应用的布局和初始化用户界面,并接受并处理来自用户的操作请求,进而作出响应。随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致变得庞大臃肿。当原创 2016-10-29 11:55:55 · 1072 阅读 · 0 评论 -
MVC模式
MVC(Model_view_contraller)“模型_视图_控制器”。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。原创 2016-10-29 11:24:58 · 7347 阅读 · 0 评论 -
SlidingMenu属性详解【Android】
简单记下属性。SlidingMenu 常用属性介绍:menu.setMode(SlidingMenu.LEFT);//设置左滑菜单menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑动的屏幕范围,该设置为全屏区域都可以滑动menu.setShadowDrawable(R.drawable.shadow);/转载 2015-06-25 21:48:28 · 641 阅读 · 0 评论 -
android 完美获取音乐文件中的专辑图片并显示
private void getImage(int id){int album_id = id; String albumArt = getAlbumArt(album_id); Bitmap bm = null; if (albumArt == null) {mImageView.setBackgroundResource(R.drawable.noalbum);原创 2014-08-07 13:25:52 · 11988 阅读 · 1 评论 -
android 图片重影叠加左右切换效果
这里转载一个牛人的博客:http://www.cnblogs.com/tankaixiong/archive/2011/02/24/1964340.html (一)截图 (二)实现关键: 1、改写Gallery,实现图片的层叠和透明度渐变。 主要是改写getChildStaticTransf转载 2014-08-08 17:23:21 · 2894 阅读 · 0 评论 -
android开发中R文件丢失后无法恢复的完美解决方案
众所周知gen文件下的R文件是系统自动生成的,R文件de原创 2014-07-30 17:23:52 · 1657 阅读 · 0 评论 -
android 时间的处理 将毫秒转化成 几分几秒
android 时间的处理 将毫秒转化成 几分几秒 (02:23 类似格式)/*** 时间的处理* * @param time* @return*/public static String getTimeFromInt(int time) {if (time return "0:00";}int s转载 2014-08-01 15:41:12 · 3146 阅读 · 0 评论 -
更改android AVD模拟器创建路径位置的方法
打开:计算机-->系统属性-->环境变量—>在“系统变量”那选择“新建”-->变量名为 "ANDROID_SDK_HOME” (注意,必须为这个名字!),然后把变量值改为你想把AVD所在的".android”文件夹放置的位置(如:D:\my documents)。然后我们重启Eclipse,在Eclipse里可以看到:preferneces ---> Android ----> B转载 2014-08-01 22:30:11 · 1133 阅读 · 0 评论 -
android 弹出提示框
new AlertDialog.Builder(this).setTitle("删除提示框").setMessage("确认删除该数据?").setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dao.转载 2014-08-04 23:14:41 · 1470 阅读 · 0 评论 -
服务类service 的AndroidManifest.xml详解
语法(SYNTAX):android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" andro转载 2014-08-06 11:41:51 · 1313 阅读 · 0 评论 -
android button透明和半透明效果的实现
其实实现button的tou原创 2014-07-31 13:48:36 · 7703 阅读 · 2 评论 -
Android Studio开发入门-引用jar及so文件
最近初学安卓开发,因为以前从未用过JAVA,连基本的语法都要从头开始,所以不太顺利。在尝试使用百度语音识别引擎时遇到了如何引用jar及so文件的问题。在GOOGLE加多次尝试之后,找到了一个比较简单的方法,特介绍如下。一、引用jar文件 1.将jar文件复制、粘贴到app的libs目录中; 2.右键点击jar文件,并点击弹出菜单中的“Add As Library”,将jar转载 2015-08-25 21:03:11 · 560 阅读 · 0 评论 -
使用 XMLNS:APP 出现 ERROR 的问题
有一些属性需要使用 app 这个 name spaceapp:orientationapp:columnCountapp:rowCountapp:alignmentModeapp:useDefaultMarginsapp:columnOrderPreservedapp:rowOrderPreserved但是问题来了即使加上 name space 宣告转载 2015-08-27 00:14:02 · 2223 阅读 · 0 评论 -
Android studio如何导入library及jar包和so包
在Android Studio里导入jar包及so包步骤如下: 1、在src同一级目录下建一个libs的文件夹 2、将jar包或so包拷贝到新建的libs文件夹下 3、jar包的话,右击选择add as library 4、如果是so包的话,找到跟src同级目录下的build.gradle ,添加如下标红信息,转载 2015-08-27 11:58:25 · 3278 阅读 · 0 评论 -
Android线程池
http://blog.youkuaiyun.com/u010687392/article/details/49850803 (整体思路见这个,整理的很好)线程池new Thread的弊端如下:http://www.trinea.cn/android/java-android-thread-pool/ a.每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互原创 2016-10-29 11:17:10 · 649 阅读 · 0 评论 -
Listview
ListView的简单用法布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView原创 2016-10-29 11:01:22 · 799 阅读 · 0 评论 -
Android 系统框架
Android大致可以分为四层架构,五块区域。 1.Linux内核层 Android系统是基于Linux2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。 2.系统运行库层 这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,Ope原创 2016-10-19 15:49:02 · 1655 阅读 · 0 评论