Android
BeCreativeExplorer
read source code & enhance algorithm & to be a more creative coder
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 时间相关TimeUtils
1.检查设置的时间是否合法private static int checkDuration(String name, long duration, TimeUnit unit) { if (duration < 0) throw new IllegalArgumentException(name + " < 0"); if (unit == null) throw new原创 2018-01-09 22:17:58 · 407 阅读 · 0 评论 -
下载android 源码对应的kernel版本
在ubuntu10.04中用git和repo获得的android源码目录中没有kernel目录, kernel需要我们在重新下载。编译linux内核映像a)准备交叉编译工具链android代码树中有一个prebuilt项目,包含了我们编译内核所需的交叉编译工具。b)设定环境变量$ emacs ~/.bashrc增加如下两行:export PATH=$PATH:~转载 2015-11-15 12:28:47 · 841 阅读 · 0 评论 -
编译Android源码过程中出现的错误
错误1:Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/li原创 2015-11-14 10:17:53 · 3271 阅读 · 0 评论 -
InputDispatcher: MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
log日志如下:10-27 22:03:38.190 3338-4531/? I/HwPowerMonitor.PowerExceptionObservable﹕ unhandled onEvent actionID: 300210-27 22:03:38.190 3338-4531/? I/HwPowerMonitor.LogCacheSend﹕ wifi or 3G conn原创 2015-10-28 14:50:02 · 11064 阅读 · 0 评论 -
ProcessNotCreatedException: Cannot run program "D:\AndroidStudio\sdk\tools\android.bat"
在Android Studio中打开SDK Manager时,出现异常:ProcessNotCreatedException: Cannot run program "D:\AndroidStudio\sdk\tools\android.bat"然后直接在Android Studio的安装目录中打开SDK Manager,出现异常:提示failed to execute原创 2015-10-10 15:42:39 · 4095 阅读 · 0 评论 -
android studio 报Error:failed to find Build Tools revision 23.0.0 rc2
每个项目的build.gradle里可以设置,例如android { .... buildToolsVersion '23.0.0 rc2' ....}12345如下图,我的Android SDK 没有安装Build-tools 23 rc2 所以 ,在build.gradle里面改成如下:android { .... buil转载 2015-10-08 23:03:25 · 1257 阅读 · 0 评论 -
java.lang.RuntimeException: Parcel: unable to marshal value com.zhym.friendcircule.Photo@41fcd5c8
用Intent传递数据时出现异常如下:java.lang.RuntimeException: Parcel: unable to marshal value com.zhym.friendcircule.Photo@41fcd5c8代码: Intent intent = new Intent(AlbumSetActivity.this, PhotoGridActivity.class);原创 2015-09-17 20:54:16 · 1968 阅读 · 0 评论 -
System.err﹕ android.os.NetworkOnMainThreadException
在从Android客户端向php服务端上传图片时出现如下异常:原因:在主线程中不能直接服务端交互,应该在新开的线程中实现与服务端的交互或者设置StrictMode,否则HttpURLConnection连接失败/*设置StrictMode 否则HTTPURLConnection连接失败,因为这是在主进程中进行网络连接*/ StrictMode.setTh原创 2015-11-04 17:14:30 · 772 阅读 · 0 评论 -
Spinner的setOnItemSelectedListener不起作用
测试程序如下:sp_allImg.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { test.setText原创 2015-09-27 09:58:36 · 8262 阅读 · 1 评论 -
ActionBar实现滑动选项卡出现NullPointerException
异常内容:09-06 16:21:50.440 29864-29864/com.example.myapp W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x419bec80)09-06 16:22:51.630 30372-30372/com.example.myapp W/System.err﹕原创 2015-09-06 16:42:13 · 446 阅读 · 0 评论 -
Error: Activity class {package1/package2.mainActivity} does not exist.
问题:Android Studio中,修改包名后编译报错,说找不到入口类解决:将build.gradle中apply plugin : 'android'改为‘com.android.application'就好了原创 2015-09-09 10:28:54 · 1360 阅读 · 0 评论 -
Android使用内嵌数据库sqlite3查看项目数据库
DDMS中部分目录结构:命令操作及注释如下:原创 2015-06-30 16:58:56 · 473 阅读 · 0 评论 -
SDK与API
这两个概念经常遇到,但是总是懒得具体去了解(懒死蒜了。。。),今天不能忍了,就查询了一些他人所认为的,遂总结一下(说得有点狭义,因为我只对Android)。 API(Application Programming Interface):顾名思义,应用程序接口,是以功能为导向的“方法”清单。它是开发商预先撰写好的组合APIs的API,供统一有特定需求的开发者程序调用的接口,这样能有一致的开发原创 2015-06-30 22:35:41 · 791 阅读 · 0 评论 -
HwLauncher﹕ Launcher dialog dismiss failed : java.lang.IllegalArgumentException: no dialog with id 1
现象:用手机做模拟器一直出现错误:HwLauncher﹕ Launcher dialog dismiss failed : java.lang.IllegalArgumentException: no dialog with id 1logcat中还提示:WindowManager﹕ android.view.WindowLeaked: Activity com.zhy.imageloader转载 2015-10-16 09:54:14 · 6431 阅读 · 5 评论 -
SingleThreadExecutor的使用
1.SingleThreadExecutor就像线程数为1的FixedThreadPool2.如果向SingleThreadExecutor提交多个任务,这些任务将排队。从输出结果可以看到,任务按照提交顺序被执行3.SingleThreadExecutor会序列化所有提交的任务,并维护自己(隐藏)的悬挂任务队列(不懂)4.SingleThreadExecutor可以保证任何线程中都只有转载 2015-12-17 14:53:29 · 2889 阅读 · 0 评论 -
Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)转载 2016-04-04 10:53:34 · 636 阅读 · 0 评论 -
Android 状态的定义
Android开发中经常会遇到对一个流程中不同状态的定义,个人通常有两种定义方式:一种是用Enum,另一张就是直接定义在状态类中了,例如WebSocket的使用过程中有如下状态:正在连接、已连接、重连接和未连接着四种状态,WebSocket的关闭也分为正常关闭和非正常关闭两种状态,该状态类就可以定义如下:public class WsStatus { public final static原创 2018-01-08 22:31:02 · 313 阅读 · 0 评论 -
Android 检测设备当前网络是否可用
1. 检查设备网络是否可用(是否处于联网状态) //检查网络是否连接 private boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context原创 2018-01-08 22:21:45 · 451 阅读 · 0 评论 -
如何将excel格式的中国三级地址文件转换成android需要的json格式的文件(二)
上一篇博客写了本题目的前三个步骤:包括excel格式转为txt格式、定义实体类:ProviceBean、CityBean和DistrictBean关键注意:其中重写的hashCode方法和equals方法,因为下面在判断HashMap的key(ProvinceBean)时需要判断两个对象相等的情况来确保key的唯一性步骤四、这一步是真正的实现部分,思想大概就是遍历city.txt的每一行,判断Has原创 2017-10-23 11:24:11 · 417 阅读 · 0 评论 -
如何将excel格式的中国三级地址文件转换成android需要的json格式的文件(一)
步骤一、将excel文件转为txt格式的文件,这样下面的程序才能读出来。对于Mac(我的电脑是Mac),先将excel文件另存为cvs文件,然后将cvs文件的文件名后缀改成txt即可,具体的city.excel文件、city.txt文件以及转换后的city.json文件请到此处下载。步骤二、先明确下,在附件中给定的excel文件(截止到目前2017.10.23,算是比较新的地址数据)中,含有34个省原创 2017-10-23 11:13:47 · 451 阅读 · 0 评论 -
配置Jekins时,由于Jekins上gradle版本较低,而将本地项目的gradle版本由26.0.0变成24.2.0的相关配置
给项目创建Jekins配置时,编译失败,原因是项目的gradle版本高于Jekins上的gradle版本,所以这里提供的方法是将本地项目的gradle版本降低的相关操作1.gradle-wrapper.properties中,distributionUrl中的gradle版本由gradle-4.1-all.zip降为gradle-3.3-all.zip2.Project的build.gra原创 2017-10-12 14:42:37 · 1343 阅读 · 0 评论 -
Kotlin中引入BufferKnife
一、app模块的build.gradle中butterknife相关设置:apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'kapt { generateStubs = true}dependencies { // butterknife 相关 compile 'co原创 2017-10-20 14:26:43 · 531 阅读 · 0 评论 -
Camera的onPreviewFrame回调方法中图片帧数据data最后显示出现错位拼接的bug
修复后的代码:1)初始化Cameraboolean initCamera(SurfaceHolder holder) { if (mCamera == null) { prepareScanner(); } if (mCamera == null) { // prepare failed! return false; } assert holder !原创 2016-07-11 12:21:20 · 4434 阅读 · 1 评论 -
Activity的四种加载模式
配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,该属性支持4个属性值:a) standard每次通过这种模式来启动目标Activity时,Android总会为目标Activity创建一个新的实例,并将该Activity添加到当前Task栈中——这种模式不会启动新的Task,新的Activity将被添加到原有的Task中b原创 2016-04-19 11:51:41 · 891 阅读 · 0 评论 -
异步任务(AsyncTask)
为了避免UI线程失去响应的问题,Android建议将耗时操作放在新线程中完成,但新线程也可能需要动态更新UI组件:比如需要从网上获取一个网页,然后在TextView中将其源代码显示出来,此时就应该将连接的网络、获取网络数据的操作放在新线程中完成。问题是:获取网络数据之后,新线程不允许直接更新UI组件。为了解决新线程不能更新UI组件的问题,Android提供了下面几种解决方案:1. 使用Ha原创 2016-04-18 17:04:46 · 457 阅读 · 0 评论 -
Handler、Loop、MessageQueue的关系
Looper: 每个线程只有一个Looper,它负责管理MessageQueue,会不断从MessageQueue中取出消息,并将消息分给对应的Handler处理MessageQueue: 由Looper负责管理。它采用先进先出的方式来管理MessageHandler: 把消息发送给Looper管理的MessageQueue,并负责处理Looper分给它的消息如果希望原创 2016-04-18 16:11:48 · 693 阅读 · 0 评论 -
Android Studio中SDK版本为23时不能引用http包
HttpClient不支持版本超过23的sdk,网络相关用URLConnection。如果仍然想在高于23的版本中使用HttpClient,有下面方法:1.快捷的方法是修改targetSdkVersion值,使其小于23(我改成19就阔以了)2.如果你的AS中只有高版本的SDK,又懒得下载低版本,那就去Apache官网:https://www.apache.org下载个httpcompon原创 2016-04-14 17:22:26 · 596 阅读 · 0 评论 -
AndroidStudio开发第一个JNI工程
转自:http://blog.youkuaiyun.com/sodino/article/details/41946607我根据自己的实践,对该引用的文章做了一些修改(另:由于我的Android Studio版本比较新,所以引用的文章中的bug在我这里没有出现)本人AndroidStudio版本:2.1,查看方式如下:使用Android Sutdio创建一个新的工程后,接下来记录创转载 2016-04-12 18:58:29 · 3541 阅读 · 0 评论 -
Android Studio调试功能使用总结【转】
这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此。 先编译好要调试的程序。1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的转载 2016-03-27 09:50:47 · 492 阅读 · 0 评论 -
在一个Android项目中引用另一个Android项目
现在已经有了一个Android工程A。我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了。但是,如果在工程A中用了R.java中的引用,则无法打成jar包了。原因是R.java是自动生成的,是动态的,每次编译都是不相同的。如果一定要做成jar包,就不能使用自动生转载 2015-04-09 17:24:22 · 503 阅读 · 0 评论 -
DDMS中data打不开
引自:http://blog.youkuaiyun.com/appte/article/details/12026697为了查看安卓设备上某个应用的SQLite数据库内容,打开了DDMS,能看到data文件夹,但是打不开。可是mnt文件夹却是可以打开的,然后仔细查看两个文件夹的不同:data drwxrsw–xmnt drwxrwxr-xmnt drwx转载 2015-04-12 21:43:09 · 1485 阅读 · 0 评论 -
ResourceType Style contains key with bad entry:0x01010479
This is because you are using theme attributes that were not present on the platform on which you are running your application. Despite the giant red error log that it adds, it's more of a warning转载 2015-04-20 17:10:25 · 1934 阅读 · 0 评论 -
Android项目中导入他人写的部分文件后出现:R cannot be resolved to a variable
网上以有的各种方法都试了,没用。。。比如下面的:原因:把别人的项目文件嵌入到自己的文件中时,AndroidManifest.xml的package中是自己的原有项目的包例如:com.ljt.testproject1,而别人的项目是在别人包的基础上创建的(例如:com.ljt.testproject2),故你的项目不能生成别人文件的R文件解决:在别人项目的Activity文件中impor原创 2015-04-24 11:19:30 · 1348 阅读 · 0 评论 -
显示intent和隐式intent
引自:http://liangruijun.blog.51cto.com/3061169/655132Intent寻找目标组件的两种方式:显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是转载 2015-04-10 16:45:35 · 461 阅读 · 0 评论 -
Failed to install helloWorld.apk on device 'emulator-5554!
只显示手机界面,没有 helloworld原因:版本不符。重新建一个helloworld,将target的版本修改成和AVD所需要API一样的值。原创 2015-04-04 13:08:14 · 866 阅读 · 0 评论 -
Eclipse快捷键的使用
1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想转载 2015-04-10 09:44:52 · 453 阅读 · 0 评论 -
No active compatible AVD's or devices found. Relaunch this configuration after connecting a device o
。。。转载 2015-04-03 20:39:08 · 2228 阅读 · 0 评论 -
删除Android中DDMS下文件夹
下面是要删除的文件:打开cmd,切换到platform路径下,执行下面操作:即删除了该文件夹原创 2015-04-27 16:17:21 · 917 阅读 · 0 评论 -
Permission denied:Android导出shared_prefs中xml文件时出错
在DDMS中导出xml文件时出错:Permission denied(后面还有个错误提示来着,给忘了。。。)查询解决办法,有的说用命令实现,结果仍然不行之后又查询,得知是权限不够,需要修改文件权限然后选中要导出的文件,再次点击DDMS中Pull a file from the device按钮(如下图)结果桌面上就有SP.xml这个文件了原创 2015-04-27 15:35:35 · 1147 阅读 · 0 评论 -
Android sh:su: not found
错误如下:原因:手机没有root,下载个刷机精灵,选择一键root即可原创 2015-05-02 21:40:01 · 2395 阅读 · 0 评论
分享