android开发

[转]android开发工具大全

▼魔方 西西 提交于 2020-03-31 02:51:59
(1) zipalign工具:根据数据结构对齐标准DSA对APK程序包进行对齐优化,从而提高APK应用程序与Android系统交互效率。 (2) traceview工具:性能分析工具,根据Android应用程序产生的跟踪日志生成性能分析图。 (3) sqlite3工具:SQLite数据库操作工具,包括对数据库中表的增,删,改,查操作。 (4) monkey工具:压力测试工具,在模拟器或设备(adb shell)中,向Android系统发出一系列伪随机的用户事件流。 (5) mokeyrunner工具:Android系统提供了一套API,可自定义命令或事件流(Python文件)。并通过monkeyrunner工具执行自定义的事件流。 (6) mksdcard工具:创建SDCard工具。 (7) layoutopt工具:布局文件优化工具 (8) hprof-conv工具:内存分析工具,显示詳細的内存占用信息,指出可疑的内存泄漏对象。  使用方法: a. 在代码中加入:android.os.Debug.dumpHprofData("目录 + 文件名(/data/tmp/input.hprof)"). b. 使用hprof-conv将生成的文件转换成MAT工具可识别是的文件(hprof-conv input.hprof output.hprof). c. 用MAT工具打开转换好的文件。

Android 官方命令深入分析

谁说胖子不能爱 提交于 2020-03-31 02:45:18
原文: www.libgdx.cn Android SDK包含了多种工具来帮助你创建基于Android平台的移动应用。这些工具一般分成两类:SDK 工具和 platform 工具。SDK 工具是独立的,与Android的版本无关,Platform 工具是为了支持最新的Android平台的特性。 SDK工具 SDK工具安装在Android的SDK文件夹中,并且经常的进行更新。在你开发Android应用时需要用到SDK工具。最重要的SDK工具包括Android SDK Manager,AVD Manager,emulator和Dalvik Debug Monitor Server(DDMS)。以下介绍一些常用的SDK工具。 Virtual Device工具 Android Virtual Device Manager:AVD Manager 提供了一个用户图形界面来帮助你创建和管理运行在虚拟机中的Android Virtual Devices(AVDs)。 Android Emulator(emulator):这是一个基于QEMU的设备虚拟工具,你可以通过它在真实的Android运行环境中调试和测试你的应用。 mksdcard:帮助你创建一个可以用于虚拟机(emulator)的磁盘镜像(可以理解为虚拟SD卡),来模拟外部存储卡(比如SD卡)。 开发工具(Development

Android 开发工具介绍-SDK工具和平台工具

拜拜、爱过 提交于 2020-03-31 02:40:48
原文链接: http://android.eoe.cn/topic/android_sdk Android的SDK提供各种工具可以帮你为Android平台开发移动应用程序。这些工具被分类成两组:SDK工具和平台工具。无论你正在开发的是哪个Android平台,SDK工具是独立于这些平台的。平台工具是用来支持最新Android平台的功能。 SDK工具 SDK工具是随着SDK入门套件一起安装的并且定期更新。如果你正在开发Android应用程序,那SDK工具是必需的。最重要的SDK工具包括Android SDK管理器(Android SDK),AVD管理器(Android AVD)模拟器(emulator)和Dalvik调试监视器服务器(DDMS)。下面提供了一些常用的SDK工具的简短介绍。 android 可让您管理AVDS、项目和已安装的SDK组件。 Dalvik Debug Monitor Server (ddms) 允许您调试Android应用程序。 dmtracedump 由跟踪日志文件生成调用堆栈(call-stack)图。该工具使用Graphviz Dot程序来创建图形输出。故在运行dmtracedump前,你需要安装Graphviz。欲了解更多使用dmtracedump的信息,请参见 Profiling with Traceview and dmtracedump 。

阿里大神手把手教你Android ButterKnife 的实现思路,建议收藏!

做~自己de王妃 提交于 2020-03-30 20:42:51
在Android开发中,我们为了方便初始化Activity中的各种View,我们可能会使用到Jake Wharton的 ButterKnife库,这个库是针对View、资源id等进行注解的开源库,它能够去除掉一些丑陋不堪的样板式代码,使得我们的代码更加简洁、易于维护,同时基于APT也使得它的效率得到保证。 (如果你想快速了解ButterKnife的实现思路,可以先阅读 ExampleActivity$InjectAdapter类以及后续的结论,然后再回过头来阅读 ) 下面我们来看看 ButterKnife 的简单使用。 首先我们看在没有使用ButterKnife时,我们初始化一个 Activity中的各个控件的代码: 在ExampleActivity函数的onCreate函数中,我们通常会对各个子视图进行初始化,这些代码看起来重复性很高,而且丑陋不堪,几乎都要对View进行强转,当一个布局中含有十个以上的View时,再加上为某些View添加上事件处理等,这部分的代码将占用很大的篇幅。 ButterKnife就是为了简化这些工作而出现的,让开发人员专注在真正有用的代码上。使用ButterKnife之后我们的代码变成了这样: 当运行完onCreate函数之后Activity中的几个View就已经被初始化了。findViewById、强制转换等样板代码被去除了,代码变得更加简单

[转] 基于XMPP协议的Android即时通信系

北慕城南 提交于 2020-03-30 18:27:08
转自:http://blog.csdn.net/lnb333666/article/details/7471292 以前做过一个基于XMPP协议的聊天社交软件,总结了一下。发出来。 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台。 系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端、服务器等;二是客户终端。它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所提供的全部功能。三是协议网关。完成XMPP协议传输的信息与外部消息系统可识别信息间的翻译。再就是XMPP网络。实现各个服务器、客户端间的连接。系统采用客户端(Client)/服务端(Server)架构体系结构。 客户端: 客户端基于Android平台进行开发。负责初始化通信过程,进行即时通信时,由客户端负责向服务器发起创建连接请求。系统通过GPRS无线网络与Internet网络建立连接,通过服务器实现与Android客户端的即时通信脚。 服务器端: 服务器端则采用Openfire作为服务器。允许多个客户端同时登录并且并发的连接到一个服务器上。服务器对每个客户端的连接进行认证,对认证通过的客户端创建会话

深入浅出Java(Android )线程池ThreadPoolExecutor

血红的双手。 提交于 2020-03-30 15:26:01
前言 关于线程池 在Java/Android开发中,设计到并发的请求,那基本上是离不开线程池了。用线程池的好处: 1、减少线程频繁创建、销毁的开销; 2、好控制并发量,降低OOM的可能,至于原因文中会说; 3、提高程序的响应速度,因为可以省去部分创建的过程; 要不要深度学习线程池 对于服务端的同学来说应该会比较重视这一块,因为需要做高并发;而移动端的同学可能比较容易忽略这一块。有些人觉得平时也用不到,移动端没有那么大并发量,或者说第三方框架中已经完成了,比如 OkHtttp ; 其实只能说有这种想法的同学还没有遇到大一点的项目或者说没有太多多线程优化的经验。 如果你真的遇到了这种项目瓶颈,你连线程池的运行原理都不知道,那又如何解决项目问题呢? 如果你要寻求一份中高级开发工程师的工作,那线程池是基本是必问题目之一,而且还要有一定深度。 如何深度学习线程池 这也是我们今天的重点,本文将从下面几点带大家快速掌握线程池的要点: 1、从API使用到原码解析,基于JDK1.8版本; 2、从源码阅读(深入)中总结出(浅出)线程池工作原理; 3、对应用场景的分析以及异常处理 预览 线程池类图.png 先对线程池的部分核心类/接口做个简介,大家有个印象就好。 Executor接口 public interface Executor { /** * 就一个方法,用来执行线程任务的

Smobiler如何实现.net一键开发,ios和android跨平台运行

你离开我真会死。 提交于 2020-03-30 15:21:41
目录 一 概述 二 原理 移动端控件 移动端API 三 写在最后 一. 概述 Smobiler实现了.net服务端开发,ios和android客户端直接运行显示,无需学习Objective-C或Java,一次开发搞定iOS和Android两大平台. 框架底层的通讯使用的是C++的,保证了通讯的安全性,并实现和动态部署的功能,在app快速迭代的时代,通过Smobiler开发的App,只需要修改服务端,即可实现客户端的实时更新,不需要重新打包发版. 二. 原理 接下来,将从原理上谈谈Smobiler如何实现此功能的. 并分别针对iOS和Android讲解. 控件 Designer上提供了很多基础控件,像Panel,Button,Image,Lable,TextBox,这些基础UI组件和原生应用完全一致,实际上,在客户端,这些控件就是原生控件开发而成的,通过服务端控制其属性,传递给客户端配置. API Smobiler客户端使用原生开发方式,集成了手机硬件的大部分功能,服务端只需要通过简单的API调用即可实现对手机硬件功能的使用.而第三方插件的方式,也给有能力的用户开发自己需要的原生功能带来了可能. 移动端控件 在做iOS和Android的跨平台功能中,控件都是原生的,通过加密的自有协议Render,创建丰富的原生UI库,让Smobiler用户感受和原生应用一致的用户体验.

Android Settings 导入eclipse

佐手、 提交于 2020-03-30 08:11:30
1.加载源码 Android Project from Existing Code 选择源码工程Settings; 2.加载所需要的jar包 (改下名字) out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/frameworks-core-util-lib_intermediates/classes.jar out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar 另外还要根据实际项目情况添加其他jar文件 guava-r07.jar 网上下载 android-support-v4.jar

Hybrid App 开发实践总结

折月煮酒 提交于 2020-03-30 07:29:44
引言 随着 Web 技术和移动设备的快速发展,Hybrid 技术已经成为一种最主流最常见的方案。一套好的 Hybrid架构方案 能让 App 既能拥有极致的体验和性能,同时也能拥有 Web技术 灵活的开发模式、跨平台能力以及热更新机制,想想是不是都鸡冻不已。。😄。本系列文章是公司在这方面实践的一个总结! Native App 开发模式 Native App,原生APP,使用原生(即Android或iOS)开发的APP。应用的性能好是无容置疑的,但是企业大都处于尝试和摸索期,企业需要在短时间内快速推出不同的功能、产品来适应市场的需求和变化。对于有专业开发团队的互联网公司而言推陈出新都是个难题,更不要说在企业中的应用。 其缺点有: 开发、更新、维护的周期太长 无法跨平台:Android和iOS都需要开发各自平台的版本——开发成本高; 升级麻烦:每次升级都要下载安装包,Android还好,反正不需要审核,下载就下载吧,但iOS就麻烦了,发布每个版本还得经过App Store的审核 Android和iOS很难同步发布。 Web App 开发模式 HTML5技术的兴起给Web App注入了新的生机。可是Web App目前的本质是金玉其外败絮其中,功能不但无法和Native App媲美,用户体验更是众所周知的弊端。在当前iOS、Android系统主导的桌面入口的形态下,让用户打开浏览器

Android下运行c程序

限于喜欢 提交于 2020-03-30 06:49:50
在android的设计中,谷歌设计了一套专门为嵌入式设备使用的bionic C库,以替换原有的GUN Libc,这个精简的bionic库据说只有200多K,所以如果只想使用这个精简的C库像在linux下一样 开发C程序,基本是不可能的。当然如果只想让其在shell中运行还是可以做到的。 因为编译完的目标程序是在android下运行,就要使用交叉编译的工具,在下面地址下载: http://www.codesourcery.com/gnu_toolchains/arm/download.html 下载完之后,bin目录下的arm-none-linux-gnueabi-gcc就是交叉编译器了 #include <stdio.h> int main() { printf("nihao a\n"); printf("你好 啊\n"); return 1; } 输入一下命令: ./arm-none-linux-gnueabi-gcc hello.c -o hello -static -static选项在这里是必须的,否则会出现”not found”的错误。 然后就可以把编译好的hello传到手机上运行了。不过这里有个前提条件,要求android机器必须是root过的,好像简单的z4root还不行,必须使用更彻底的root方法,关于如何root,这里就不再赘述了,可以参考相关root的帖子。