android
文章平均质量分 74
TOMT_YFY
Android
展开
-
Android应用程序的五大基本组件
一、Activity —— 应用表示层( 基类 Activity ) 一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;第二个活动,写信息给选定的联系人;其他活动,重新查看旧信息或更改设置。虽然他们一起工作形成一个整体的用户界转载 2014-03-20 22:41:43 · 867 阅读 · 0 评论 -
contentprovider的学习实例总结
一、ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读转载 2015-05-29 09:22:08 · 397 阅读 · 0 评论 -
Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
android线程池的理解,晚上在家无事 预习了一下android异步加载的例子,也学习到了一个很重要的东东 那就是线程池+缓存 下面看他们的理解。[size=1.8em]Handler+Runnable模式我们先看一个并不是异步线程加载的例子,使用 Handler+Runnable模式。这里为何不是新开线程的原因请参看这篇文章:Android Runnable 运行在那转载 2015-05-29 09:37:04 · 507 阅读 · 0 评论 -
Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Lo转载 2015-05-18 13:56:23 · 302 阅读 · 0 评论 -
Android实战技巧:深入解析AsyncTask
[-]AsyncTask的介绍及基本使用方法AsyncTask引发的一个问题AsyncTask的内幕与主线程交互线程任务的调度Android23以前的版本也即SDKAPI 10和以前的版本Android 30以后也即SDKAPI 11和以后的版本前面问题的解法AsyncTask的使用注意事项AsyncTask的介绍及基本使用方法关于Async转载 2015-05-30 13:42:58 · 389 阅读 · 0 评论 -
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。 GITHUB上的下载路径为:htt转载 2015-05-19 13:53:51 · 240 阅读 · 0 评论 -
从源代码分析Android-Universal-Image-Loader的缓存处理机制
讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西。看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制。看了UIL中的缓存实现,才发现其实这个东西不难,没有太多的进程调度,没有各种内存读取控制机制、没有各种异常处理。反正UIL中不单代码写的简单,连处理都简单。但是这个类库这么好用,又有这么多人用,那么非转载 2015-05-19 13:59:25 · 354 阅读 · 0 评论 -
Android APK加壳技术方案
一、什么是加壳? 加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。PC EXE文件加壳的过程如下: 二、加壳作用 加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。转载 2015-06-29 09:02:43 · 822 阅读 · 1 评论 -
Android 动态加载(防止逆向编译)技术
最近工作中接到了一个研究防止逆向编译的任务.研究了几天资料,最后基本实现了防破解技术,在这个工程中,也略有一些心得体会,现整理下来分享,供大家探讨参考研究。文中如有纰漏、失实之处,请大家及时给与指正。 防破解技术主要有四种实现方式:1.代码混淆(ProGuard)技术 2.签名比对技术 3.NDK .so 动态库技术 4.动态加载技术. 参考资料:h转载 2015-06-29 09:09:04 · 507 阅读 · 0 评论 -
Android NDK开发之Jni调用Java对象
本地代码中使用Java对象通过使用合适的JNI函数,你可以创建Java对象,get、set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函数。JNI通过ID识别域和方法,一个域或方法的ID是任何处理域和方法的函数的必须参数。下表列出了用以得到静态(static)和实例(instance)的域与方法的JNI函数。每个函数接受(作转载 2015-06-29 16:43:29 · 435 阅读 · 0 评论 -
Android JNI之OpenSSL
需求: 通过C代码实现Https的Post操作。方案: 1.选择支持HTTPS的开源库OpenSSL 2.将OpenSSL编译成.a或.so,是指在工程中编译源码成链接库 3.C代码调用OpenSSL的接口步骤:1. 工具:OpenSSL源码,NDK,Cygwin2. 关键是Android.mk的设计#转载 2015-06-29 16:46:12 · 1109 阅读 · 0 评论 -
Android 混淆代码总结
为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤:1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来2. 最重要的就是在proguard-project.txt添加混淆的申明了: a. 把所有你的jar包转载 2015-06-29 16:58:41 · 314 阅读 · 0 评论 -
基于 Android NDK 的学习之旅----- C调用Java
许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现。下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态方法。 1、主要流程1、 新建一个测试类TestProvider.javaa) 该类提供了2个方法b) 一个静态的方法,一个非静态的方法2、转载 2015-06-30 13:46:02 · 480 阅读 · 0 评论 -
openssl移植Android使用及其相关经验分享
1. linux安装openssl库参见《精通PKI网络安全认证技术与编程实现》2.3.2节 Linux下搭建OpenSSL开发环境Linux下面解压tar.bz2文件:tar jxvf android-ndk-r5c-linux-x86.tar.bz2 2. 配置NDK的环境变量在~/.bashrc文件末尾添加:NDK=~/and转载 2015-06-30 10:23:20 · 3185 阅读 · 0 评论 -
使用AIDL实现进程间的通信
在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自己去写这段繁杂的代码,只需要在需要的时候调用即可,通过这种方式我们就可以完成进程间的通信工作。关于AIDL的编写规则我在这里转载 2015-06-30 13:02:38 · 486 阅读 · 0 评论 -
Activity的生命周期,BACK键和HOME键生命周期
Activity的生命周期模型在Google提供的官方文档上有比较详细的一个图示 public class HelloActivity extends Activity { public static final String TAG = "HelloActivity"; /** * 第一个被运行的方法 * 初始化页面 * Bun转载 2015-07-16 09:10:11 · 745 阅读 · 0 评论 -
根据ImageView的大小来压缩Bitmap,避免OOM
Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度。除此之外,我们还可以在本地显示图片前将图片进行压缩,使其完全符合imageview的大小,这样就不会浪费内存了。一、思路思路:计算出要显示bitmap的imageview大小,根据imageview的大小压缩bitmap,最终让bi转载 2015-07-16 16:56:52 · 730 阅读 · 0 评论 -
Android 官方文档之Activity和Task
目录(?)[-]Activity 和 task 的设计摘要在本文档中参考ApplicationsActivityActivity栈和TaskApplicationActivityActivity栈TaskActivity和Task的一个例子从主屏启动一个Activity按着Activity导航通过BACK键和HOME键离开Activity重用一个Activity代替一个转载 2015-05-28 12:51:05 · 557 阅读 · 0 评论 -
获取Android设备唯一标识码的几种方式详解
获取Android设备唯一标识码1.概述有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码。虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。2.下面收集了一些“有能力”或“有一定能力”作为设备标识的转载 2015-05-28 12:56:17 · 8181 阅读 · 0 评论 -
中国天气网城市代码
101010100=北京101010200=海淀101010300=朝阳101010400=顺义101010500=怀柔101010600=通州101010700=昌平101010800=延庆101010900=丰台101011000=石景山101011100=大兴101011200=房山101011300=密云101011400=门头沟10转载 2014-03-20 10:19:21 · 5942 阅读 · 0 评论 -
Android百度地图使用
1步:下载jar包,两个文件一个jar一个so文件http://developer.baidu.com/map/sdkandev-download.htm//右下角有个"lib库"2步:工程内引入库,将so文件放在工程的libs/armeabi 下面 //没有请新建文件夹将jar文件放入libs下面3步:选择工程右键属性->java bulid path->libraries-转载 2014-03-20 10:16:54 · 528 阅读 · 0 评论 -
Android GPS 定位的实现
一个GPS获取地理位置代码的小例子,与地图SDK相关联,可实现运动路径的记录,具体代码如下: 要实用Adnroid平台的GPS设备,首先需要添加上权限,所以需要添加如下权限: uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">uses-permission> 具体实现代码如下:首先判断GPS模块是否存转载 2014-03-20 10:16:08 · 575 阅读 · 0 评论 -
Socket简单用法
Socket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示。值得一提的是,Java在包java.net中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用起来很方便! 下面将首先创建一个SocketServer的类作为服务端如下,该服务端实现了多线程机制,可以在特定端口处监转载 2014-03-20 10:15:02 · 540 阅读 · 0 评论 -
android 传感器相关
下面是API中定义的几个代表sensor的常量。IntTYPE_ACCELEROMETERA constant describing an accelerometer sensor type. 加速度传感器intTYPE_ALLA constant describing all sensor types. 所有类型A constant des转载 2014-03-19 20:12:28 · 771 阅读 · 0 评论 -
adb 常用命令大全
1. 显示系统中全部Android平台: android list targets2. 显示系统中全部AVD(模拟器): android list avd3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号4. 启动模拟器: emulator -avd 名称 -sdcard ~/名称.i转载 2014-03-21 21:55:10 · 730 阅读 · 0 评论 -
一款基于android的运动辅助软件
部分软件原创 2014-04-03 19:52:12 · 1361 阅读 · 4 评论 -
Android端实现图标带提示数字功能
import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Typeface;import a原创 2015-03-19 13:02:28 · 3048 阅读 · 0 评论 -
WIFI小车之旅(一)
最近迷上了WIFi小车…准备趁着下班闲着无事的时候做一个玩玩…网上查了下资料…大部分都是采用的WIFI或者蓝牙模块…给单片机或者arduino发送指令…控制小车的各种动作…不过大部分遥控距离都很短而且上位机都惨不忍睹…所以准备自己做一个……首先是原理图……系统的核心部分选用的是可以刷openwrt的3G无线路由器,openwrt的扩展性不错,而且体积和耗电量都很小,还能还方原创 2015-03-23 13:15:29 · 1048 阅读 · 0 评论 -
Android中webview和js之间的交互
1.android中利用webview调用网页上的js代码。Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:mWebView.getSettings().setJavaScriptEnabled(true);mWebView.lo转载 2015-04-03 15:58:27 · 389 阅读 · 0 评论 -
移动端实现防止重复登录的一种方法(登录踢出)
公司有个项目要求有蛋疼的登录踢出功能,发现使用推送的话可以很容易的实现这个功能。原理图如下每台手机在用户登录成功的时候都将用户名和唯一设备识别码发送到服务器端,服务器端首先在数据库中检索账户,之后提取出来账户所绑定的唯一设备识别码,并进行比对,如果不存在就储存起来,如果比对结果不一样的话就利用推送(之前用的推送号进行的设别唯一性识别),给账户之前的绑定的设备推送踢出消息原创 2015-03-19 16:11:07 · 5064 阅读 · 0 评论 -
Android开启和关闭闪光灯
首先加入权限:打开闪光灯:Parameters parameter;Camera camera;camera = Camera.open(); camera.startPreview();parameter = camera.getParameters(); parameter.setFlashMode(Parameters.FLASH_MODE_TORCH)转载 2015-03-26 13:10:18 · 1241 阅读 · 0 评论 -
WIFI小车之旅(二)手机控制端
好多硬件需要从淘宝购买…而且有好多东西需要焊接…所以先做Android端的控制软件…首先界面如下…请无视界面中的蓝牙那部分…那是便于调试单片机用的…原创 2015-03-23 18:31:09 · 3715 阅读 · 3 评论 -
android集成友盟统计平台
首先去友盟官方网站下载对应的SDK开发包和文档http://dev.umeng.com/system/resources/W1siZiIsIjIwMTUvMDMvMDUvMTVfMjFfMTdfODAxX3Vtc2RrX0FuZHJvaWRfYW5hbHl0aWNzX3Y1LjQuMi56aXAiXV0/umsdk_Android_analytics_v5.4.2.zip打开官网htt原创 2015-03-27 18:14:14 · 1648 阅读 · 0 评论 -
Android HTTP实例 使用GET方法和POST方法发送请求
Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息:用户名和年龄,使用GET和POST两种提交方式。 用浏览器打开: 不管以哪一种方式,提交以后显示如下页面,将提交的信息再显示出来。 关键代码如下:@ page language="jav转载 2015-05-13 10:20:03 · 550 阅读 · 0 评论 -
自定义控件
开发自定义控件的步骤: 1、了解View的工作原理 2、 编写继承自View的子类 3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数 一、View结构原理 Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。View定义了绘图转载 2015-05-28 12:53:51 · 339 阅读 · 0 评论 -
解析Android开发优化之:对Bitmap的内存优化详解
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Andr转载 2015-07-16 17:10:14 · 569 阅读 · 0 评论