android
龙泉剑
keep moving
展开
-
Android Notification 使用(震动 闪屏 铃声)
一、 Notification 简介 在 android 系统中,在应用程序可能会遇到几种情况需要通知用户,有的需要用户回应,有的则不需要,例如: * 当保存文件等事件完成,应该会出现一个小的消息,以确认保存成功。 * 如果应用程序在后台运行,需要用户的注意,应用程序应该创建一个通知,允许用户在他或她的回应提供便利 * 如果应用程序正在执行的工作,用户必须等待(如装载文件),应用程转载 2015-12-15 19:01:59 · 1392 阅读 · 0 评论 -
android 反编译apk
Android 反编译apk是指将apk文件反编译得到java的class文件,从而可以查看生成apk的源码。步骤如下:1、将待反编译的apk文件的后缀名改为.zip。2、将zip文件解压缩后会得到class.dex文件。3、使用dex2jar(这是一个将dex文件转换为jar文件的工具,可以到网上下载,很多), 将class.dex文件拷贝到与dex2jar.bat原创 2013-12-03 14:40:02 · 1031 阅读 · 0 评论 -
Android AsyncTask介绍
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l转载 2013-12-09 16:02:43 · 838 阅读 · 0 评论 -
android fragment详细介绍
目录(?)[-]Fragment要点设计哲学 创建Fragment添加一个用户界面 将fragment添加到activity撰写代码将fragment添加到一个已存在的ViewGroup添加一个无UI的fragment管理Fragment处理Fragment事务与Activity通信为Activity创建事件回调方法添加项目到ActionBar处理转载 2013-10-30 15:36:25 · 940 阅读 · 0 评论 -
Android 防止EditText显示时自动获取焦点
默认情况下EditText显示时会获取焦点,这时系统会自动调出输入法编辑框,而我们希望在点击EditText时再调出输入法编辑框。这时可在布局文件中找到EditText并在前面加上如下代码: <LinearLayout android:focusable="true" android:focusableInTouchMode="true" andr原创 2013-10-16 23:44:32 · 867 阅读 · 0 评论 -
android 自定义视图控件开发
android中视图控件的基类是View类,用户自定义视图控件可以从该类继承。View的生命周期如下:1、构造函数:执行类的初始化工作。2、onMeasure:决定View的尺寸,该尺寸是能够放下所有子控件的最小外包矩形。3、onLayout:决定子控件的尺寸和位置。4、onSizeChanged:当View的尺寸发生改变时调用。5、onDraw:当View发生重绘时调用。原创 2013-08-27 15:07:05 · 827 阅读 · 0 评论 -
Android 关于Service的几点理解
1、Service运行在系统的主线程中,所以不要在service中直接执行一些耗时的操作,如果需要可以另起线程执行。2、Service有它自己的生命周期,用startService的方法启动,生命周期为onCreate->onStart->onDestroy; 用bindService的方法启动,生命周期为onCreate->onBind->onDestroy。3、用star原创 2013-08-23 10:45:02 · 818 阅读 · 0 评论 -
Android 编译报错
很久没有开发Android程序了,最近打开eclipse发现原来的Android工程报错了。根据控制台的输出发现:1、aidl没有生成java文件。2、R文件找不到。经检查,代码没有问题,只是为什么会编译报错呢?最后发现是项目的gen文件夹没有加入到source文件夹编译路径中。解决方法:打开工程属性->java build path 在source选项中将gen路径加入即原创 2013-07-30 10:49:59 · 1198 阅读 · 0 评论 -
Android launchmode 代码验证
在Android中,每个Activity有4种LaunchMode,默认是standard,下面对这四种模式进行实例验证加深理解。 设计两个Activity,分别称为A,B,每个Activity上面都放置两个按钮,一个启动A,一个启动B。 界面如下:(上面的一行文字用来识别是在A界面还是在B界面) 在代码中实现onCreate(): Java代码转载 2013-05-23 10:09:04 · 891 阅读 · 0 评论 -
android Bitmap getByteCount和getRowBytes
今天做图像缓存需要计算Bitmap的所占的内存空间,于是研究了下Bitmap关于内存占用的API1、getRowBytes:Since API Level 1,用于计算位图每一行所占用的内存字节数。2、getByteCount:Since API Level 12,用于计算位图所占用的内存字节数。经实测发现:getByteCount() = getRowByte原创 2013-04-12 15:44:17 · 6289 阅读 · 0 评论 -
Android Proguard设置
Android混淆器配置代码 # ------------------------------------- # android 原始混淆模板 # ------------------------------------- # ---------------------------------- # 通过指定数量的优化能执行 # -opt转载 2013-12-12 21:23:01 · 891 阅读 · 0 评论 -
android SurfaceView和View的区别
如果你的游戏不吃CPU,用View就比较好,符合标准Android操作方式,由系统决定刷新surface的时机。 但如果很不幸的,你做不到不让你的程序吃CPU,你就只好使用SurfaceView来强制刷新surface了,不然系统的UI进程很可能抢不过你那些吃CPU的线程。 当然其实不止这两种方法来刷新Surface的,这两种只是纯Java应用比较常见的方法。 SurfaceVi转载 2014-02-10 14:37:33 · 972 阅读 · 0 评论 -
MTP in Android
2013-05-02 16:18 28955人阅读 评论(28) 收藏 举报目录(?)[-]MTP in Android一 背景知识介绍1 MTP协议介绍2 OS对MTP的支持及认证二 Android中的MTP1 Android中MTP的代码架构2 MTP流程分析三 总结经作者同意,转发我们公司MTP专家转载 2015-11-08 15:24:58 · 785 阅读 · 0 评论 -
Win7 PC无法识别android手机 / adb interface有黄色感叹号
今天公司停电,因此把安卓项目带回宿舍做。宿舍的笔记本,装的是Win7 x64,手机连上电脑后,windows可以识别,但Eclipse的DDMS中却无法识别,什么都没有:然后打开设备管理器查看,发现windows能正常识别设备(HUAWEI C8817E),而ADB Interface(有的机器可能显示Android ADB什么的)却显示有黄色感叹号,是驱动程序没有正常安装:转载 2015-11-08 15:23:34 · 33585 阅读 · 10 评论 -
Android中Java和JavaScript交互
Android中Java和JavaScript交互SEP 20TH, 2014Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。如何实现实现Java和js交互十分便捷。通常只需要以下几步。WebView开启转载 2014-10-11 14:12:13 · 776 阅读 · 0 评论 -
android sqlite多线程读写
在项目中需要用到多线程操作数据库,原创 2014-11-12 14:51:09 · 2468 阅读 · 0 评论 -
Android:Layout_weight的深刻理解
最近写Demo,突然发现了Layout_weight这个属性,发现网上有很多关于这个属性的有意思的讨论,可是找了好多资料都没有找到一个能够说的清楚的,于是自己结合网上资料研究了一下,终于迎刃而解,写出来和大家分享。首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间。看下面代码:转载 2014-11-13 10:31:28 · 681 阅读 · 0 评论 -
ANDROID 中UID与PID的作用与区别
PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在android系统中一般不会把已经kill掉的进程ID重新分配给新的进程,新产生进程的进程号,一般比产生之前所有的进程号都要大。UID:一般理解为User Identifier,UID在li转载 2014-03-29 14:35:28 · 1164 阅读 · 0 评论 -
android eclipse 导入工程报错unable to get system library for the project
在eclipse中导入android工程报错,unable to get system library for the project 解决方案如下:1、没有导入android sdk,选中工程,在工程->属性->android界面上配置你需要的sdk即可。2、如果方法1不能解决,那么打开project.properties文件,查看里面需要的sdk版本,如果电脑上装了选择对应的版本,如果原创 2014-03-28 11:22:25 · 2773 阅读 · 0 评论 -
百度地图Android版SDK离线地图
官网导入方法如下:(连接为:http://developer.baidu.com/map/sdkandev-10.htm)1.离线地图简介百度地图SDK自2.0.0版本起,采用的是矢量版离线地图,请开发者在下载时注意选择。 使用离线地图,请下载。2.初始化在使用offline map之前需先创建MapView。MapView的创建详见Hello World部原创 2014-03-10 16:15:07 · 2925 阅读 · 0 评论 -
android sdk升级到4.4后的兼容性问题
今天通过SDKManager将android的SDK升级到了android4.4.2,具体信息如下:升级后遇到了如下问题:1、原有的android2.3.3的项目可以通过编译,但是运行时报错,报错信息为:Conversion to Dalvik format failed: Unable to execute dex:.........清理项目无法解决该问题。打开项目目录,原创 2014-02-14 11:31:23 · 1767 阅读 · 0 评论 -
Android 加载大图片造成OOM异常解决方法
Dalvik对android应用程序的最大内存有限制,而解析图片又是比较耗资源的,比如说解析一个2048*1536的位图需要12M的内存,这通常会造成OOM。解决方案:根据设备的分辨率降低待加载的图片的质量,比如说设备分辨率为480*320,那么只需要将待加载的图片(比如:2048*1536)压缩成480*320就可以了,至于怎么压缩android SDK提供了解决方案,具体作法如下:原创 2013-04-10 15:28:48 · 2357 阅读 · 0 评论 -
Android Selector
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时转载 2013-04-08 16:16:13 · 821 阅读 · 0 评论 -
android 获取通讯录联系人信息
android 中获取通讯录中联系人信息,代码如下: /** * 获取联系人信息,包括:名称、号码、头像 * @return */ private ArrayList getPhoneContacts(){ Log.i(TAG, "getPhoneContacts"); ContentRes原创 2012-08-29 13:35:31 · 3536 阅读 · 0 评论 -
android google map开发
本文节选于机械工业出版社推出的《Android应用开发揭秘》一书,作者为杨丰盛。本书内容全面,详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpenGL等高级知识。另外,本书还全面介绍了如何利用原生的C/C++(NDK)和Pyth转载 2012-08-17 16:40:21 · 4915 阅读 · 0 评论 -
android 消息机制浅析
android消息机制主要涉及到以下内容:Message, Looper,Handler。其原理为:消息线程(默认是主线程,也就是UI线程),维护一个消息循环和一个消息队列,工作线程向消息队列中添加消息,消息循环从队列中取出消息并处理。其中Looper类负责消息循环和消息队列,Message类是消息的载体,Handler类负责消息队列中添加消息和消息的处理。Looper的prepa原创 2012-08-14 14:40:37 · 1287 阅读 · 0 评论 -
android gravity padding margin 布局属性使用说明
android:gravity 用来设置控件自身内容在控件中的布局,比如一个Button控件设置 android:gravity="center"则表示该Button中的文字在Button上居中显示。android:layout_gravity 用来设置控件相对于其父控件的布局,比如原创 2012-07-24 12:31:38 · 1876 阅读 · 0 评论 -
android service生命周期
服务的生命周期部分内容参考自CSDN博客:http://blog.csdn.net/wtao158/archive/2010/01/08/5149721.aspx 有了 Service 类我们如何启动他呢,有两种方法: • Context.startService() • Context.bindService() 1.转载 2012-07-24 14:35:50 · 768 阅读 · 0 评论 -
android创建sqlite数据库及在SD卡上创建数据库(二)
二、在SD卡上创建数据库 通过android的SQLiteOpenHelper类的源码,可以看到SQLiteOpenHelper类的getWritableDatabase这个接口实际上调用的是Context的openOrCreateDatabase方法,而这个方法是不支持带路径的数据库名称的,也就是说,用这个方法创建的数据库只能放在/data/data/包名称/ 目录下;要原创 2012-08-07 10:46:27 · 11196 阅读 · 11 评论 -
android创建sqlite数据库及在SD卡上创建数据库(一)
一、在手机的/data/data/应用程序包名/ 目录下创建数据库如果创建的数据库的大小比较小的话,可以用android自带的SQLiteOpenHelper类直接将数据库生成在手机的/data/data/应用程序包名/目录下,方法如下: 写一个MySQLiteOpenHelper类继承自SQLiteOpenHelper类,并重写onCreate和onUpdate方法。原创 2012-08-06 13:36:11 · 8244 阅读 · 0 评论 -
android sqlite db-journal文件产生原因及说明
今天在android中将sqlite的数据库文件生成在SD卡上的过程中,发现生成的.db文件的旁边生成了一个大小为0的与数据库文件同名的.db-journal文件,不明白此文件的用途,于是google了sqlite的官方文档,发现该文件的用途如下:该文件是sqlite的一个临时的日志文件,主要用于sqlite事务回滚机制,在事务开始时产生,在事务结束时删除;当程序发生崩溃或者系统断原创 2012-08-06 11:18:37 · 27090 阅读 · 8 评论 -
android 大位图复制
android sdk 中的Bitmap类提供了一个实例方法copy用来复制位图,该方法在复制较大图像时容易造成内存溢出;原因:该方法在复制图像时将在内存中保存两份图像数据。 为了解决这个问题,可以将大图像写入SD卡中的一个临时文件中,然后再从文件中取出图像。根据以上思路用代码如下: /*** 根据原位图生成一个新的位图,并将原位图所占空间释放* @原创 2012-06-13 14:02:13 · 9685 阅读 · 0 评论 -
android 消息机制浅析(二)
前面的文章中对android消息机制作了一个简单介绍,通常的用法为:1、在带有消息循环的线程中创建handler;2、在其他线程中创建消息,并绑定handler,通过handler发送消息;3、在handler的handleMessage方法中处理消息。在这里有几个疑问:1、既然要在带有消息循环的线程中创建handler,那么为什么通常我们创建handler时,不需要创原创 2012-09-03 12:10:01 · 836 阅读 · 0 评论 -
android dip dp px pt sp 的区别及联系
dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位转载 2012-10-08 09:54:14 · 1270 阅读 · 0 评论 -
android adb命令
这个adb命令貌似挺好用的。把常用的记下来以便以后查找。device命令如果你只连接一个模拟器或者只有一个手机,这些命令用不到。不过你电脑连接了m个手机+n个模拟器,就可能要用到这些命令了。-d 设备 (如果只有一个设备,即使有1000个模拟器,这样就是操作设备)-e 模拟器 (如果只有一个模拟器,即使有2000个设备,这样也是操作模拟器)-s 序列号 (如果设备、模拟转载 2013-03-25 11:01:41 · 1280 阅读 · 0 评论 -
android 调用另一个apk中的Activity
有时候需要在一个apk中调用另一个apk中的某个Activity,比如要在apk A中调用调用apk B中的TestActivity。一种实现方法是在apk A 和 apk B中使用相同的用户ID,即分别在两个apk的AndroidManifest.xml中为manifest节点添加属性android:sharedUserId="约定的ID"。然后在apk A中打开TestActi原创 2013-03-22 10:04:46 · 1240 阅读 · 0 评论 -
android meta-data
在AndroidManifest.xml中,元素可以作为子元素,被包含在、 、和元素中,但不同的父元素,在应用时读取的方法也不同。1 :在Activity的应用。 xml代码段: java代码段: ActivityInfo info=this.getPackageManager()转载 2013-04-02 15:43:27 · 1142 阅读 · 0 评论 -
android 事件机制
如果看了下面的文章有部分你觉得熟悉,那不用想了,我是截取过来的^0^,然后补上一些细节问题,理解更方便。(说明:下面是抄袭网上两遍文章组合成的,自己只是加了点点改动)概念介绍1、onInterceptTouchEvent()是用于处理事件(重点onInterceptTouchEvent这个事件是从父控件开始往子控件传的,直到有拦截或者到没有这个事件的view,然后就往回从子到父控件转载 2013-03-19 14:21:37 · 680 阅读 · 0 评论 -
android 引用类库工程编译时报错
在android 工程中引用了一个android library project,每次在打开eclipse时总是报一些奇怪的编译错误,大体意思是说无法识别项目中引用的类型。但是我明明指定了android的sdk,通过clean工程,甚至重启eclipse都无法解决,百思不得其解。无奈之下,将类库工程close掉,再重新open问题得到解决。原创 2013-03-13 10:10:28 · 1888 阅读 · 0 评论 -
android 在EditText内嵌入图片资源
最近在作一个Android的搜索框,类似于用到了EditText,但是如何在EditText中嵌入一个提示性的图片呢?查看了SDK文档,在EditText中没有找到相关属性,最终在TextView中找到了android:drawableLeft这个属性,官方的解释是:The drawable to be drawn to the left of the text.而EditTe原创 2013-03-12 14:04:08 · 4446 阅读 · 4 评论