android框架

html5移动端常见问题集锦

戏子无情 提交于 2019-12-08 02:07:06
meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name=”viewport” content=”width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no” /> 忽略将页面中的数字识别为电话号码 <meta name=”format-detection” content=”telephone=no” /> 忽略Android平台中对邮箱地址的识别 <meta name=”format-detection” content=”email=no” /> 当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari <meta name=”apple-mobile-web-app-capable” content=”yes” /> <!– ios7.0版本以后,safari上已看不到效果 –> 将网站添加到主屏幕快速启动方式,仅针对ios的safari顶端状态条的样式 <meta name=”apple-mobile-web-app-status-bar-style” content=”black” /> <!– 可选default、black、black-translucent –> viewport模板

Android中X5WebView详解

依然范特西╮ 提交于 2019-12-08 01:02:51
今日科技快讯 据路透社报道,推特(Twitter)公司周五宣布,它已经禁止总部位于莫斯科的卡巴斯基实验室在其社交平台上打广告,称这家网络安全公司的商业模式与其广告规则存在冲突,并援引美国政府的说法称卡巴斯基实验室与俄罗斯情报机构有关联。推特通过电子邮件证实了这项封杀令。 作者简介 欢迎回到周一,新的一周继续加油努力吧! 本篇来自 骑小猪看流星 的投稿,分享了他如何封装 X5WebView以及如何在项目中灵活运用的过程 ,一起来看看!希望大家喜欢。 骑小猪看流星 的博客地址: https://www.jianshu.com/u/0111a7da544b 前言 这一篇的目标就是怎么样快速封装X5WebView,如何有效的同步以及管理Cookie,使用IntentService优化预加载,如何监听进度条等一些在项目中使用的常用功能。 正文 功能需求 需求一:客户端账号密码登录成功以后,调用H5界面(也就是使用X5webView,以下简称X5)。H5界面也需要去记录你的状态,比如你客户端本地登录成功以后,H5界面也需要显示登录成功的状态。那么,客户端和H5如何去同步状态? 需求二:因为X5加载的时候,会有一段时间会显示空白或者卡顿,如何去监听并利用这个进度并优化? 需求三:如何简单封装X5WebView基本功能? 需求分析 需求一 (针对需求一,我真的是参考了很多哥们的技术博客

Android RIL结构分析与移植

橙三吉。 提交于 2019-12-07 19:19:51
Android RIL结构分析与移植 介绍 本文档对Android RIL部分的内容进行了介绍,其重点放在了Android RIL的原生代码部分。 包括四个主题: 1.Android RIL框架介绍 2.Android RIL与 WindowsMobile RIL 3.Android RIL porting 4.Android RIL的java框架 在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。 对于java代码部分,这里仅进行简单的介绍。如果需要深入了解,可以查看相关参考资料。 本文档中还对Android RIL的Porting部分内容进行了描述和分析。 针对对unix操作系统环境并不熟悉的读者,本文档中所涉及到的相关知识包括: Unix file system Unix socket Unix thread Unix 下I/O多路转接 以上信息可以在任意一份描述Unix系统调用的文档中找到。 1.Android RIL框架介绍 术语: fd unix文件描述符 pipe unix管道 cond 一般是condition variable的缩写 tty 通常使用tty来简称各种类型的终端设备 unsolicited response 被动请求命令来自baseband event loop

Android网络编程概述

喜你入骨 提交于 2019-12-07 16:42:59
首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) Java .net.*(标准Java接口) java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。比如:创建URL,以及URLConnection/HttpURLConnection对象、设置链接参数、链接到服务器、向服务器写数据、从服务器读取数据等通信。这些在Java网络编程中均有涉及。 b) Org.apache接口 对于大部分应用程序而言JDK本身提供的网络功能已远远不够,这时就需要Android提供的Apache HttpClient了。它是一个开源项目,功能更加完善,为客户端的Http编程提供高效、最新、功能丰富的工具包支持。 c)Android.net.*(Android网络接口) 常常使用此包下的类进行Android特有的网络编程,如:访问WiFi,访问Android联网信息,邮件等功能。 2)网络 架构 主要有两种模式B/S,C/S B/S----》就是浏览器/服务器端模式了,通过应用层的HTTP协议通信,不需要特定客户端软件,而是需要统一规范的客户端,简而言之就是Android网络浏览器(如chrome,UcWeb,QQ浏览器等等)访问web服务器端的方式了。 C/S-----》就客户端/服务器端模式,通过任意的网络协议通信

Android Healthd电池服务分析

人盡茶涼 提交于 2019-12-07 16:12:34
healthd healthd是安卓4.4之后提出来的,监听来自kernel的电池事件,并向上传递电池数据给framework层的BatteryService。BatteryService计算电池电量显示,剩余电量,电量级别以及绘制充电动画等信息,其代码位于/system/core/healthd。 android/system/core/healthd/ Android.mk BatteryMonitor.h BatteryPropertiesRegistrar.h healthd.cpp healthd_mode_android.cpp images BatteryMonitor.cpp BatteryPropertiesRegistrar.cpp healthd_board_default.cpp healthd.h healthd_mode_charger.cpp 下面一张图清晰的表示了Android电池系统框架 healthd服务入口:android/system/core/healthd/healthd.cpp 中main函数。 int main(int argc, char **argv) { int ch; int ret; klog_set_level(KLOG_LEVEL); //healthd_mode_ops是一个关于充电状态的结构体变量, healthd

RatingBar在真机上显示不全的问题

痴心易碎 提交于 2019-12-07 15:45:55
设置 style="?android:attr/ratingBarStyleSmall" 这个属性;据说有效 最近在写一个程序用到了评星的RatingBar控件,发现了一个奇怪的问题,RatingBar在模拟器上看起来正常,装到HTC g7的机子了就显示不全,并且明显感觉图像被拉申了(我用的是最小的style: ratingBarStyleSmall)。 以为是自己的代码问题,后来直接试了一下android的ApiDemos,发现也存在这个问题: <RatingBar android:id="@+id/small_ratingbar" style="?android:attr/ratingBarStyleSmall" android:layout_marginLeft="5dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> 如图: 在网上找了一些程序(如eoemarket之类的),发现他们都能在真机上正常显示出来,而我把布局文件改成和他们一模一样都不对。最后比来比去,在AndroidManifest.xml上加了一句: <uses-sdk android:minSdkVersion="4" /

ReactNative For Android 项目实战总结

半世苍凉 提交于 2019-12-07 15:17:53
版权声明:本文由王少鸣原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/159 来源:腾云阁 https://www.qcloud.com/community Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行React Natived的改造。在情侣空间基础上,Android Qzone 6.2版本以融合的方式将话题圈进行React Native改造。本文主要讲述话题圈的开发改造流程,相关数据对比及性能优化,本次改造ReactNative基于15Release。 一.Android侧项目整体开发流程 二.ReactNative改造后话题圈整体流程 三.ReactNative性能优化之路 本次版本开发周期较赶,加上视频组件本身相对复杂,融入ReactNative耗时较多,部分优化规划在二期实施。 1.包精简 版本对比: 情侣独立插件:7.2m。 话题圈:本次ReactNative框架移植入Qzone整体仅加大了3.2m。 主要优化点: 1)去除了小平台so库。 2)复用Qzone support jar。 二期规划: 1)在Qzone与ReactNative中间加Adapter,使ReactNative适配Qzone本身网络库及图片库

(十四)Android NDK混淆

一笑奈何 提交于 2019-12-07 15:09:40
1、ollvm下载编译 我的是macbook环境。 参考obfuscator官网: https://github.com/obfuscator-llvm/obfuscator/wiki 执行下面的命令下载并编译: $ git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release ../obfuscator/ $ make -j7 cmake找不到的话,上cmake.org官网下载,并设置环境变量。 编译成功后,生成的文件主要在build/bin 和 build/lib 这2个文件夹。 2、整合到NDK 网上别人有介绍在NDK目录手动创建llvm之类的新文件夹,拷贝build/bin 和 build/lib2个文件夹,有编译问题,懒得去折腾。 我的做法是: 找到Android SDK目录中的 ../ndk-bundle/toolchains/llvm 文件夹,先备份下llvm文件夹,然后将obfuscator编译好的build/bin 和 build/lib2个文件夹直接拷贝到../llvm/prebuilt/darwin-x86_64/文件夹下,直接覆盖替换。

Android电话系统之概述篇

风格不统一 提交于 2019-12-07 14:39:11
首先抛开Android的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC。但是作为一个电话的基本功能如下: 0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM管理 1)由于电话运营商为我们提供了呼叫等待,电话会议等补充业务,所以我们的手机需要管理多路通话,如何管理? 2)来电时,我们要播出来电铃声,接通时我们需要切换语音通道,这个又跟多媒体系统打上了交道,例如有耳机插上了,有蓝牙耳机连上了,系统该做如何的管理和切换? 3)上网的网络通路建立(例如GSM GPRS),如何PPP连接并连接到LinuxSocket通道上的?系统如何管理数据连接? 4)AP跟Modem通讯时通过AT指令的,如何将AT指令变成一个个具体的操作函数,如何管理Modem发给我们的回应,AT命令通道,数据通道如何管理? 5)sim卡的电话本如何管理? 上面的关于手机的基本问题,Android电话系统设计者必须要解答的问题。该设计如何的管理框架,提出什么概念来表达?所以要分析Android的电话部分,还是需要理解电话实现的背景知识,通讯协议,大体框架。 我们回到电话系统基本构成上,先从整体上去把握一下电话模块的大体框架,先从空中俯瞰。我给出的图是一般的智能手机的框架图

android开机启动服务v1.0

狂风中的少年 提交于 2019-12-07 12:11:38
过程是这样的,当所有的android系统服务启动完成以后,会像发传单一样像外面散布消息,这个过程就是广播,我们需要做的就是去捕捉这个系统启动完成 的消息,捕捉到这个消息以后,该启动Activity就启动Activity,该启动服务就启动服务,最好的办法就是实践。 为了更好的理解这个过程,先按部就班的开始,以后玩熟练了想横着玩就横着玩想竖着玩就竖着玩。 创建好了工程项目之后,定义一个广播类,继承自BroadcastReceiver,这个类得作用就是捕捉到系统发出的消息以后做的事情代码都写在这个类里面,捕捉系统消息只需只需在AndroidManifest.xml文件中添加两个元素就可以。 Java NIO框架Mina、Netty、Grizzly介绍与对比 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fly" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".BootSayHello" android:label="