Android开发
文章平均质量分 91
Harlan9001
这个作者很懒,什么都没留下…
展开
-
实质是Out Of Memory 的android.view.InflateException: Binary XML file line #75: Error inflating class
今天解bug遇到android.view.InflateException问题在索尼L36H上是正常的,而在天语手机上就报错了。显示的错误行竟然是ImageView,而不是自定义的View纠结了半天,才发现真正原因是out of memory错误。网上搜索相关资料,有http://stackoverflow.com/questions/75369原创 2015-03-05 16:24:02 · 1321 阅读 · 0 评论 -
Android手机获取Mac地址
public class MacUtil { public static String getLocalMacAddress() { String Mac=null; try{ String path="sys/class/net/wlan0/address"; if((new File(path)).exi原创 2015-01-23 13:24:59 · 2256 阅读 · 0 评论 -
索尼 sony L36H 刷机后logcat不输出问题
作为开发者,用的手机运行一段时间后就会产生大量的垃圾。作为一个善疑的开发者,仅仅相信垃圾清理软件是不可能的。作为一个比较懒惰的开发者,刷机变成了不二选择。好了,废话一大堆。索尼L36H刷机4.4.4之后,adb logcat竟然不输出了。只显示:Unable to open log device '/dev/log/main' : No such file or d原创 2014-12-29 10:24:21 · 2508 阅读 · 0 评论 -
百度地图SDK和百度导航SDK合并冲突问题
使用百度地图的SDK+百度导航SDK使用demo直接合并libs会发现某一个包的始终导入不了。解决方法:进入http://lbsyun.baidu.com/sdk/download选择需要的功能,下载开发包将下载下来的开发包替换到相对位置中就不出错了。原创 2015-01-09 15:00:26 · 5738 阅读 · 1 评论 -
HiTabs——Android Fragment界面框架快速开发
在如今移动端的即时通讯APP中,微信可谓是江湖霸主。在做即时通讯的项目时,考虑到用户学习成本,BOSS们往往喜欢“学习微信”一把。在做项目一期的时候,高仿的微信。做了俩月,改成独立设计的界面。是为二期。又是俩月。二期演示之后,觉得界面太炫花里胡哨。于是三期又改为仿微信。此时微信的主界面已由文字Indicator切换为透明过渡的Indicator了。不管了,做原创 2014-12-16 17:12:22 · 1944 阅读 · 0 评论 -
ZXing 二维码Surface拉伸问题处理
zxing横屏变 关键:CameraConfigurationManager.java文件在 Log.d(TAG, "Screen resolution: " + screenResolution);这句之后增加Point screenResolutionForCamera = new Point(); screenResolutionForCam原创 2014-09-28 13:21:17 · 1584 阅读 · 0 评论 -
Android APP自动生成桌面快捷图标 启动方式有差异
今天测试提了个bug1.已经登录过的app,退出登录进注册页面2.输入手机号获取注册信息3.回到手机主页查看信息4.再次打开结果:小宝默认登录了建议:用户没有进行退出操作,只是按了手机的主页键,再点天赐小宝时,建议直接到注册页面,便于用户输入验证码原创 2014-09-23 12:22:44 · 4477 阅读 · 0 评论 -
Android AIDL -通过一个比较完整的Demo快速运用
前端时间项目运用到AIDL,关于AIDL客户端以及AIDL服务端网络上没有一个比较完备的Demo.而参考Demo无疑是一个比较快速的学习方法.因此,我写了一个Demo.供大家参考,也非常欢迎大家对其中写的不好的地方进行指正. 好了,首先简述下基本功能:在AIDL 客户端三个EditText中输入三个值,点击提交按钮,将这三个值传入到AIDL服务端进行处理.服务端处理后会执行原创 2012-12-26 10:21:41 · 14417 阅读 · 3 评论 -
代码优化学习笔记
1.每当需要选择一个数据结构来解决问题时,最好将选择范围缩小到只有几个类,因为通常每个类为特定目的或为提供特定的服务而优化。例如,Vector内部有锁影响性能,如不需要在数据结构内部处理同步,应该选择ArrayList而不是Vector。2.内存分配是优化的一部分,可以提供一个备用机制,然后捕获outOfMemoryError异常,这样可以让程序跑在更多的设备上。虽然这种可选的优化让代码难以维原创 2013-11-14 18:35:18 · 1138 阅读 · 0 评论 -
Android使用FileInputStream和FileOutputStream进行文件I/O操作
在文件I/O操作上,除了标准的Java I/O类和方法外,Android系统本身提供了两个方法用于文件的读/写操作,以简化使用标准I/O的步骤。 openFileInput(String name)方法:用于读取当前应用文件夹下的文件,并返回FileInputStream输入流。 openFileOutput(String name,int mode)方法:用于向当前应用文件夹下输原创 2013-02-26 19:11:36 · 43047 阅读 · 2 评论 -
利用Java反射机制改变SharedPreferences存储路径
SharedPreferences原则上只能保存在当前应用程序私有的Shared_prefs目录中,但利用Java的反射机制可以改变系统内定的文件存储路径。例如:将config.xml文件保存在SD卡的根目录中。private void savePreToSDcard() { try { Field field; // 获取ContextWrapper对象中的mBas原创 2013-03-10 22:41:49 · 6584 阅读 · 13 评论 -
根据联系人号码获取sort_key以实现按字母排序
原理如下,根据联系人号码获得相关联系人的RAW_ID。 ContentResolver resolver = mContext.getContentResolver(); // Phone里面的数据 Cursor phoneCursor = resolver.query(Phone.CONTENT_URI, PHONES_PROJECTION, null, null, nul原创 2013-07-12 10:00:30 · 4466 阅读 · 0 评论 -
关于launcher改变tabs_container和tabhost位置引发的血案
滑动过快,launcher会卡住回到主界面09-22 09:07:48.515: D/dalvikvm(3845): create interp thread : stack size=32KB09-22 09:07:48.515: D/dalvikvm(3845): create new thread09-22 09:07:48.515: D/dalvikvm(3845): new原创 2013-09-22 09:49:32 · 2222 阅读 · 0 评论 -
Android4.0以上强制显示menu菜单按钮
/*** 显示menu菜单*/private void setOverflowShowingAlways() {try {ViewConfiguration config = ViewConfiguration.get(this);Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPer原创 2015-05-15 12:14:40 · 1704 阅读 · 0 评论 -
Android SDK更新下载失败以及Studio首次安装取消自动下载SDK
众所周知的原因,google总是访问不了。因此,配置环境的时候我们要使用代理或者翻墙。好在国内不少有良知的开发机构,提供了很好的地址供我们各取所需。推荐地址如下:http://www.androiddevtools.cn/下载Studio的最新安装包。点击安装。顺利遇到Fetching android sdk component information加载过原创 2015-04-05 10:24:15 · 20883 阅读 · 0 评论 -
Android Service 弹出系统全局Dialog
在Android Service中弹出全局Dialog对话框是一个很古老的问题。 很久之前解决过,但没有记录,今天遇到的时候又纠结了会儿。搜了下资料,千篇一律的解决方法无非是:dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 并增加权限<uses-permission android:name="a原创 2015-07-09 11:12:22 · 5751 阅读 · 1 评论 -
java.lang.IllegalStateException: No host
java.lang.IllegalStateException: No host at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1184) at android.support.v4.app.FragmentManagerImpl.mo原创 2015-10-29 14:09:10 · 7632 阅读 · 0 评论 -
A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 25427 (pool-1-thread-2)
开发的Android工程偶发性的crash掉,还没有任何可以补货的log信息。琢磨了一小会儿,才发现关键的crash信息是这个。A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 25427 (pool-1-thread-2)只有这么一行,其他没有。搜索了下,这个问题往往出在使用的so原创 2015-09-17 14:25:56 · 9463 阅读 · 3 评论 -
使用android-resource-remover遇到的问题
直接使用会报错:C:\Users\Administrator\Desktop\GitHub\android-resource-remover-master\test\android_app>lint --check UnusedResources ./ --xml lint-result.xml && android-resource-removerScanning android_app: ..原创 2015-10-19 11:04:52 · 1800 阅读 · 1 评论 -
电视TV端使用RecyclerView开发遇到的问题
最近在做一个TV端使用的相册。偷偷展示一下,相册大概长这个样子: 相册也支持多选删除: 非删除模式下点击单一图片会进入单一图片展示界面。单一图片可以左右翻页。 从展示界面返回相册界面,光标定位到展示图片所在的相册位置。主要控件使用了CardView 和RecyclerView。 TV开发和手机开发有个不同的就是焦点问题。原创 2015-09-15 15:44:55 · 10541 阅读 · 10 评论 -
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml
F:\WORKSPACE\STUDIO_20150715\MmAlbum2\app\src\main\AndroidManifest.xml:19:9-43 Error: Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:19:9-43 is also present at原创 2015-09-15 17:05:52 · 19637 阅读 · 5 评论 -
Android 基于源码的科学计算器——Calculator浅析
帮朋友搞一个Android计算器程序,为了偷懒,直接使用了源码里的计算器。但偷懒归偷懒,其中的知识还是应该学习的。好了,下面开始Calculator的浅析之旅 第一步,下载Calculator源码(具体参见博文http://blog.csdn.net/singleton1900/article/details/8434978)git clone https://android.原创 2013-01-05 21:48:37 · 33693 阅读 · 1 评论 -
RecyclerView自适应高度的LayoutManager
RecyclerView原生的LayoutManager并不能自适应宽高,此处实现了一个LayoutManager的子类,实现了自适应。留作备份。原创 2015-09-11 10:53:49 · 17970 阅读 · 5 评论 -
使用RecyclerView遇到的一些问题 Inconsistency detected
RecyclerView bug,Inconsistency detected,Invalid view holder adapter positionViewHolder原创 2015-09-11 10:33:10 · 25400 阅读 · 7 评论 -
消除App启动时候的白屏
launcher activity使用如下的主题即可: <!-- 消除启动时候的白屏 --> <style name="AppNoWhitTheme" parent="android:Theme.Light.NoTitleBar"> <item name="android:windowIsTranslucent">true</item> <item na原创 2015-07-13 16:07:43 · 1598 阅读 · 0 评论 -
基于无向图且权重单一的最短路径Dijkstra算法——JAVA实现
做一个无向图的权重单一的最短路径算法。模拟停车场最近车位的选择。首先参考了博友JavaMan_chen的博文http://blog.csdn.net/javaman_chen/article/details/8254309但是这个算法是有问题的。算法中,如果A点是当前点,是选取距离A点权重最小的那一点作为下一个路径点的。这就带来了一个问题,即原创 2015-07-09 13:31:53 · 5146 阅读 · 0 评论 -
将Android DHCPInfo 属性转换为int类型(使用BigInteger)
通过WifiManager,可以获取DhcpInfo参数,从而获取android IP地址及网关等信息 。DhcpInfo参数中,gateway,netmask,ipAddress都是int型。因此需要进行类型转换,转换成诸如172.22.198.5的IP地址。Android已经提供了类型转换方法,即:android.text.format.Formatter.form原创 2014-02-15 16:49:39 · 4514 阅读 · 1 评论 -
Android学习笔记(二)——手机控制
1.手机通知功能——Notification和NotificationManager的应用 Notification是Android系统中的一种通知服务,其通过状态栏、手机震动、LED和提示音等多种通知方式提供了丰富而良好的用户体验。使用步骤:(1)获取NotificationManager对象。通过调用系统NOTIFICATION_SERVICE服务,获取NotificationM原创 2013-01-06 18:48:38 · 3226 阅读 · 0 评论 -
android:drawableLeft的Button不能切换图片问题之解决办法
带有图片的Button小而精致。有时候我们需要2种表达状态。比如静音按钮,一个状态是静音,一个状态是非静音。例如: <Button android:id="@+id/btn_mute" style="?android:attr/buttonBarButtonStyle" android:layout_width="match原创 2014-03-29 15:41:28 · 3617 阅读 · 0 评论 -
Android使用tcpdump抓包
首先,需要下载tcpdump地址:全部抓包:adb remountadb shellcd data/local./tcpdump -p -vv -s 0 -w /sdcard/capture.pcap命令参数: # "-i any": listen on any network interface # "-p": disable promiscuo原创 2013-06-03 15:31:39 · 4164 阅读 · 0 评论 -
Android javah -jni 找不到类的解决方法
今天做jni的时候遇到如下问题:D:\eclipse_workspace\ZNDKTest\src>javah -jni com.example.zndktest.JniClient错误:无法访问 com.example.zndktest.JniClient未找到 com.example.zndktest.JniClient 的类文件javadoc: 错误 - 找不原创 2014-02-11 18:00:31 · 8683 阅读 · 1 评论 -
adbd cannot run as root in production builds的解决方法
部分手机root后,使用adb root会出现这个提示。原因是root不彻底。adb shell之后进入到$界面,su一下才进入到#。这个之后可以使用root功能了。注意到,这个时候exit的话,先是退回到$,之后才是退出shell。如此,adb pull 系统文件夹里面的东西就不方便了。比如,dev下面的东西。解决方案是给未root充分的手机安装adb原创 2014-01-21 13:12:25 · 77658 阅读 · 13 评论 -
模仿豌豆荚以及某些刷机软件获取手机屏幕图片
昨天花了一下午研究了下系统截屏,可行的方案有俩:1.手机端:读取/dev/graphics/fb0文件,该文件存储了当前屏幕画面的数据,将此数据转换成图片存储在手机端即可。但美中不足的是需要获取系统root权限。2.pc端:通过ddms连接手机,以IDevice的getScreenshot()方法获取手机屏幕信息。但缺点是手机需要开启adb调试。目前应用市场中只有一款Screensho原创 2013-11-13 09:20:50 · 5682 阅读 · 0 评论 -
个人简历制作——Android自动升级&个人“服务器”搭建
这段时间项目不忙,自己就琢磨着做一个Android开发工程师的个人简历。一个良好的App,必要的功能之一便是能够自动获取升级信息,方便用户进行选择更新。但个人开发不同于企业级开发,没有自己的服务器可用。自己购买一个服务器,则完全不合算。几乎每个人网络上都有blog,都有免费的网盘,所以,将二者结合起来,便可打造自己的“服务器”。 好了,我使用如下网页作为我的“服务器”:ht原创 2013-01-25 10:35:03 · 4675 阅读 · 4 评论 -
关于联系人表的关联
RawContacts.CONTACT_ID 和Contacts.ID是一致的。contact_id 和raw_contact_id不一样的。Phone.CONTACT_ID和.RawContacts.CONTACT_ID是一致的,可以通过这个字段进行互查,获取“sort_key”原创 2013-05-30 10:52:10 · 942 阅读 · 0 评论 -
在Eclipse中配置可调试无错误的Launcher源码
首先,需要准备一份谷歌Launcher源码。具体方法参见:Windows7 下载android源码下载到的代码是android4.2.2的,太新了。手机配置不够,因此我还是使用的4.0的Launcher。下载后的源码是应该用make编译的,但由于Launcher比较特殊,它与framework层交互的内容不多。我们没有必要为了一个小小的Launcher而下载整个源码,再进行单编。原创 2013-04-16 10:25:00 · 7104 阅读 · 7 评论 -
三星TouchWiz之listview单个Item左右滑动深入剖析(一)——思路篇
本想将此篇内容作为《个人简历制作》的系列篇之一。但三星的界面一直是大家关心学习的对象,因此,单开一篇,仅作为学习交流使用。如有可能,我会在业余时间研究下三星各个app的实现机制,并总结成一个系列。谁让三星这么令人喜爱呢!好了,言归正传。三星的Android系列机型,都使用了TouchWiz界面。Touchwiz很多操作非常人性化,这是其他品牌手机望尘莫及的。三星的Mms原创 2013-04-12 11:19:54 · 3337 阅读 · 0 评论 -
三星TouchWiz之listview单个Item左右滑动深入剖析(二)——实践篇
思路篇里面,我们已经知道实现左右滑动功能的思路。开宗明义,先上demo整体结构图。(零警告看着很舒服有木有O(∩_∩)O~)三种状态的效果图(从左至右依次是初始状态,左滑状态,右滑状态) 先上主菜,3个java文件:(1)SweepActivity:运用左右滑动功能的Activity。通过SweepCall原创 2013-04-13 22:50:37 · 8242 阅读 · 13 评论 -
Android与Javascript交互之入门
Android与Javascript交互主要是使用的WebView。关于WebView,一般涉及到2个类:WebChromeClient 和 WebViewClient 。开发的大致流程为(摘自Android developer):A WebView has several customization points where you can add your own behavi原创 2013-04-09 17:26:48 · 12989 阅读 · 3 评论 -
关于AIDL调用的安全机制(存在2个AIDL的被调用方)
之前做AIDL的时候,只考虑了AIDL的1对1的调用。今天考虑到项目安全性,跟大家讨论后发现了如下问题。为了与之前的博文http://blog.csdn.net/singleton1900/article/details/8434643描述风格表述一致,现在还是以AIDL服务端(被调用端),以及AIDL客户端(调用端)来表述。这个问题就是:AIDL客户端唯一,AIDL服务端存在2个,且都实原创 2013-03-19 10:51:49 · 7498 阅读 · 3 评论