android
文章平均质量分 74
不二先生0321
这个作者很懒,什么都没留下…
展开
-
android开发——关于编写JNI
最近由于要开发android支付应用,实现刷卡读取磁卡的数据功能,需要编写JNI调用C语言底层库,在学习过程中也遇到了一些困难和问题,在这里记录下来,希望能给遇到同样问题的朋友提供帮助,避免走弯路。通过一个简单的调用c语言输出“hello”语句的例子来介绍如何编写JNI。工程如下:TestActivity.java:调用JNI方法,输出hello语句原创 2012-04-04 14:49:16 · 7875 阅读 · 1 评论 -
Android开源项目——安能饭否fanfoudroid的实现详解
安能饭否fanfoudroid是一款开源的饭否Android客户端,功能包括发送/删除消息、发送/回复私信、回复/转发/收藏消息,关注/取消关注用户、查看用户资料,特征包括拍照/图片上传,后台自动提醒,桌面Widget,github地址:https://github.com/fanfoudroid/fanfoudroid截图如下:登录界面首页原创 2014-02-17 19:35:38 · 2036 阅读 · 0 评论 -
网络通讯框架-Volley源码分析(1)
Volley主页:https://android.googlesource.com/platform/frameworks/volleyVolley是Google IO 2013演讲上推荐的网络通讯框架,主要功能如下:JSON、图像等的异步下载网络请求的排序网络请求的优先级处理缓存多级别取消请求和Activity生命周期联动(Activity结束时同时取消所有的网络请求)原来对原创 2014-03-16 16:29:37 · 1163 阅读 · 0 评论 -
网络通讯框架-Volley源码分析(2)
HurlStack:SDK>=9被创建//执行请求 public HttpResponse performRequest(Request request, Map additionalHeaders) throws IOException, AuthFailureError { String url = request.getUrl();原创 2014-03-25 16:25:02 · 1107 阅读 · 0 评论 -
网络通讯框架-Volley源码分析(3)
Request//请求对象void finish(final String tag) { if (mRequestQueue != null) { mRequestQueue.finish(this);//移除该请求对象 } if (MarkerLog.ENABLED) { final long t原创 2014-03-25 16:26:44 · 864 阅读 · 0 评论 -
Android Launcher源码分析(一)
最近开始看Android Launcher源码,对一些关键类进行整理,想和大家分享一下。关于Launcher布局、自定义布局属性等,以下博文已经进行详细的介绍,我就不再展开了,在此分享链接,感谢“stevenhu_223"的分享。Launcher源码浅析-----Launcher布局Launcher源码浅析-----Launcher自定义布局属性Launcher源码原创 2014-06-05 00:11:40 · 1450 阅读 · 0 评论 -
Android Launcher源码分析(二)
今天主要分析创建shortcut、widget流程。创建ShortCut流程,首先看completeAdd函数。private boolean completeAdd(PendingAddArguments args) {boolean result = false;switch (args.requestCode) {......case REQUEST_PICK_SHO原创 2014-06-07 22:46:49 · 1085 阅读 · 0 评论 -
Android L API Overview
Android L 开发者预览版将让你提前看到即将发布的Android平台,为用户和App开发者提供新的特性,该文档提供值得注意的APIs介绍。 L 开发者预览版主要针对早期开发者和测试人员。如果你对Android Framework的方向感兴趣,欢迎尝试L开发者版本,并且给予我们宝贵的意见。重要的变化 如果你之前已经发布一款Android App,你需要知道你翻译 2014-07-02 10:21:13 · 8255 阅读 · 1 评论 -
网络通讯框架-Volley源码分析(4)
缓存机制Cache:-NoCache-DiskBasedCache//获取Entry public synchronized Entry get(String key) { CacheHeader entry = mEntries.get(key); // if the entry does not exist, return.原创 2015-05-15 04:04:34 · 659 阅读 · 0 评论 -
java多线程总结(二)(转载)
最近由于工作需要,给其他公司编写SDK,需要用到多线程的设计,这方面自己也比较薄弱,趁这次机会也好好补习的一下,确实多线程的设计确实可以提升用户体验,但线程的不确定性也给设计带来了一定的难度和困扰,本想关于这些写篇博客总结下,但发现有几篇博客写的不错,基本把我想说的都介绍了,就打算复用了,若给作者带来不便,可及时通知我,我会按照你的要求进行处理,谢谢!线程一般有6个状态:新转载 2012-10-15 23:09:35 · 1574 阅读 · 0 评论 -
java多线程总结(一)(转载)
最近由于工作需要,给其他公司编写SDK,需要用到多线程的设计,这方面自己也比较薄弱,趁这次机会也好好补习的一下,确实多线程的设计确实可以提升用户体验,但线程的不确定性也给设计带来了一定的难度和困扰,本想关于这些写篇博客总结下,但发现有几篇博客写的不错,基本把我想说的都介绍了,就打算复用了,若给作者带来不便,可及时通知我,我会按照你的要求进行处理,谢谢!java中的多线程转载 2012-10-15 22:24:39 · 1046 阅读 · 0 评论 -
让ubuntu下的eclipse支持GBK编码
最近在学习使用ubuntu,感觉非常爽,顺便也就在ubuntu下开发android了,不过在导入工程的时候,发现以前的工程代码都是GBK的,但是ubuntu里的elipse默认是不支持GBK的,如果再把注释等等之类的中文改回来岂不是要了我的老命,所以只能求助于google,最后找到一篇文章介绍了解决办法,步骤如下:修改/var/lib/locales/supported.d/loc转载 2012-01-31 23:16:29 · 502 阅读 · 0 评论 -
Ubuntu环境下配置NDK
今天由于项目需要,需要在Ubuntu环境下配置NDK,一开始以为蛮简单的,没想到还是遇到了一些问题,在这里和大家一起分享下,也希望以后遇到相同问题的朋友可以少绕弯子。 首先到 下下载NDK文件 解压缩到home文件下,例如: /home/jhg/android/android-ndk-r6b/ 添加路径 打开路径文件 su原创 2012-03-20 22:39:25 · 4082 阅读 · 0 评论 -
十六进制转SAC编码
今天在项目中遇到了这么一个问题,就是我用JNI调用C语言,打开驱动文件读取数据,由于数据是十六进制,返回数据无法在前台显示,代码如下: char* fibReadMagcard(){ memset(TrackBuf,0,TRACK_LEN+1);read(magcard,TrackBuf,TRACK_LEN);return (char*)TrackBuf;}原创 2012-03-20 22:58:42 · 1554 阅读 · 0 评论 -
自定义Popup菜单
在这里我给大家介绍一种自定义popup菜单,主要效果是点击一个按钮,会出现一个popup菜单,你可以对其进行选择。网上已经有人写了一个模板,我们可以对其进行适当的修改即可。原来的代码链接如下:http://code.google.com/p/simple-quickactions/我修改之后的核心代码如下:popup类BetterPopupWindow.ja原创 2012-07-04 00:48:19 · 1667 阅读 · 0 评论 -
Android学习资料
在这段时间学习Android的过程中,找到了一些学习资料,在这里和大家分享下。官方文档:http://developer.android.com/index.html如果英文好的话,直接看官方开发文档还是很不错的!国外论坛:Android Forums & Windows Phone:http://forum.xda-developers.com/index原创 2012-06-26 13:52:55 · 1297 阅读 · 0 评论 -
自定义文件关联
自定义文件关联指的是打开一个你自己创建的文件,例如后缀是(.abc)。首先我先介绍下常见文件关联,例如.txt、.jpg。在Android中,任何文件类型或者MIME类型的关联性打开,是通过广播Intent来实现的。例如,你如果想要注册自己为.txt类型的查看器或者图片查看器,必须为你的Activity加入intent-filter来获取到一个来源所发出的Intent Broadcas原创 2012-07-17 16:44:56 · 2541 阅读 · 1 评论 -
关于Looper的使用
我们知道,在android的线程里,是从message loop取出信息来处理的,主线程和子线程、子线程和子线程之间的通讯也是Looper来实现的,接下来我就简单介绍下Looper的使用方法。 主线程(即UI线程)自身就有message loop,不需要创建,而其他线程就需要手动创建,使用prepare()创建loop,使用 loop()来启动loop,直到loop停止。方法介绍:原创 2012-09-11 00:02:16 · 2765 阅读 · 0 评论 -
应用之间的通讯
在上一篇博文《关于Looper的使用》中提到如何在任意2个线程中进行通讯,今天我就讲解下如何在2个应用之间进行通讯。 首先,你需要创建一个应用aProcess来发送信息,我这里向bProcess应用请求获取随机数。public class aProcessActivity extends Activity { Button btnBind,btnUnbind; pri原创 2012-09-11 22:04:12 · 552 阅读 · 0 评论 -
Android Marshmallow 6.0,Asking For Permission(未校验)
前言最近在看YouTube Android Developers视频,感觉不错,对其进行简单翻译,翻译不到位的地方希望谅解,我也会适时让英语专业人士进行校验,希望给大家在开发中带来帮助。简介Android 6.0 Marshmallow对Android的权限模式带来了一个很大的改变,替代了在安装时询问权限的模式。询问权限的目的是保护用户的隐私,运行时权限模式允许你可以选择在合适的时机申请权限。当Ap翻译 2015-10-31 16:59:56 · 729 阅读 · 0 评论