现在位置: 首页 > 移动开发 > 文章
熟悉Windows编程的朋友可能知道Windows程序是消息驱动的,并且有全局的消息循环系统。而Android应用程序也是消息驱动的,按道理来说也应该提供消息循环机制。实际上谷歌参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。本文深入介绍一下Android消息处理系统原理。     Android...
阅读全文
很多初入Android或Java开发的新手对Thread、Looper、Handler和Message仍然比较迷惑,衍生的有HandlerThread、java.util.concurrent、Task、AsyncTask由于目前市面上的书籍等资料都没有谈到这些问题,今天Android123就这一问题做更系统性的总结。    Android开发过程中为什么要线程能?    我们创建的Service、Activity以及Broadcast均是一个主线程处理,这里我们可以理解为UI线程。但是在操作一些耗时操作时,比如I/O读写的大文...
阅读全文
2018年09月17日 移动开发 ⁄ 共 1369字 评论关闭
1. 如何将int转换为string String.valueOf(int); 2. 获得当前view的坐标 x = getView.getLeft(); y = getView.getTop(); 3. CharSequence和String的区别 在项目中发现,需要charSequence做参数的地方,用String也可以。 在JDK1.4中,引入了CharSequence接口,实现了这个接口的类有:CharBuffer、String、StringBuffer、StringBuilder这个四个类。  提供这么一个接口,有些处理String或者StringBuffer的类就不用重载了。...
阅读全文
2018年09月17日 移动开发 ⁄ 共 1536字 评论关闭
1.前言   Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片;Coverflow中需要把一页一页的view转换为Bitmap、以便实现复杂的图形效果(阴影、倒影效果等);再比如一些动态的实时View为便于观察和记录数据、需要临时生成静态的Bitmap。 2.实现方法   1)下面是笔者经常用的一个转换方法 public static Bitmap convertViewToBitmap(View view, int bitmapWidth, int bitmapH...
阅读全文
2018年09月17日 移动开发 ⁄ 共 2229字 评论关闭
1.今天碰到了一个android 拨打电话的程序,难点在于需要对表示电话号码的String进行判断,主要有两种方法:  public boolean phoneNumber(String number) {   boolean flag = false;   String pare = "\\d{11}";// 11个整数的手机号码正则式   String pare2 = "\\d{12}";// 12个整数的座机号码正则式   CharSequence num = number;// 获取电话号码   Pattern pattern = Pattern.compile(pare);// 判断是否为手机号码   Matcher...
阅读全文
2018年09月17日 移动开发 ⁄ 共 475字 评论关闭
最近在研究android HAL层的一些相关内容,需要了解一些jni的知识,趁机研究了一下,这里跟大家分享一下: 纯java下jni编程学习: 1、java jni简介 2、windows下java JNI编程技巧——JAVA调用c/c++(0) 3、windows下java JNI编程技巧——JAVA调用c/c++(1) 4、windows下java JNI编程技巧——JAVA调用c/c++(2) 5、windows下java JNI编程技巧——JAVA调用c/c++(3) 6、windows下java JNI编程技巧——JAVA调用c/c++(4) 7、从 C/C++ 程序...
阅读全文
2018年09月17日 移动开发 ⁄ 共 2351字 评论关闭
Android 更新UI的两种方法——handler和runOnUiThread() 在Android开发过程中,常需要更新界面的UI。而更新UI是要主线程来更新的,即UI线程更新。如果在主线线程之外的线程中直接更新页面显示常会报错。抛出异常:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 只有原始创建这个视图层次(view hierachy)的线程才能修改它的视图(view) 话...
阅读全文
2018年09月17日 移动开发 ⁄ 共 2205字 评论关闭
在Android群里,经常会有人问我,Android Log是怎么用的,今天我就把从网上以及SDK里东拼西凑过来,让大家先一睹为快,希望对大家入门Android Log有一定的帮助. android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。 1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("",""); 2、Lo...
阅读全文
2018年09月17日 移动开发 ⁄ 共 2307字 评论关闭
1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、 Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详...
阅读全文
2018年09月17日 移动开发 ⁄ 共 2114字 评论关闭
我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。 我们在同一个application内部,可以随意的startActivity from Activity A to Activity B,而官方的文档中说startActivity可能会报NotFoundException,表示被start的Activity不存在。因此,...
阅读全文