Android(应用篇)
云水之路
架构攻城师
展开
-
Android下私有文件夹文件的读写
私有文件夹文件的读写对于文件的读写,我想我们并不陌生。在其它的系统平台上比如Windows系统,应用程序可以自由地或在特定的访问权限允许下进行访问或者修改其它应用程序下的文件资源;但是,在Android系统平台下却不然,一个应用程序中的所有数据都是私有的,也就是只能被自己看到的文件数据。当应用程序被安装到Android系统之后,在系统中会生成对应的应用程序安装文件夹,用来存储应用程序的安装原创 2013-04-07 09:02:25 · 2488 阅读 · 0 评论 -
Android进程间通信AIDL的使用分析
AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数原创 2014-01-18 18:22:05 · 1252 阅读 · 0 评论 -
交互式通信之Service
交互式通信之Service我们知道Activity可以当做是一个屏幕,主要是显示和与用户进行交互。而这篇文章中的Service并没有提供与用户进行交互的操作屏幕界面,它是运行在程序的后台,来完成不需要在前台显示的工作,比如:后台的相关计算工作或是在后台运行监听程序等。那么这个后台组件是通过什么方式启动的那?Service的启动方式一般主要是通过Activity或者是Context(比如Vi原创 2013-03-23 14:41:32 · 1571 阅读 · 0 评论 -
Android本地接口JNI的使用分析
JNI是Java Native Interface的简写,即为Java语言的本地接口,它允许我们在Java代码中去使用其他语言的功能,比如:C、C++及汇编语言等。一般,在Android当中,我们会把某些敏感或是核心的功能放在C/C++中实现,因为Java或Android的安全性不是很好,容易被反编译或是破解,而用C/C++实现的话,安全性好,并且C/C++是运行在底层的,好处可想而知。原创 2014-01-14 21:56:23 · 1541 阅读 · 0 评论 -
Android NDK使用分析
Android NDK使用分析:在Android应用程序开发中,对于一些对性能安全要求较高的模块开发中,我们一般会使用C/C++代码来实现,或者引用一些已经实现好的C/C++库时,都需要使用JNI机制。正如上面的介绍是比较常用的,同样可以实现编写基于JNI机制访问C/C++库文件。原创 2014-03-09 18:42:57 · 1588 阅读 · 0 评论 -
注解在android中的使用
注解在android中的使用详解:注解又叫做“元数据”,它为我们在源代码中添加信息提供了一种形式化的方法,让我们能在以后的某个时间方便的使用这些数据。更确切的说,注解在一定的程度上将数据与元代码进行了绑定,并不是将数据保存在外部文件中。当然,这里只介绍Android开发相关的技术,至于注解我会在Java学习总结篇中进行详细的研究和总结。那么,接下来我们一个实例来介绍注解在android开发中的巧妙应用。原创 2014-06-15 23:06:20 · 1144 阅读 · 0 评论 -
PopupWindow在android中的使用分析
PopupWindow是应用开发中经常用到的组建,使用它可以在当前屏幕的上层显示一个弹窗,同时也可以指定弹窗的位置以及背景色等特性,大大提高用户体验,那么这里我就以下几点介绍它的使用:1 从指定的位置弹出这个窗口(淡入淡出动画)2 从屏幕底部弹出这个窗口(带有透明度背景,自定义触摸其他位置自动关闭弹窗)原创 2014-09-13 11:56:20 · 2373 阅读 · 1 评论 -
Android中相机和相册使用分析
在手机应用程序中,使用自带的相机拍照以及相册选择喜欢的图片是最常见不过的用户需求,那么怎么合理使用相机和相册来选择照片是重要的,下面就以项目中实际需求为例进行说明,这里实现的功能如下:1 使用相机和相册选择图片,并裁剪较小图片(常用于剪裁小图)2 使用相机和相册选择图片,并裁剪较大图片(常用于裁剪大图)原创 2014-10-03 17:40:30 · 1730 阅读 · 0 评论 -
工厂方法模式在android的使用
工厂方法模式是类的创建模式,又叫做多态性工厂模式。这个模式的用意在于定义一个创建产品对象的工厂接口,并将实际的创建工作推迟到工厂子类中去完成。原创 2015-04-22 17:26:27 · 1702 阅读 · 0 评论 -
单例模式在android中使用
单例模式是对象的创建模式,单例模式能够确保某个类只有一个单一的实例对象存在,同时能够自行实例化并将单一的实例提供给外界调用的特点,其在实际项目开发中经常被用到。原创 2015-04-21 11:31:06 · 1269 阅读 · 0 评论 -
Android Lint使用分析
这篇文章介绍关于Android代码优化工具之Android Lint的使用总结。Android Lint是ADT版本16提供的Android代码优化工具,它能够帮助程序员快速方便的发现代码中的不足之处,并尽可能给予你提供解决问题的提示办法,另外,通过分析Lint提示的优化,你可以更深入理解Android的设计,规范及性能要求原创 2015-12-29 22:21:50 · 1446 阅读 · 0 评论 -
android中使用jni对字符串加解密实现分析
鉴于完全使用C/C++代码进行字符串的加解密,我们需要考虑不同系统平台上数据类型的差异问题,这里推荐另一种易于实现的方法,即使用Java中的AES加解密逻辑,而将AES加解密所需要的核心秘钥放入到C中,通过调用jni来从静态类库中读取需要的秘钥原创 2014-10-13 22:53:59 · 4850 阅读 · 0 评论 -
Android应用程序消息机制使用分析
交互式通信之内部通信在Android系统中,所谓的内部通信就是指主线程和由这个主线程派生的子线程间的通信。当应用程序为第一个组件创建一个进程之后,同时也创建了一个主线程。这个主线程的工作主要就是用来维护组件对象和应用程序所创建的所有屏幕窗口,如果在这个主线程中我们创建了自己的子线程的话,那么所创建的这些子线程是不能与主线程进行通信和修改主线程内容的。值得庆幸的是Android总有办法,它提供了原创 2013-03-25 21:40:46 · 923 阅读 · 0 评论 -
Android中联系人使用
我8月份的时候接触过联系人这里,看了很多文章,把我弄蒙了,今天突然发现这篇文章,不错,如果我以后涉及到这方面的业务,会多来学习下,作者博客地址和英文原文地址都放在最下面了。前阵子搞短信,发现Android 1.x至2.0 版本联系人数据库很多地方做了更改,且关于这方面的资料也比较少,所以找到一篇文章稍作翻译了下,以供大家参考,该文将分三部分发布。Working With Andro转载 2013-08-18 16:13:10 · 1792 阅读 · 0 评论 -
Android性能优化注意事项
Android性能优化注意事项1、Android中图片优化技巧我们知道在移动开发中内存资源很重要,而在开发中占用系统资源较多的就是图片了。因此,我们需要对图片的获得和显示进行一些必要的优化处理。处理步骤A:有的时候为了加快响应速度,提高用户体验,一般会先加载缩略图,然后加载显示原图。那么就要对原始的图片按照一定的比例进行缩放处理,具体可以参照Android API中的建议操作,如下所示原创 2013-08-17 09:11:13 · 912 阅读 · 0 评论 -
数据存储之Raw和Assets文件读取
读取Resources和Assets中的文件在Android系统中,我们可以对应用程序的私有文件夹中的文件进行操作之外,我们还可以从资源文件和Assets文件中获取数据,而这些文件分别存放在应用程序的res/raw和assets目录中,在编译时这些文件将同其他文件一起被打包。另外,我们需要注意的就是来自Resources和Assets中的文件是只能读取而不能进行修改操作的。一般我们会在这些原创 2013-04-08 21:01:33 · 845 阅读 · 0 评论 -
数据存储之Preferences
数据存储之Preferences这里介绍的Preferences是Android系统中应用程序内部的轻量级的数据存储方案。我们一般用他来存储一些应用程序的配置信息,例如实际项目中,我们可以将用户的个人信息记录在这里。当然了,Preferences一般使用来存储和查询简单的数据类型的而设的,是我们的应用程序对于数据的处理更加灵活实用,它支持存储的数据类型包括:boolean、int、long、f原创 2013-04-09 21:12:03 · 1231 阅读 · 0 评论 -
Android3.0以上的Fragment的使用及原理
Fragment 表现 Activity 中用UI的一个行为或者一部分. 可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragment 想象成一个activity的模块化区域, 有它自己的生命周期, 接收属于它的输入事件, 并且可以在activity运行期间添加和删除.Fragmen转载 2013-07-03 17:45:07 · 1825 阅读 · 0 评论 -
Android基于Socket和Http的网络编程
基于Socket和Http的网络编程一、基于Socket套接字的网络编程网络应用程序的开发有很多的架构和模式,常见的有C/S、B/S等,而Socket主要就是用于进行传统的C/S模式应用的开发。C/S模式中主要需要开发两个端,服务端和客户端,工作原理如下: 如上图所示:1、首先服务器端启动,监听指定的连接端口等待客户端的连接数据请求;2、客户端请求成功,连接到服务器的指原创 2013-08-13 17:12:43 · 1406 阅读 · 0 评论 -
Android短信功能分析
Android短信功能分析短信发送对于手机来说是一项很重要的功能,那么分析和研究短信功能就显得很有必要的了。本篇文章主要总结分析了短信的单条发送、短信的群发及对短信的发送和接受的监听等为主导进行短信功能的分析和研究。在这之前,我觉得很有必要先看一下下面的几个与短信功能相关的概念:1、PendingIntent理解Intent的意思是意图,一般用来承载数据和执行的动作的封装体,经常被原创 2013-08-19 16:26:05 · 1131 阅读 · 0 评论 -
交互式通信之Activity
交互式通信分析之Activity一个Android应用程序可以由几个不同组件构成,在这篇文章中,主要分析的是Activity组件。我们权且将每一个Activity看做是一个移动设备的屏幕,为什么是每一个Activity呢?因为在一个Android应用程序中有可能出现若干个Activity这样的屏幕程序。这主要是根据项目的需求而定的,一般一个真正的Android项目是由很多个Activity屏幕原创 2013-03-19 21:52:24 · 867 阅读 · 0 评论 -
Android启动模式分析
Android启动模式分析在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:· standard· s转载 2013-08-21 18:45:13 · 713 阅读 · 0 评论 -
Android适配多分辨率注意事项
1、布局配置文件XML中的宽与高应该使用wrap_content和match_parent(或fill_parent略有不同)来适配不同设备分辨率的需求,尽量不要使用pixel将大小写死。2、尽量使用相对布局(RelativeLayout)来搭建显示界面,因为这种布局方式能很好的处理和解决不同屏幕大小下各个组件之间的关系,一般我们会将布局的最外层使用相对布局,在里面使用其他的布局和组件。3原创 2013-07-03 18:00:54 · 1148 阅读 · 0 评论 -
Android中XML文件的解析
Android中XML文件的解析我们知道XML格式的数据在很多软件开发中都会遇到,那么在Android开发中也不例外。那么接下来要如何去解析和创建XML文件那?下面就和大家一起研究和学习关于XML文件的解析方式和如何创建XML文件。在Android中有三种方式可以解析XML文件,分别为PULL解析方式、SAX解析方式和DOM解析方式,那么下面就来看看这几种解析方式之间的联系和特点。PU原创 2013-08-15 19:16:08 · 987 阅读 · 0 评论 -
对象的序列化和反序列化
对象的序列化和反序列化前一段时间,在项目的需求下我使用了Java中的序列化机制将数据信息保存在一个文件中,在下一次程序启动的时候,再从该文件中读取上次存储的数据信息。我们一般使用序列化来将数据缓存在本地中,当然前提是要缓存的数据量比较少的时候较适用。那么什么是序列化哪?序列化和反序列化机制:对于序列化概念的引进是为了在网络传输不同数据类型的时候,将传输的数据类型转化为二进制的数据形式,原创 2013-08-14 22:51:10 · 675 阅读 · 0 评论 -
Android中对ListView的优化处理
Android中对ListView的优化处理搞Android开发的同学都知道,ListView的在实际项目开发中应用十分普遍,一般用来显示列表数据的,但这样就有个问题了。我们知道在实际项目中,列表数据量很大,有可能成千上万的大小,对于一般如TextView来说倒没什么,但如果是自定义的ViewGroup的话,里面可能有很多View,而占用内存最大的莫过于ImageView所承载的图片数据了,那原创 2013-08-16 08:54:24 · 962 阅读 · 0 评论 -
Android平板、TV中对GridView的优化
最近在做android平板上的开发,其中涉及到高分辨率之下使用GridView的性能问题。在Android手机软件开发中,如果在ListView或者GridView上使用大数量Item,很多人都会想到ViewHolder......没错,ViewHolder非常适合用在ListView或者每行小于4个Item的GridView。但是如果是高分辨率的设备(android平板甚至android电视),转载 2013-08-16 09:31:28 · 1780 阅读 · 0 评论 -
交互式通信之广播消息BroadcastReceiver
交互式通信之广播消息在前面已介绍的service一篇中也已简单的使用了广播机制来模拟秒钟计时的目的。其实在Android当中,广播消息的发送载体就是Intent了,我们会把要发送的消息和过滤规则一同封装在这个Intent实体对象中,因此我们称在Android中的广播消息为“Intent广播消息”。对于这种系统级消息的传递机制,Intent消息载体可以突破进程间边界的限制,达到在不同进程之间原创 2013-03-24 14:10:06 · 1319 阅读 · 0 评论