android框架

Android

喜欢而已 提交于 2020-03-03 18:34:05
Android操作系统是2003年,由安迪·鲁宾创立的,2005年被Google收购 首台Android手机是2008年由HTC公司代工的 NDK(软件开发工具包)用的是C语言,SDK(Android原生工具开发包)用的是java语言 NDK是用来给安卓手机开发软件用的,NDK开发的软件在安卓的环境里是直接运行的,一般只能在待定的CPU指令集的机器上运行,而且C语言可以直接和硬件对话,因此一般用它给手机开发驱动或底层应用;而SDK开发出的软件在安卓上靠Dalvik虚拟机来运行,没有特殊需要用SDK Android的体系结构:应用层( Application应用程序),应用框架层Application Framework各种API),系统运行库层(Android Runtime 通过C/C++库来提供主要的特性支持),linux内核(Linux Kernel为硬件提供底层驱动,wifi驱动,电源管理等) Android和IOS区别:Android开发语言(java),系统开放性(Android源代码开放,开放性更好),系统安全性(源代码开放,安全性较差);IOS开发语言(Objective-c,Swift),系统开放性(封闭操作系统,开放性较差),系统安全性(封闭操作系统 ,安全性更好) 来源: CSDN 作者: 小箱子ing 链接: https://blog.csdn.net

Android.Hook框架Cydia篇

∥☆過路亽.° 提交于 2020-03-02 19:49:23
Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具. 官网地址:http://www.cydiasubstrate.com/ 官方教程:http://www.cydiasubstrate.com/id/38be592b-bda7-4dd2-b049-cec44ef7a73b SDK下载地址:http://asdk.cydiasubstrate.com/zips/cydia_substrate-r2.zip 0x00Hook Java 层 之前讲解过 xposed 的用法为啥还要整这个了,下面简单对比两款框架.想了解之前 xposed 篇的可以看这里: http://drops.wooyun.org/tips/7488 劣势 : 没啥错误提醒,排错比较麻烦. 需要对 NDK 开发有一定了解,相对 xposed 模块的开发学习成本高一些. 因为不开源网上(github)上可以参考的模块代码很少. 优势: 可以对 native 函数进行 hook . 与 xposed hook 原理不一样,因为不是开源具体原理我也不清楚. 结果就是一些Anti hook 可能对

Android Hook工具Cydia Substrate使用

别等时光非礼了梦想. 提交于 2020-03-02 19:37:38
Hook简介: Hook就是钩子,在安卓中,就是在事件传送到终点前截获并监控事件的传输,像个钩子勾上事件一样,并且能够在勾上事件时,处理一些自己特定的事件。 Cydia Substrate的官网定义:The powerful code modification platform behind Cydia. Cydia Substrate是一个代码修改平台,它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的。 注:Cydia Substrate框架对于inline Hook的操作目前还是存在一些bug,使用的时候可能会出现崩溃的现象,部分使用了国内定制的ROM的设备在使用Cydia Substrate框架时会造成设备无法重新启动或无法Hook的现象。 使用Cydia Substrate的步骤: 第一步: 安装Cydia Substrate框架Android本地服务 首先就是在Android设备中安装Cydia Substrate框架的本地服务应用substrate.apk 然后,需要"Link Substrate Files"(连接本地的Substrate服务文件),这一步是需要Root权限的,连接后还需要重启设备才能够生效。 第二步: 下载使用Cydia Substrate库(直接去官网下载)。下载完成后,将得到的所有文件(很多的jar包与so库)

android3.0 widget

半世苍凉 提交于 2020-03-02 19:09:44
本文翻译整理自: http://developer.android.com/guide/topics/appwidgets/index.html#preview 前言 在Android3.0中,增加了大量的APP Widgets功能,在本文中将详细介绍它们。 一,设置预览图片 在Android 3.0版本中,增加了 previewImage 属性,它用于指明 App Widget的预览图片,它将在用户选中该App Widget的图标,打算添加该App Widget时,进行显示,以便用户了解该App Widget的界面。如果没提供预览图标的话,显示的将是你的App Widget的启动图标。该属性和AndroidManifest.xml中的<receiver>元素的android:previewImage的属性一致。你可以在XML定义该属性,如 示例1 示例1: <appwidget-provider xmlns:android = "http://schemas.android.com/apk/res/android" ... android:previewImage = "@drawable/preview" > </appwidget-provider> Android emulator提供了一个叫做"Widget Preview"的APK应用程序,以便创建你的App

Android 通用流行框架

人盡茶涼 提交于 2020-03-02 18:21:46
原文出处: http://android.jobbole.com/83028/ 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3. 图片处理 名称 描述 Picasso-transformations 一个为Picasso提供多种图片变换的库 Glide-transformations 一个为Glide提供多种图片变换的库 Android-gpuimage 基于OpenGL的Android过滤器 4. 网络请求 名称 描述 Android Async HTTP Android异步HTTP库 AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。 OkHttp 一个Http与Http/2的客户端 Retrofit 类型安全的Http客户端 Volley Google推出的Android异步网络请求框架和图片加载框架 5. 网络解析 名称 描述 Gson 一个Java序列化/反序列化库

android 调用 wcf soap

余生长醉 提交于 2020-03-02 17:56:32
  新博客,新手。以下内容都是最近新学习的,算是做个记录,另外对有这方面需求的朋友提供个参考。不对指出,请多指教。   本人,之前只学过java,后来实习,有一部分需求,是多屏互动,需要android 调用wcf 服务。我花了很多时间,在网上搜索资料,现在发现,很多时间都不高效。   废话不多说了,我尽量把结构写的清楚些。 本来想把程序传上来,但是还不太清楚怎么弄,需要的朋友留邮箱吧。程序没啥可能,以后完善之后再说吧。 打包程序,访问天气和调用本机服务.rar 我在word 上已完成的部分,分两个部分,一个是wcf 创建,另一方是android端调用。下面我用*****最为这部分的开头。因为我要在这部上面添加一些不具体的东西。 总结: 环境:vs2010 android集成版 android 模拟器2.3.3 本机作为服务器 一wcf 1wcf 的服务契约 2服务命名空间 3app.config 图形界面编辑 4baiscHttpBinding 和 wsHttpBinding 二android端 1导入jar包 ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar 2 4个参数 private static final String NAMESPACE ; // 服务契约中定义的命名空间 **在wcf创建中找 Private

android 探索首选项框架 ListPreference

别来无恙 提交于 2020-03-02 08:35:53
探索首选项框架 在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景。假设你正在编写一个应用程序,它提供了一个搜 索飞机航班的工具。而且,假设该应用程序的默认设置是根据机票价格由低到高的顺序显示航班,但用户可以将首选项设置为始终根据最少停站数或特定航线来航 班。如果实现这一场景? ListPreference 显然,必须为用户提供UI 来查看排序选项列表。该列表将包含每个选项的单选按钮,而且默认(或当前)选项应该被预先选中。要使用Android首选项框架解决此问题,所做的工作非 常之少。首先,创建首选项XML文件来描述首选项,然后使用预先构建的活动类,该类知道如何显示和持久化首选项,下面是我们的首选项 XML 文件flightoptions.xml 。 Xml代码 <? xml version = "1.0" encoding = "utf-8" ?> < PreferenceScreen xmlns:android = "http://schemas.android.com/apk/res/android" android:key = "flight_option_preference" android:title = "@string/prefTitle" android:summary = "@string

Android开发指南-框架主题-资源和资产

£可爱£侵袭症+ 提交于 2020-03-02 08:35:03
Android开发指南-框架主题-资源和资产 资源和资产Resources and Assets 资源是Android应用程序不可或缺的部分。一般而言,资源是你想包含和引入到应用程序里面的一些外部元素,比如图片、音频、视频、文本字符串、布局、主题等。每个Android应用程序包含一个资源目录(res/)和资产目录(assets/),资产不经常被使用,因为它们的应用程序很少。你仅在需要读取原始字节流时才需要保存数据为资产。资源和资产目录均驻留在Android项目树的顶端,和源代码目录(src/)处在同一级上。 资源和资产从表面上看没多大区别,不过总体上,在存储外部内容时资源用得更多。真正的区别在于任何放置在资源目录里的内容可以通过您的应用程序的R类访问,这是被Android编译过的。而任何存放在资产目录里的内容会保持它的原始文件格式,为了读取它,你必须使用AssetManager来以字节流的方式读取文件。所以保持文件和数据在资源中(res/)中会更方便访问。 在这篇文章中,你将获取关于Android应用程序经常使用的标准资源类型以及如何在代码中引用方面的信息。资源和国际化(Resources and Internationalization)是第一步,可以知道Android如何利用项目资源。然后,可用资源类型(Available Resource Types

安卓平台下的即时通讯 .

拈花ヽ惹草 提交于 2020-03-02 05:15:03
摘要: 论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的 作用和功能以及实现方法,复杂的通讯如引入视频音频等可以考虑AnyChat SDK。 关键词: Android 平台;即时通讯 SDK包下载 http://download.csdn.net/detail/xujinquan19/4512304 (本文中图表点击附件即可见) 1 Android 平台简介 Android 是Google 公司于2007年11月5日推出的手机操作系统 ,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40 多家移动通信领域的领军企业组成开放手机联盟(OHA)。Google 与运营商、设备制造商、开发商和其他第三方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。正因如此,Android 正在被越来越多的开发者和使用者所接受。近日,Google 发言人Anthony House称, 截止到2010 年4 月15 日,Android Market 已经有3.8 万多个应用程序。 2 Android 平台特性与即时通讯的研究   Android 平台框架共由5 部分组成。底层核心是基于 Linux 2.6内核 开发的独立操作系统,该层用来提供系统的底层服务

Viewpager+Fragment简单使用

扶醉桌前 提交于 2020-03-01 20:12:32
xml布局 < ? xml version = "1.0" encoding = "utf-8" ? > < androidx . constraintlayout . widget . ConstraintLayout xmlns : android = "http://schemas.android.com/apk/res/android" xmlns : app = "http://schemas.android.com/apk/res-auto" xmlns : tools = "http://schemas.android.com/tools" android : layout_width = "match_parent" android : layout_height = "match_parent" tools : context = ".MainActivity" > < androidx . viewpager . widget . ViewPager android : layout_width = "match_parent" android : layout_height = "0dp" android : id = "@+id/viewPager" app : layout_constraintBottom_toTopOf = "@+id/bottom