Android
文章平均质量分 90
小小攻城师
这个作者很懒,什么都没留下…
展开
-
Java正则表达式入门
Pattern funcElemPattern = Pattern.compile("(\\d+):(\\w+) (\\w+)"); String line = "oneway void LoginRsp(1:LSError lsErr, 2:string recoverToken, 3:i64 key)"; Matcher matcher = funcElemPattern.matche原创 2016-07-21 10:25:20 · 703 阅读 · 0 评论 -
Theme.AppCompat.Light无法找到问题
使用adt开发新建一个Android app,选择支持的SDK版本如果小于11(Android3.0)就会报如下错误。error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.官网给出的答案是:https://develop原创 2014-11-17 16:03:56 · 87390 阅读 · 1 评论 -
Android版本和API Level对应关系
Platform VersionAPI LevelVERSION_CODENotesAndroid 4.419KITKATPlatform HighlightsAndroid 4.318JELLY_BEAN_MR2Platform HighlightsAndroid 4.2, 4原创 2014-10-09 11:23:37 · 187618 阅读 · 9 评论 -
如何查看apk需要支持的Android版本
如果有一个apk,需要知道他最低安装支持的Android版本是什么,应该如何查看呢?直接将apk后缀名改为rar或者zip,拉出AndroidManifest.xml?不行,AndroidManifest.xml已经被编译过了,里面很多内容改为二进制了。其实用Android自带工具即可,进入Android SDK目录。cd sdk\build-tools\android-4.4.2 这原创 2014-10-09 11:31:55 · 21316 阅读 · 2 评论 -
Android NDK开发入门
网上一大堆的都是使用javah命令来生成头文件来完成JNI编写,但其实ADT集成NDK后,点点鼠标就可以了,懒人方法网上介绍很少,这边主要讲懒人JNI开发。对于ADT配置NDK,请个人google或查看Android developer,这边不多做介绍。1. 新建一个Android工程,我这边取名为JNI_Learn,一键生成后代码片段如下:public class JNI exten原创 2014-10-08 20:42:20 · 2675 阅读 · 0 评论 -
Fragment使用findFragmentById返回null
今天换新版本的ADT之后默认建立工程引入Fragment,之前对Fragment没有做过了解。想学习一下,在Activity的onCreate方法中无论怎么获取Fragment都是null,代码如下: protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "" + "ActionBarActivi原创 2014-09-29 21:53:27 · 30782 阅读 · 3 评论 -
最新Android面试题集锦
最近因为某些原因想换工作,整理一下个人觉得面试中还比较值得记录的一些题目,给需要找这方面工作的人一个借鉴。以下基本只记录题目或者大概答案,如果大家有比较详细的解答或者比较好的面试题木,希望各位看到的能补充在评论里,供后来人参考,谢谢。Java部分:1. 线程有哪几种实现方式 Thread、Runable比较简单,主要考点在关于线程池,因为我对线程池使用不多没有深入问。2.原创 2014-08-28 20:38:55 · 4131 阅读 · 1 评论 -
Android SurfaceTexture和GLSurfaceView做Camera预览
GLSurfaceView是OpenGL中的一个类,也是可以预览Camera的,而且在预览Camera上有其独到之处。独到之处在哪?当使用Surfaceview无能为力、痛不欲生时就只有使用GLSurfaceView了,它能够真正做到让Camera的数据和显示分离,所以搞明白了这个,像Camera只开预览不显示这都是小菜,妥妥的。Android4.0的自带Camera源码是用SurfaceView转载 2014-07-04 17:23:10 · 23350 阅读 · 7 评论 -
JD-GUI反编译后代码逻辑分析
一,用jd-gui.exe等工具查看源代码。如何你不会,可以参看此文章:http://blog.csdn.net/hp_2008/article/details/8207879 可以到以下连接下载可视化反编译工具:http://download.csdn.net/detail/hp_2008/5099046二,反编译后的源代码,是乱的,看不太懂。这是因为开发者在转载 2014-07-02 14:28:49 · 17414 阅读 · 3 评论 -
setOutputFormat called in an invalid state: 1
在编写一个简单的录像应用程序的时候,爆出如下异常:E MediaRecorder: setOutputFormat called in an invalid state: 1E AndroidRuntime: java.lang.IllegalStateExceptionE AndroidRuntime: at android.media.MediaRecorder.setOutput原创 2014-06-10 16:08:43 · 10208 阅读 · 6 评论 -
Android Activity全屏和设置背景色
我们都知道在Android中某些功能的实现往往有两种方法:一种是在xml文件中设置相应属性,另一种是用代码实现。同样Android实现全屏显示也可以通过这两种方法实现:1、在AndroidManifest.xml的配置文件里面的标签添加属性:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"2、在Activi转载 2014-06-10 11:45:01 · 9509 阅读 · 0 评论 -
Eclipse发生异常Unhandled event loop exception No more handles
eclipse发生异常:org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:4387) at org.eclipse.swt.SWT.error(SWT.java:4276) at org.eclipse.swt.SWT.error(SWT.java:4247) at org.e原创 2014-07-14 19:42:10 · 19907 阅读 · 8 评论 -
traceview缩小操作
mark笔记,也供别人查阅。关于traceview的使用有往上一大堆文档,当然最权威可以参考google dev:http://developer.android.com/tools/debugging/debugging-tracing.html但是国内文章一大抄一大转载,除了翻译google的原文外,都没有补充操作方式,在使用上很不方便,只能放大时间轴不能缩小,造成没办法回复初原创 2014-04-28 13:51:53 · 4901 阅读 · 2 评论 -
ioctl方法详解
设备控制接口(ioctl 函数)回想一下我们在字符设备驱动中介绍的struct file_operations 结构,这里我们将介绍一个新的方法:int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);这是驱动程序设备控制接口函数(ioctl函转载 2014-04-24 14:13:40 · 15660 阅读 · 0 评论 -
Android View的onTouchEvent和OnTouch区别
还是以自定义的TestButton为例。我们可以通过重写onTouchEvent方法来处理诸如down move up的消息:public class TestButton extends Button { public TestButton(Context context) { super(context); // TODO Auto-generated construc原创 2014-03-26 17:21:17 · 59410 阅读 · 5 评论 -
修改eclipse中文字体大小
貌似有不少人苦恼eclipse中文字体大小修改问题,默认的eclipse中文字体很小,和英文字体大小完全不在一个调子上,因为默认的eclipse juno中英文字体是Consolas,字体大小是10,但是大家会发现,如果代码中有中文,那中文的字体会比英文的字体小很多,如下图:明显的,默认的eclipse juno中英文字体比中文字体大很多,显得中文很模糊——eclipse中文字体大转载 2014-11-19 10:44:14 · 2034 阅读 · 0 评论 -
Android如何监控本应用被卸载
我们知道很多应用被卸载后,都会打开浏览器,请你反馈一下为何卸载他们,那他们怎么知道呢?我知道很多人会想到监听卸载广播android.intent.action.PACKAGE_REMOVED,但是你在被卸载的时候进程被kill掉,这个广播你是来不及接受,也没办法处理!另外一种去监听刚开始卸载的log,但有可能监听不到,或者也同样来不及。最理想的方式我想大家都知道,就是另外一个app监听原创 2015-01-28 12:16:03 · 6514 阅读 · 1 评论 -
Android代码混淆失败
Reading input... Reading program jar [/data/rdm/projects/7060/bin/proguard/original.jar] Reading program jar [/data/rdm/projects/7060/libs/android-support-v4.jar] Reading library jar [/data/rdm/原创 2014-12-19 11:21:59 · 10737 阅读 · 0 评论 -
ListView中的onItemClick无法被响应
按照网上绝大多数人的说法,基本都是如下解决方案:http://www.cnblogs.com/ycxyyzw/p/3672366.html但是我的listview就是死活不能被点击,最后一点点删代码,发现BaseAdapter的isEnabled代码引发的问题,我直接全部返回false了。如下copy官方解释:isEnabledAdded in API level原创 2016-07-06 15:40:29 · 730 阅读 · 0 评论 -
Xposed Android Java Hook
官网文档这个链接:https://github.com/rovo89/XposedBridge/wiki/Development-tutorial,看E文麻烦请看下面即可Xposed Java Hook有点是非常简单,缺点是需要重启手机非常麻烦。Xposed是Android下Java层的开源Hook框架类似的有cydiasubstrate框架并且据说cydiasubstrate框架转载 2016-05-13 10:39:03 · 3518 阅读 · 0 评论 -
Android4.4 xposed安装失败(the xposed framework is not installed)
下载Xposed Installer之后,点击框架,提示信息如下:The Xposed framework is not installed. Please download the latest ZIP file frome XDA and flash it manually via recovery.我的系统版本是4.4,xposed installer版本是3.0,提示信息如上。原创 2016-03-23 10:50:22 · 23839 阅读 · 0 评论 -
动态调试反编译的apk
初涉移动端,请各位前辈多多指教!本文参考http://www.kaifazhe.com/android_school/380973.html在此,对作者表示感谢!跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够动态调试就最好了。下面就给大家介绍apk+eclipse来调试smali。前期准备:ec转载 2016-03-11 08:37:04 · 3667 阅读 · 0 评论 -
Android 签名验证机制
签名后的APK,在/META-INF目录下会生成以下3个文件: MANIFEST.MF:保存除META-INF文件以外其它各文件的SHA-1+base64编码后的值。 CERT.SF:在SHA1-Digest-Manifest中保存MANIFEST.MF文件的SHA-1+base64编码后的值,在后面的各项SHA1-Digest转载 2016-02-17 15:23:39 · 1329 阅读 · 0 评论 -
Android酷炫实用的开源框架(UI框架)
Android酷炫实用的开源框架(UI框架)前言忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架,接下来会有其他的开源框架(如:HTTP框架、DB框架)。1.Side-Menu.Android分类侧滑菜单,Yalantis 出品。项目转载 2016-02-03 17:36:10 · 1077 阅读 · 0 评论 -
Android 加载不同 DPI 资源与内存消耗间的关系
1 Android DPI 分级标准简介Android 设备在物理尺寸和屏幕密度上都有很大的不同,为了简化多设备的设计方案,就是设定一套分级标准。屏幕密度上的分级标准就是:LDPI、MDPI、HDPI、XHDPI,也就是各种大小的 DPI(Dots per inch)。DPI 就是屏幕像素密度的衡量标准。2 不同设备共享同一套 DPI 资源有哪些问题?现在进入正题。转载 2015-11-25 14:08:52 · 2022 阅读 · 0 评论 -
Android上玩玩Hook:Cydia Substrate实战
摘要:Hook的出现为开发者希望通过一个程序改变其他程序的某些行为的想法开拓了解决道路,而作为一款基于Hook的代码修改框架,Cydia Substrate可以修改任何主进程的代码,本文作者以广告注入的实战详细介绍了Hook的过程。CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投转载 2015-09-23 11:10:08 · 2529 阅读 · 0 评论 -
Unity3d Assembly-CSharp.dll加密
解密无非就为了 修改游戏功能数据、提取游戏资源、加入自己想加的广告...加密就是保护游戏不被恶意修改,经常看到有人说:"加什么密,你以为自己写的代码很NB?见不得人?"我只想说,加密并不是不想让别人看到我的游戏逻辑代码,而是不想别人去恶意的修改自己做的游戏罢了...先说下关于Unity C#代码部分的加密(Android和IOS有时间再细说),很多人说混淆,虽然有几个混淆插件Cod转载 2015-07-17 10:37:16 · 10228 阅读 · 0 评论 -
drawable中shape的使用
想美化一下程序里的EditText,发现网上关于美化的文章较少,即使有也大多是直接翻译文档,索性一边研读一边写例子。先看一下文档对Shape Drawable的描述:Shape DrawableAn XML file that defines a geometric shape, including colors and gradients. Creates aShapeD转载 2015-07-03 09:52:02 · 1686 阅读 · 0 评论 -
判断Android是否有root权限
public class RootUtil { public static boolean isDeviceRooted() { return checkRootMethod1() || checkRootMethod2() || checkRootMethod3() || checkRootMethod4(); } private stat原创 2015-03-30 17:39:11 · 3402 阅读 · 0 评论 -
Android静默安装应用
应用宝、360应用、豌豆荚等等都有一个比较好的功能就是下载应用自行安装,不用弹出安装应用对话框,他是怎么做到的呢?这边采用在应用内部使用shell实现,但前提必须root,代码很简单: public static void InstallAPK(String filename){ File file = new File(filename); if(file.exi原创 2015-01-21 17:20:29 · 1955 阅读 · 0 评论 -
Android混淆代码
Android代码混淆是必须的,java层代码如果不做混淆等于把源代码送人了。那如何做混淆呢?之前一般都是提到采用proguard.cfg,但使用新版本ADT后没有这个文件了,取而代之的是proguard-project.txt文件。那该如何使用呢?在项目根目录下有个project.properties,里面有如下内容:# To enable ProGuard to shrink an原创 2014-12-15 12:38:49 · 1443 阅读 · 0 评论 -
Android自动打开和关闭软键盘
现在有一个需求是说希望可以自动的隐藏和打开软键盘,场景是使用在alert dialog中有一个文本框,弹出dialog同时自动弹出键盘,编辑后点击完成直接关闭。使用的方式是:inputManager.showSoftInput(tvEditor, InputMethodManager.SHOW_FORCED);如果使用参数InputMethodManager.SHOW_IMPLICI原创 2014-12-23 15:24:03 · 14443 阅读 · 1 评论 -
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class
重写Android默认Button按钮引发异常:Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class com.example.activity1.TestButton自定义控件的代码如下,只是简单重写onTouchEvent方法,一直没办法正常使用。pu原创 2014-03-25 17:49:51 · 43998 阅读 · 1 评论 -
ASensorEvent 详解
ASensorEvent Struct Reference#include AndroidSensorDevice.h>Collaboration diagram for ASensorEvent:[legend]Public Attributesint32_t version int32_转载 2014-04-18 10:52:04 · 4437 阅读 · 0 评论 -
Binder框架在Framework层的C++中的使用
关于Binder在C++层的使用,搜过几篇文章,讲得比较多,也比较复杂,除非是想对OpenBinder这个开源项目深入研究,否则的话,用不了那么多的知识。我因为需要移植Android调些Framework层的Bug,一般跟踪程序时只要能找到谁调用的谁就可以了。接触过这部分一段时间后,就整理出了Android中在Framework层的C++中使用Binder时的框架。很简单,借此可以很容易理清Fra转载 2013-03-18 11:21:50 · 1223 阅读 · 0 评论 -
Android Camera调用流程
Android中Camera的调用流程可分为以下几个层次:Package->Framework->JNI->Camera(cpp)--(binder)-->CameraService->Camera HAL->Camera Driver以拍照流程为例:1. 各个参数设置完成,对焦完成后,位于Package的Camera.java会调用Framework中Camera.java的take转载 2013-03-12 13:13:45 · 1335 阅读 · 0 评论 -
Android的底层库libutils介绍
第一部分 libutils概述 libutils是Android的底层库,这个库以C++实现,它提供的API也是C++的。Android的层次的C语言程序和库,大都基于libutils开发。 libutils中的头文件如下所示:frameworks/base/include/utilslibutils的源文件:frameworks/base/libs/ut转载 2013-03-11 20:07:04 · 3886 阅读 · 0 评论 -
Android应用开发多语言文件夹
中文(中国):values-zh-rCN中文(台湾):values-zh-rTW中文(香港):values-zh-rHK英语(美国):values-en-rUS英语(英国):values-en-rGB英文(澳大利亚):values-en-rAU英文(加拿大):values-en-rCA英文(爱尔兰):values-en-rIE英文(印度):values-en-rIN原创 2013-02-21 13:29:56 · 1343 阅读 · 0 评论 -
Android C++ 线程使用
Android对Linux线程提供了C++封装Thread类,它是线程的基类。使用Thread类,需创建一个新类继承于Thread类,并实现threadLoop()方法,它即是线程函数。要启动线程,调用run()函数即可。 /* * Android线程封装的基类 */class Thread : virtual publ转载 2013-02-20 20:44:36 · 4789 阅读 · 0 评论 -
Android实现左右滑动指引效果
本文介绍Android中实现左右滑动的指引效果。 关于左右滑动效果,我在以前的一篇博文中提到过,有兴趣的朋友可以查看:http://www.cnblogs.com/hanyonglu/archive/2012/02/13/2349827.html 如果想实现带渐显按钮的左右滑动效果,请访问博文:http://www.cnblogs.com/hanyonglu/archiv转载 2013-01-21 13:15:15 · 1278 阅读 · 0 评论