Android基础
文章平均质量分 90
gavin.jin
在这个套路过剩的年代,唯一的技巧就是坚持。
展开
-
IO多路复用模型之epoll实现机制
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使用I/O复用。 当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 如果一个服务器即要处理TCP,又要处理UDP,一...原创 2019-09-13 23:23:13 · 400 阅读 · 0 评论 -
Android使用Pull解析器生成XML文件
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中;或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐大家使用Pull解析器。使用Pull解析器生成一个与itcast....原创 2012-03-05 23:08:00 · 118 阅读 · 0 评论 -
Android使用AIDL(接口描述语言)设计和使用远程接口
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 1 使用AIDL(AndRoid接口描述语言)设计和使用远程接口1.1 使用AIDL实现IPC1.1.1 创建一个AIDL文件1.1.2 实现接口1.1.3 向客户端公开接口1.1.4 使用parcelables进行参数的值传递1.2 调用一个IPC方法使用AIDL(AndRoid接口描述语言)...原创 2012-03-11 17:11:00 · 131 阅读 · 0 评论 -
android解析分析
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 我们使用java解析xml,主要还是有两种方式,一种方式是SAX解析,另一种是DOM解析。当然还有一系列的其他第三方解析API,如JDOM/DOM4J.他们各自有各自的优缺点。这里我们主要分析下最基础的两种解析方式,sax解析和dom解析。两者依赖的解析机制是完全不同的。 sax解析,依赖于 事件触发机制...原创 2012-03-18 11:52:00 · 103 阅读 · 0 评论 -
JAVA基础之理解JNI原理
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> NI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境...转载 2012-03-20 21:54:00 · 204 阅读 · 0 评论 -
Android requires compiler compliance level 5.0 ...
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 重装操作系统后,要重新配置Android开发环境。配置成功后,添加原本项目时却出现了错误!Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fi...原创 2012-04-14 16:41:00 · 84 阅读 · 0 评论 -
ActivityManager: Warning: Activity not started,...
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> Activity not started, its current task has been brought to the front的解决办法2011-05-08 19:36 在编译NDK程序时,由于修改了一下C++代码,用Cygwin重新编译后,然后在eclipse中运...原创 2012-04-14 17:27:00 · 287 阅读 · 0 评论 -
Failed to install ×.apk on device 'emulator-555...
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> [2012-04-14 17:09:26 - market] Failed to install ×.apk on device 'emulator-5554': timeout[2012-04-14 17:09:26 - market] Launch canceled!解决办法Try chang...原创 2012-04-14 17:39:00 · 128 阅读 · 0 评论 -
解决android模拟器访问本地服务器问题: W/System.err(1042): Caus...
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 在浏览器中输入http://localhost:8080/index.jsp没有问题,但是使用android模拟器,将报W/System.err(1042): Caused by: java.net.ConnectException:localhost/127.0.0.1:8080 – Connection ...原创 2012-04-29 11:02:00 · 394 阅读 · 0 评论 -
软键盘弹出button与edittext一起上移,且背景不上移或者被压缩
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 今天实现一个界面,要求当选中区域B中的任意edittext时,B区域一起上移,但A区域保持不变(即不被软键盘挤压,也不会上移)……调了半天布局文件,还是没有获得满意的效果,现在已经可以实现B区域一起上移,但是弹出软键盘背景图案(A区域)还是会上移或者被挤压……很郁闷~~与这个效果相同:实...原创 2013-02-20 13:44:00 · 279 阅读 · 0 评论 -
android:layout_gravity 和 android:gravity 的区别
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。android:layout_gravity 和 android:gravity 的区别从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。a...原创 2013-03-21 17:35:00 · 91 阅读 · 0 评论 -
双缓冲技术
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> package com.gavin;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;i...原创 2013-04-30 19:29:00 · 94 阅读 · 0 评论 -
VelocityTracker简介
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity()或g...原创 2013-10-02 17:31:00 · 91 阅读 · 0 评论 -
Android各种访问权限Permission详解
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。 android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在...原创 2013-10-24 16:18:00 · 230 阅读 · 0 评论 -
Android高效加载图片,有效避免程序内存溢出异常
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程...转载 2014-03-09 00:28:00 · 104 阅读 · 0 评论 -
android SAX解析XML
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析。DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这个树结构了。优点:整个文档读入内存,方便操作:支持修改、删除和重现排列等多种功能。缺点:将整个文档读入内存中,保留了过多的不...原创 2012-03-05 23:06:00 · 132 阅读 · 0 评论 -
Android Pull 解析 XML
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> Pull 解析和 Sax 解析很相似,都是轻量级的解析。在 Android 的内核中已经嵌入了 Pull,所以我们不需要再添加第三方 jar 包来支持 Pull。Pull 解析和 Sax 解析不一样的地方有:1)Pull 读取 XML 文件后触发相应的事件调用方法返回的是数字2)Pull 可以在程...原创 2012-03-05 22:52:00 · 83 阅读 · 0 评论 -
Android程序运行时权限与文件系统权限的区别
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 要区分apk运行时的拥有的权限与在文件系统上被访问(读写执行)的权限两个概念。apk程序是运行在虚拟机上的,对应的是Android独特的权限机制,只有体现到文件系统上时才使用linux的权限设置。(一)linux文件系统上的权限-rwxr-x--x system system 4156 2010-04-...原创 2012-03-02 11:02:00 · 214 阅读 · 0 评论 -
并发-------线程池ThreadToolExecutor
线程池五种状态线程池具有以下五种状态,当创建一个线程池时初始化状态为RUNNING RUNNING 允许提交并处理任务 SHUTDOWN 不允许提交新的任务,但是会处理完已提交的任务 STOP 不允许提交新的任务,也不会处理阻塞队列中未执行的任务,并设置正在执行的线程的中断标志位...原创 2019-08-08 13:22:27 · 520 阅读 · 0 评论 -
【Android】用Studio完成多设备多分辨率的适配
我们打开工程默认的Layout文件夹,然后选中一个XML布局文件,然后在Studio的右上角,我们能看到列出了很多设备: 我们能看到这里面有各种各样大小和密度的设备。那我们知道在实际过程中,为了适配不同的屏幕,需要设置相应的XML文件夹(layout-normal,layout-large等),这样程序在读取到相应的设备的时候,能自动去不同的文件夹中读取。如果大家没有设置,那我们的...原创 2019-05-27 13:42:39 · 1629 阅读 · 0 评论 -
Android屏幕适配最优方案
屏幕适配主要从图片和距离(文字)进行下手。从以往的方式适配方式中,开发者可能会考虑各种各样的分辨率,比如480*800、1280*800、1920*1080等,为此在资源文件夹里面创建了一大堆子文件夹,那么有什么更好的方式吗?首先我们看下我的android studio模拟其中一些流行的镜像的屏幕参数信息上面举了两个例子,其实看了好几个发现大部分的屏幕虽然分辨率各种各样,但是dp...原创 2019-05-25 23:23:38 · 907 阅读 · 0 评论 -
InsetDrawable详解
InsetDrawable 表示一个drawable根据指定的距离嵌入到另外一个drawable内部。(我们看到的其实还是同一张图片,只是会空出一些边距)当控件需要的背景比实际的边框小的时候比较适合使用InsetDrawable。很像drawable的padding属性,区别在于 padding表示drawable的内容与drawable本身的边距,insetDrawable表示两个drawa...转载 2019-05-12 15:33:07 · 500 阅读 · 0 评论 -
Java中数据存储方式
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 堆栈(stack)。位于通用 RAM(random-access memory,随...原创 2012-02-03 09:47:00 · 554 阅读 · 0 评论 -
sharedPreferences的使用
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> sharedPreferences是android最简单的数据存储结构,使用的是key-value对。一:保存步骤如下:(1)获取 SharedPreferences对象 mySharedPreferencesSharedPreferences mySharedPreferences = getS...原创 2012-02-06 10:11:00 · 89 阅读 · 0 评论 -
Providing Resources/Android可使用的资源文件
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 你应该将代码和资源文件(比如图片和字符串)分开,这样你可以单独的来维护这些资源文件。你也可以通过特殊的名字的文件路径,为特定的设备配置提供可替换的资源文件。Android会基于现在的配置自动应用合适的资源文件。例如,你可以根据不同的屏幕尺寸提供不同的UI布局。一旦你将资源文件与程序代码分开保存,你可以通过资...原创 2012-02-06 14:23:00 · 121 阅读 · 0 评论 -
listview 隔行换色的方法
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> Adapter的getView中可以设置:public static final int[] colors = new int[] { 0xffaabb, 0x0099ff};@Overridepublic View getView(int position, View convertView, Vie...原创 2012-02-09 09:18:00 · 169 阅读 · 0 评论 -
移动联通电信wap和net接入点判断
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 在android网络开发中,对接入点判断是必不可少的,因为连接网络的时候如果是wap接入点,需要设置代。移动联通wap(代理相同:10.0.0.172:80),电信wap(代理:10.0.0.200:80)接入点类型:Net网络:运营商(移动联通电信)net网络,wifi,usb网络共享Wap网络:移...原创 2012-02-09 21:51:00 · 180 阅读 · 0 评论 -
Android ANR介绍与避免
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 今天面试遇到一个问题(什么是arn,怎么避免?),当时就傻了。回到家,在网上找到答案,在这里做个记录。Android开发的网友可能发现ANR的字样,到底Android ANR是什么呢? 其实ANR就是Application Not Responding的全称,当某个应用处于长期假死状态时Android系统...原创 2012-02-21 16:09:00 · 99 阅读 · 0 评论 -
Android Service和Binder、AIDL
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 1.首先理解service的作用和生命周期,由于activity如果切换,那么他就不再运行,那么我们想在玩游戏的时候听播放器中的音乐,activity就应运而生了,这是最常见的一种场景,同时service由于它的优先级比较高,不容易被回收,而且是独立进程,不会阻塞UI线程,因此,可以用来处理一些比较费时的...原创 2012-03-01 10:22:00 · 106 阅读 · 0 评论 -
Android (单帧布局)FrameLayout
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 感觉FrameLayout很神秘,是因为用到它的地方少,一直觉得它鸡肋,原来是自己无知。最近需要实现一些layer的效果,就用到了它。它的用法很简单,这里就不多说了,这里就说说它的原理吧。FrameLayout类里面没有什么东西,主要说的还是它的自身的布局参数FrameLayout.LayoutParam...原创 2012-03-02 08:56:00 · 192 阅读 · 0 评论 -
Android调用系统图库
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 上面一篇讲到Android调用系统相机时遇到的兼容性问题,没想到选择系统图库的时候竟然也遇到了系统兼容性问题,在这里记录下解决方案吧。首先是调用系统默认图库代码:Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaS...原创 2014-03-09 00:48:00 · 109 阅读 · 0 评论 -
Android生成唯一标识符UUID
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 在这次新版本的app开发中,其中增加了游客账号访问,但需要为该游客生成一个唯一标识符identity,最初考虑通过mac地址或者imei来唯一标识,但是后面有一项需求,游客账号可以升级,升级之后退出重新游客访问的话就需要生成新的identity,这样一来就必须手动生成唯一的identity了,好在java提供...原创 2014-03-09 00:52:00 · 1653 阅读 · 1 评论 -
andoird下使用ant
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> <?xml version="1.0" encoding="UTF-8"><project name="First-Aid" default="zipalign" basedir="."><property file="build.properties"></...原创 2012-02-10 09:18:00 · 112 阅读 · 0 评论 -
android broadcastReceiver生命周期及两种应用
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 一:Android 广播的生命周期 一个广播接收者有一个回调方法:void onReceive(Context curContext, Intent broadcastMsg)。当一个广播消息到达接收者时,Android调用它的onReceive()方法并传递给它包含消息的Intent对象。...原创 2012-02-17 23:14:00 · 202 阅读 · 0 评论 -
android开发进程1----对话框源代码
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> package com.jerry;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;i...原创 2012-02-01 16:42:00 · 111 阅读 · 0 评论 -
Drawable之getIntrinsicWidth()和getIntrinsicHeight()
在Android的开发中,凡是需要画图的地方大都离不开类Drawable。Android的官方文档中介绍这个类就是被设计用来表示可以被画的东西。A Drawable is a general abstraction for "something that can be drawn."细心的同学可能会发现这个类提供了这样两个方法:getIntrinsicWidth()和getInt...原创 2019-05-13 23:10:07 · 809 阅读 · 0 评论 -
Android Studio运行时自带签名配置过程详解
摘要Android Studio比Eclipse在配置Project签名文件时方便很多,可以同时指定debug和release两种模式下的签名文件。debug模式即Android Studio运行时指定的签名文件,默认使用Android Studio自带的签名文件,当然在开发中集成第三方功能,比如微信登录(收藏、分享、支付)、百度地图、新浪分享等应用程序时,往往需要使用自定义的签名文件,否则调...转载 2019-05-01 16:31:29 · 560 阅读 · 0 评论 -
Android开发之深入理解Android Studio构建文件build.gradle配置
通过这篇文章的学习,你会对build.gradle文件有一个全新的认识,可以将TeachCourse文章提到的相关说明作为文档参考,方便在另一个module中引入,代码如下:apply plugin: 'com.android.application'android { compileSdkVersion 24 buildToulsVersion "25.0.2" ...转载 2019-05-01 16:02:11 · 488 阅读 · 0 评论 -
Android Activity生命周期
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> Android中Activity的生命周期,我今天特意在重新总结一下.1大状态:1.1 Running状态:一个新的Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。该状态activity位于task的最顶端1.2 Paused状态:当...原创 2012-02-27 11:51:00 · 87 阅读 · 0 评论 -
Android 四种加载方式详解(standard singleTop singleTask ...
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> Android 四种加载方式详解(standard singleTop singleTask singleInstance)2012-02-03 14:05Android之四种加载方式(http://marshal.easymorse.com/archives/2950 图片)在多Activity开...转载 2012-02-29 08:19:00 · 119 阅读 · 0 评论