- 博客(118)
- 资源 (51)
- 收藏
- 关注
原创 Android 开发中,有哪些坑需要注意?
最近正准备写一篇关于这方面的文章,正好看到知乎上的这个问题:Android 开发中,有哪些坑需要注意? - Android,索性以写答案的方式来写这篇文章,顺便推荐我之前在知乎上提出的一个问题:在Android开发的过程中,有哪些坑是值得你放在checklist中警示自己的? - 程序员,里面有一些有参考价值的答案。 作为一个有三、四年Android应用开发经验的码农,自然会遇到很多坑,下面是我能
2015-11-14 11:06:33
3413
原创 Android Studio使用过程中遇到的一些问题及解决方案
由于之前的项目太复杂,主要是考虑到JNI在AS上编译不方便,还要考虑到项目进度,最近才从Eclipse转到AS,主要方案是AS中只引用jar包和so,JNI的编译还是在Eclipse中进行。这过程中遇到过很多问题,记录下来方便后续查阅,本文中遇到的所有问题都是在Windows系统下。assets文件的存放目录在”src/main/”目录下,和java、res文件夹平级;引用libs文件夹中的so
2015-11-14 10:59:02
3701
原创 Android性能测试工具列表
测试应用的启动时间adb shell am start -W packagename/activity,eg:adb shell am start -W com.tencent.mm/.ui.LauncherUI,显示的结果中,thisTime和totalTime的含义分别为:thisTime: just current activity launched time**totalTime:**t
2015-09-22 21:04:44
3935
原创 使用软引用解决Handler内存泄露和显示Popupwindow、Dialog时提示"Unable to add Window-token is null"的问题
通过软引用解决Handler内存泄露的问题 下面对软引用使用的方式适用于任何内部类,严格来说是通过软引用解决静态内部类无法调用当前类中的对象和方法的问题,真正解决内存泄露是需要将内部类改成静态内部类。 当在一个类中按照如下方式创建一个Handler内部类时,使用Lint工具检测时会给出“This Handler class should be static or leaks might occu
2015-09-22 21:03:21
4383
转载 Android xml资源文件中@、@android:type、@*、?、@+含义和区别
本文转载自:Android 资源文件中@、@android:type、@*、?、@+含义和区别一.@代表引用资源1.引用自定义资源。格式:@[package:]type/nameandroid:text="@string/hello" 2.引用系统资源。格式:@android:type/name android:textColor="@android:colo
2015-04-10 08:27:32
7399
原创 关于APK瘦身值得分享的一些经验
从APK的文件结构说起 APK在安装和更新之前都需要经过网络将其下载到手机,如果APK越大消耗的流量就会越多,特别是对于使用移动网络的用户来讲,消耗流量越多就代表需要花更多的钱去购买流量。同时一些第三方应用商城也会对上传的APK大小有限制,所以为了能够让产品能够更受商城和用户欢迎,APK瘦身是第一步,更小的APK标示着更多地用户愿意去下载和体验。 为了能够减小APK的大小,首先需要知道APK由哪
2015-04-06 11:48:24
3604
原创 Android中selector的使用方法及注意事项
selector在Android中的运用 做过Android开发的都知道可以通过selector来改变按钮在正常、获得焦点和点击等不同状态下的显示效果,比如要实现下面这样的显示效果: 需要通过selector为按钮定义背景图片、按钮颜色的正反选效果:generate_data_btn_selector.xml<?xml version="1.0" encoding="utf-8"?><sel
2015-03-24 21:46:40
4045
转载 android 理解和使用自定义权限
本文转载自:android 理解和使用自定义权限执行运行时安全性检查 Android中的运行时安全性检查是在进程级别和操作级别上进行的。在进程级别,Android禁止一个应用程序直接访问另一个应用程序的数据。实现方法是,每个应用程序都在不同的进程中运行,使用唯一且固定的ID。在操作级别上,Android定义了一组受保护的功能和资源。要使用应用程序能够访问此信息,必须向 And
2015-03-24 20:47:43
3619
原创 Android清除数据、清除缓存、一键清理的区别
前言 在Android设备中,我们经常会看到与系统或者应用相关的清除功能有:清除数据、清除缓存、一键清理,这么多清除功能对于一个程序猿就够难理解了,偏偏很多安卓设备上都有这些功能,对于用户来说就更难理解,趁着在把玩手机的时候想到了这一点,索引追根究底了解他们的具体区别。清除数据、清除缓存、一键清理的区别清除数据 清除数据主要是清除用户配置,比如SharedPreferences、数据库等等,这些
2015-03-24 20:32:39
11339
原创 Android将数据库保存到SD卡的实现
有时候为了需要,会将数据库保存到外部存储或者SD卡中(对于这种情况可以通过加密数据来避免数据被破解),比如一个应用支持多个数据,每个数据都需要有一个对应的数据库,并且数据库中的信息量特别大时,这显然更应该将数据库保存在外部存储或者SD卡中,因为RAM的大小是有限的;其次在写某些测试程序时将数据库保存在SD卡更方便查看数据库中的内容。 Android通过SQLiteOpenHelper创建数据
2015-03-09 20:51:32
7889
1
原创 JXL自动换行的实现
Java语言中,操作Excel文件比较知名的库有:POI和JXL,我一直使用JXL,通过JXL写文件时,对于同一个单元格内容需要换行显示时直接在字符串后面加上”\n”是不能达到效果的,必须通过WritableCellFormat来完成该功能,具体实现如下:// 打开文件WritableWorkbook workBook = Workbook.createWorkbook( new File( fi
2015-03-07 08:36:57
9496
原创 Java中获取文件名、类名、方法名、行号的方法
在C语言中,可以通过宏FILE、LINE来获取文件名和行号,在Java语言中,则可以通过StackTraceElement类来获取文件名、类名、方法名、行号,具体代码如下:public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace();
2015-03-07 08:34:03
5018
原创 Android多分辨率适配经验总结
layout: posttitle: Android多分辨率适配经验总结category: Androidtags: Androidkeywords: Android,多分辨率适配description: Android多分辨率适配经验总结 Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图片
2015-03-07 08:28:12
3846
原创 Android中include标签的使用及注意事项
前言 include标签可以实现在一个layout中引用另一个layout的布局,这通常适合于界面布局复杂、不同界面有共用布局的APP中,比如一个APP的顶部布局、侧边栏布局、底部Tab栏布局、ListView和GridView每一项的布局等,将这些同一个APP中有多个界面用到的布局抽取出来再通过include标签引用,既可以降低layout的复杂度,又可以做到布局重用(布局有改动时只需要修
2015-02-01 17:04:54
12889
原创 在Adapter中使用Holder的那些坑
在使用GridView、ListView时,通常会在Adapter中采用Holder缓存每一项以提高效率,但如果没有用好Holder,这个缓存机制会导致许多意想不到的问题,结合自己的经验特地总结一下,以免今后再犯。内容错乱 在Adapter的getView方法中通过position更新每一项的内容,对于根据判断条件给每一项设置属性的情况,每个判断条件下都需要给每一项的每个属性赋值,否则在
2015-02-01 16:58:31
5819
原创 Windows系统下的奇技淫巧大汇总
不管你是Linux粉、MAC粉还是软粉,都不应该在不熟悉一个操作系统的情况下贬低它,这三种主流系统能够并存,说明都有各自的优势,作为一个软粉,结合最近在知乎和Quora上看到关于Windows系统中一些鲜为人知的技巧(链接见文末),特地汇总一下以飨读者。常用的快捷键:◆ WIN+D:显示桌面,再按一次还原桌面;◆ WIN+R:打开运行,输入命令可以执行相应操作,输入路径
2015-01-25 10:55:45
3375
原创 Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
ADB很强大,记住一些ADB命令有助于提高工作效率。1. 获取序列号: adb get-serialno2. 查看连接计算机的设备: adb devices3. 重启机器: adb reboot4. 重启到bootloader,即刷机模式: adb reboot
2015-01-25 10:46:46
41848
1
原创 Android一个APK多个入口(多个桌面图标)的实现
前言 Android应用一般都是一个APK一个桌面图标,但有时候我们需要实现一个APK在桌面上有多个图标(比如BAT的某些应用,有桌面快捷方式),对于这种一个APK需要在桌面上显示多个图标的,通常有两种方法来实现:1. 进入程序后生成桌面快捷方式,这个适合于在程序运行之后生成桌面图标;2. 在AndroidManifest.xml文件中配置多个入口,这个适合于程序
2015-01-21 21:53:43
8799
1
原创 Android CheckList
本文是作者从事3年Android应用开发总结的在Android开发中经常遇到或者容易犯错的地方,特地总结成checklist,以便在后面的开发中能够每一项都检查以便避免犯类似的错误。PS: 我在知乎上提了收集Android CheckList的问题在Android开发的过程中,有哪些坑是值得你放在checklist中警示自己的?,这个CheckList后续会不断更新。
2015-01-09 16:55:42
4007
原创 Android模仿打字机效果的自定义View实现
一、前言 在做splash界面的时候,需要做类似于打字机打字的效果,字一个一个地蹦出来,显示每一个字都带有打字的声音。二、效果演示 本例自定义View的演示效果如下(PS:一直不知道在Android上怎么录制gif格式的动画,索性在PC上跑Genymotion Android模拟器,然后用LICEcap录屏就可以了。)。
2015-01-09 16:52:47
5254
原创 在Activity的onCreate方法中显示PopupWindow导致异常的原因分析及解决方案
一、前言 在某些情况下,我们需要一进入Activity就显示PopupWindow,比如常见的选择界面。但由于PopupWindow是依附于Activity的,如果Activity没有创建完成,Activity还没完全显示出来就显示PopupWindow的话,会出现异常现象。二、问题复现 我在Activity的onCreate()方法中调用如下方法:
2015-01-04 20:25:42
5429
1
原创 Android开发者网址导航
The-Android-Developer-Site-NavigationA Site Navigation for Android Developers官网Android DeveloperAndroid Training 中文版Android API中文版Android API指南中文版Android设计指南中文版Material D
2014-12-18 16:55:13
1939
转载 Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组
本文转载自:Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组一. Android资源文件简介1. Android应用资源的作用(1) Android项目中文件分类在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源文件;-- 界面布
2014-12-12 12:28:11
1654
原创 Android手写开源项目和资料搜集
引言 Android的手写效率一直是件头疼的事情,比如手写效率、笔锋效果、手掌抑制等等,本文搜集了关于手写的开源项目和一些相关的文章资料。开源项目1 android-signaturepad项目地址:android-signaturepad项目介绍:这是一款银行手写签名的应用,通过event的getHistory方法获取存储在MotionEvent
2014-12-04 20:14:44
5459
转载 通过android:descendantFocusability解决listview每一项或项中view无法获取焦点的问题
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者C
2014-11-14 17:58:23
2068
转载 Android 自绘TextView解决提前换行问题,支持图文混排
先看下效果图:上面是MTextView,下面是默认的TextView。 一、原因用最简单的全英文句子为例,如果有一个很长的单词,这一行剩余的空间显示不下了,那么规则就是不打断单词,而是把整个单词丢到下一行开始显示。这样本来没有错。一是咱们中国人都是方块字,怎么都放得下,不存在英文的这个问题。所以不习惯那个排版。二是如果TextView里面有图片,如图,不知道判断单词
2014-11-14 14:13:41
4523
原创 三道经典的逻辑推理面试题:病狗、三盏灯、买鸡
题目一: 村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗。每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能看,观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的狗是病狗就是枪毙自己的狗(发现后必须在一天内枪毙),而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天大家
2014-11-12 13:01:45
6586
原创 Android模拟键盘输入功能的实现
在做关于输入框的操作指引时,用动态的输入效果比用静态的图片指示效果会好很多,本文结合最近需要实现的一个搜索输入操作指引的功能介绍一下android平台模拟键盘输入的实现。 在android上不知道怎么录制gif的动态图,直接截图看一下效果吧,具体看demo就行啦。 实现起来很简单,开一个线程,通过sleep控制输入字符的间隔时间,封装一个模拟键盘输入的方法
2014-11-12 09:53:57
8795
转载 Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交叉编译环境组建的说明,所以我这几天研究了一下,现在将具体的搭建方法分享出来,也给自己学习Cocos2d-x做个笔记。参考博文:http://www.cnblogs.com/lh
2014-11-08 10:26:27
2141
原创 Android手掌抑制功能的实现
最近需要实现一个功能,在Activity中有一个手写区域,为了更好的用户体验,需要满足即使整个手掌放在屏幕上时(android平板,屏幕比较大)也只响应手写区域内的操作,即在支持多点触控的情况下,只响应指定的区域,我将这个功能称作“手掌抑制”,即在手写时,手掌放在屏幕上面不做任何响应。 初看这个功能很简单,按照之前处理listview、gridview里面的子view不能响应的方
2014-11-05 20:35:16
3993
原创 通过开源项目SoundTouch实现类似Tom猫的变声功能
SoundTouch是一个开源的音频处理库,用于改变音频流或音频文件的节奏、音调和播放速率。 通过调节Tempo、Pitch和Playback Rate可以实现类似Tom猫的变声效果,对于这三个参数官方的解释如下: Tempo(时间段):在不影响声音音调的前提下改变音频播放的快、慢节奏。 Pitch(关键指标):在保持原有节奏(速度)的前提下改
2014-10-30 20:41:37
15900
2
原创 二维码的妙用:通过Zxing实现wifi账号密码分享功能
二维码是搭载信息的一种载体,通过二维码可以传递名片、网址、商品信息等,本文讲到二维码的另外一种妙用:通过二维码实现wifi账号和密码分享。 关于二维码的基础知识,请访问:二维码的生成细节和原理 试想这样一种场景:一伙人去同一餐馆或者在一起开会,有的人之前去过且已经使用过那个场景的wifi账号,所以一去手机就能够直接连上那里的wifi,但有的同学是第一次去,也有连
2014-10-29 16:53:13
9836
原创 读写文件编码方式不一致导致文件乱码的解决方案
这几天在弄一个android应用的数据加密功能,为了避免加密、解密算法被破解,我将加密和解密的核心算法用JNI封装起来,只把接口暴露给java层。工作流程是这样的:1、通过自己写的加密解密工具将数据加密;2、将加密的数据放在android的asserts文件夹下;3、在首次使用数据时将asserts文件夹下的数据拷贝到一个隐藏文件夹下;4、解密隐藏文件夹下的文件。
2014-10-21 19:30:17
5931
原创 汉字转拼音开源工具包Jpinyin介绍
最近要实现一个根据词语得到词语对应拼音的功能,找到了Jpinyin这个开源工具包,使用下来发现它非常强大,完全满足我的需求,下面对它做一个简单的介绍,希望能够帮助到有需要的朋友。一、项目介绍: JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。 【JPinyin主要特性】1、准确、完善的字库;
2014-10-14 16:51:18
11449
原创 Android自定义权限permission
Android是一种特权分隔的操作系统,在Android上运行的每个应用程序都具有各自独立的系统标识(Linux用户ID和组ID)。系统各部分有不同的身份标识。因此,Linux上运行的各个应用程序相互独立且与系统无关。 Android的“权限许可”机制通过限定特定的进程能够执行的指定操作和限定对每一个资源点对点的访问的URI许可来提供附加细粒度的安全功能。
2014-09-30 17:01:45
7303
3
转载 APK安装过程及原理详解
应用程序包的安装是android的特点APK为AndroidPackage的缩写Android应用安装有如下四种方式:1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由 pack
2014-09-30 10:32:29
5268
原创 AndroidAnnotations使用说明书—AndroidAnnotations是如何工作的?
AndroidAnnotations的工作方式很简单,它使用标准的java注入处理工具,自动添加了一个额外的编译步骤来生成源代码。 源码是什么?每一个增强的类,比如每一个用@EActivity注入的Activity,会自动生成一个以该类类名+下划线为类名的该Activity子类。 比如下面这个类:package com.some.company;
2014-09-29 15:05:23
1970
原创 Android应用程序相关的文件目录详解
一、方法介绍: 每个Android应用程序都可以通过Context来获取与应用程序相关的目录,这些目录的功能各异,每一个目录都有自己的特点,有时候可能会搞混淆,本文结合android源码注释和实际操作,详细介绍一下每个方法:方法:getFilesDir 释义:返回通过Context.openFileOutput()创建和存储的文件系统的绝对路径,应用程序文件
2014-09-28 19:19:17
4969
经典C语言100道题.docx
2011-04-12
C语言经典900例程序
2011-04-12
各种字符编码详解.doc
2011-04-12
C语言程序实现:狐狸抓兔子
2011-03-31
C语言程序实现: 倒序数
2011-03-31
C语言程序:倒序数的实现
2011-03-31
Proteus_ISIS分立元件库元件名称及中英对照
2011-03-31
C语言:详解C语言中的lib文件
2011-03-31
C语言程序设计实验指导书
2011-03-31
数据结构学习指导.实验指导.课程设计题目配套参考答案
2011-03-31
C语言程序实现:通讯录管理系统
2011-03-31
C语言程序:作一个可供小学数学运算的程序,10以内加减乘除法
2011-03-31
基于二维码的wifi账号密码共享demo
2014-10-29
Android应用通过AnimationDrawable实现View的动画效果
2014-04-18
Android Menu开源项目整合工程
2014-03-08
monkey可视化工具
2014-02-14
Android Shape实例
2013-10-06
LogiScope 6.1破解版part2
2011-09-18
LogiScope 6.1破解版part1
2011-09-18
java基础教程课件.rar
2011-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人