- ExoPlayer详解——高级主题(官方文档)
JackeyAndev
读书笔记ExoPlayer系列文档ExoPlayer电池消耗APK收缩OEM测试数字版权管理
ExoPlayer详解系列文章ExoPlayer详解——入门(官方文档)ExoPlayer详解——媒体类型(官方文档)ExoPlayer详解——高级主题(官方文档)一、数字版权管理ExoPlayer使用Android的MediaDrmAPI来支持受DRM保护的播放。不同支持的DRM方案所需的最低Android版本以及支持它们的流式格式为:DRM格式Android版本号AndroidAPI级别支持的
- 【Android】AOSP 架构
吴同学是个程序员
Androidandroidaosp安卓安卓架构
Android官网对AOSP结构图进行了更新,如下所示:Android应用(AndroidApps)完全使用AndroidAPI开发的应用。在某些情况下,设备制造商可能希望预安装Android应用以支持设备的核心功能。特权应用(PrivilegedApps)使用Android和系统API组合创建的应用。这些应用必须作为特权应用预安装在设备上。设备制造商应用(DeviceManufacturerAp
- Unity老项目Android 13支持
Don里个冬
Unity3D技术分享unityandroid
Unity老项目Android13支持前言Google官方要求新、老app在一定时间要求内需要面向Android12、Android13构建,不然不给app过审。我们之前是面向AndroidAPI30构建的,现在需要支持面向AndroidAPI33构建。https://developer.android.com/about/versionshttps://support.google.com/go
- 针对现代 Android 更新游戏 API 等级
谷歌开发者
发布人:TomGreenaway,合作伙伴高级开发技术推广工程师我们已在去年宣布:自2018年8月起,GooglePlay要求所有新上线的应用和游戏都必须针对新的AndroidAPI等级进行开发——设置为API等级26(Android8.0Oreo)或更高。此外,从2018年11月开始,所有现有应用和游戏的更新也必须满足此项要求。每次Android版本更新都会引入一些变更,让系统安全性和性能得到显
- android 音量调节不起作用,android-无法设置音量,音量控制未转发到系统
Sei Kyo
android音量调节不起作用
尽管我讨厌不断回答自己的问题,但在使用AndroidAPI几个小时后,通过浏览一些文档等,我找到了解决方案.我为任务“volumeUp”,“volumeDown”和“静音”创建了一个接口:publicinterfaceNativeVolumeService{voidvolumeUp();voidvolumeDown();voidmute();}然后,基于以下关于如何设置systemvolumeon
- [小折腾] SharedPreferenceImpl$EditorImpl#apply引发的ANR场景
newmandirl
androidandroidanr
书本《Android工程化最佳实践》(作者金凯)中谈到SharedPreference会有ANR的可能,以及贴出关键源码(api19)和相关的log日志,读者可以先行看看。目前可以确定的是,若写文件真的耗时,不管在哪个线程执行apply,都有可能引发ANR。来个时序图,基于androidapi26可以看到,如果work耗时长,UI线程必定会阻塞等待,越长越容易引发ANR想要折腾验证,本人是通过一些
- Android 10 更新内容(开发必读)
icechao
Android10功能和APIAndroid10为用户和开发者引入了强大的功能。本文重点介绍面向开发者的功能。要了解API,请阅读API差异报告或访问AndroidAPI参考文档,查找“在API级别29添加”的API。此外,请务必查阅Android10行为变更(针对以API级别29为目标的应用和所有应用)以及隐私权变更,以了解平台变更可能给您的应用带来哪些方面的影响。安全增强功能Android10
- Android 调用TTS语音引擎过程及问题记录
MCNS_37
Androidandroid音频
Android调用TTS引擎过程及问题记录前言 背景是需要在华为平板上部署一个能够进行相关中文语音提示的APP,华为系统为鸿蒙3.0,对应AndroidAPI12.Android调用TTS引擎 调用TTS引擎之前,首先要确认自己的设备中是否安装了相关的文本转语音引擎以及是否支持中文,查看方法为“设置->辅助功能->无障碍->文本转语音”,鸿蒙系统是这个路径,或者可以直接在设置中直接搜索文本转语
- Native.js是什么
zz_ll9023
javascript开发语言ecmascript
Native.js是一个开源项目,旨在通过JavaScript调用原生AndroidAPI。它的目标是让JavaScript开发者能够使用Android原生API,从而在不编写原生代码的情况下构建Android应用。使用Native.js,开发者可以使用JavaScript调用Android原生API,包括但不限于UI、网络、文件、数据库等。这意味着开发者可以使用JavaScript编写大部分应用
- Android P 功能和 API
Arestory
本文重点介绍面向开发者的新功能。要了解新API,请阅读API差异报告或访问AndroidAPI参考—为醒目起见,将突出显示新API。请务必查阅AndroidP行为变更以了解平台变更可能给您的应用带来哪些方面的影响。利用Wi-FiRTT进行室内定位全新RTTAPI支持在应用中进行室内定位。AndroidP添加了对IEEE802.11mcWi-Fi协议(也称为Wi-FiRound-Trip-Time(
- 『与善仁』Appium基础 — 19.Appium测试环境搭建总结
繁华似锦Fighting
1、Appium测试环境搭建整体思路(1)Android测试环境搭建Android测试环境需要搭建三个环境,Java,AndroidSDK,Android模拟器。为什么要安装这三个环境?Java:Android的应用程序层使用的语言是Java,所以需要使用Java环境。AndroidSDK:AndroidSDK给你提供开发、测试所必须的AndroidAPI类库。Android模拟器:实际上就是一台
- Android-UI相关开源项目库汇总
强行天下·
Androidandroid冯诚俊
抽屉菜单MaterialDrawer★7337-安卓抽屉效果实现方案Side-Menu.Android★3865-创意边侧菜单FlowingDrawer★1744-向右滑动流动抽屉效果SlidingRootNav★1338-仿DrawerLayout的ViewGroupFantasySlide★1049-单手势滑出侧边栏与选择菜单Floating-Navigation-View★779-浮动菜单显
- 应用程序支持的系统版本
睿智闷骚男
android相关android笔记
在使用AndroidStudio创建Android项目时,MinimumSDK选项表示应用程序所需的最低AndroidAPI级别。这个选项让您指定应用程序可以运行的最小Android版本。在构建应用程序时,您可能需要使用一些最新的AndroidAPI来实现某些功能。但是,如果您的应用程序要在旧版本的Android上运行,就必须考虑API的向后兼容性。通过选择适当的MinimumSDK,您可以确保您
- Android文件选择器
文韬_武略
android
前沿最近又在扮演合规工程师觉得。华为应用市场把公司应用下架了,原因是权限申请时,没有明确的解释说明权限的用途。大概就是下面这样,在顶部弄个权限说明![在这里插入图片描述]好吧,看了一眼几个大厂的App,确实是做了提示。行,那就改吧。最佳实践看了之前的代码,使用的是第三方的库实现,已经无法再AndroidAPI30后的版本了,只能另外实现。但是既然系统有自带的文件选择器,那就用系统的吧,没有必要自己
- Android-UI 超级优良超级多超级强大开源控件源码demo
捡钱的垃圾佬
android
转自:http://m.blog.csdn.net/huningjun/article/details/46300629第一部分个性化控件(View)主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipV
- android mvp原理,Android MVP模式使用
轻风慢越
androidmvp原理
MVP简介Activity和Fragment视为View层,负责处理UI。Presenter为业务处理层,既能调用UI逻辑,又能请求数据,该层为纯Java类,不涉及任何AndroidAPI。Model层中包含着具体的数据请求,数据源。原理图网友给出的一张原理图。看这张图片,但是Model是怎么跟Presenter通信的呢????根据我写的代码,我把原理图改了一下。MVP使用MVP没有固定的写法,结
- 刘海屏
主音King
一种是api=28,包括AndroidP。Androidapi中提供了方法如下:publicstaticDisplayCutoutisAndroidP(Activityactivity){ViewdecorView=activity.getWindow().getDecorView();if(decorView!=null&&android.os.Build.VERSION.SDK_INT>=28
- Android开发——问题:lnstalled Build Tools revision 33.0.2 is corrupted
windy~123
Androidandroidstudio
我在AndroidStudio中配置好虚拟机,新建项目,什么都还没开始,直接运行报错“lnstalledBuildToolsrevision33.0.2iscorrupted”。在网上找了许多方法,和我的问题不匹配,后面才发现是我的SDK的问题。解决如下:从tools进入SDKManager(进去后会看到Android7.0勾选,是因为我安装的时候是选7.0,AndroidAPI33勾选是系统配置
- unity中Android各版本对应的SDK版本
魂玉天成
unityandroidunity游戏引擎
在unity开发中经常出现兼容性的问题,老是忘记Android各版本对应的SDK版本,这里记录一下,以供自己查阅,如果unity打包生成androidapi过低,那么可能在最新的机型上无法运行,闪退或者各种异常。平台版本SDKAPI版本版本名称Android1334UpsideDownCakeAndroid1333TIRAMISUAndroid1231,32S,S_V2Android1130RAn
- AndroidStudio 连接手机调试
静默Myself
1、点击SDKManager。SDKManager.png2、进入界面,如下图勾选GoogleUSBdriver,点击apply进行安装。GoogleUSBDrive.png3、在SDKManager界面里面选择手机支持的SDK,如AndroidQ、AndroidR等,我的手机已经更行到了AndoidQ,所以选择AndroidQ(对应androidAPI29).更新SDK.png4、进入电脑的设备
- uniAPP调用AndroidAPI
emma20080101
uni-app
uni-app是一个使用Vue.js开发所有前端应用的框架,可以编译到iOS、Android、H5、以及各种小程序(微信、支付宝、QQ等)。要在uni-app中调用Android原生API,通常有以下几种方式:使用plus对象plus是uni-app提供的一个全局对象,它提供了与原生平台交互的方法。例如://调用原生界面相关APIplus.nativeUI.showAlert('提示','这是一个
- Android Studio Giraffe | 2022.3.1
编程乐学
Androidandroidstudioandroidide
目录AndroidGradle插件和AndroidStudio兼容性特定AndroidAPI级别所要求的最低工具版本补丁版本AndroidStudioGiraffe|2022.3.1补丁3(2023年11月)AndroidStudioGiraffe|2022.3.1补丁2(2023年9月)AndroidStudioGiraffe|2022.3.1补丁1(2023年8月)使用实时编辑功能实时更新可组
- 超简单android自定义控件流式布局SimpleFlowLayout
易说新语
技术的进步,总是由需求推动的——安卓君1、前言流式布局是app开发中必不可少的布局方式,例如照片墙,筛选标签等等。基本上每个app里面都可以看到这样的布局,但是androidAPI中并没有提供实现流式布局方式的控件,因此自己实现一个流式布局的控件就非常有必要了。本文分享笔者实现FlowLayout思考过程,希望能够抛转引玉,为大家提供一个新的思路,文章末尾有代码链接。2、效果下面是效果图:Simp
- itemtouchhelper实现recyclerview的侧滑菜单及处理item的子view点击事件
dong咕猫
最近项目上要做聊天会话列表,需要侧滑菜单来实现删除,静音等操作,由于这一块儿没有太多经验,于是首先想到了AndroidAPI提供的itemtouchhelper。这个类,是用来实现item的拖动,滑动等效果的。怎么用呢,点开源码看一下,最后一句关键,意思是大多数情况下,你只需要重写onChildDraw方法,并在里面实现你自己的行为即可。然而,这个类默认效果是需要滑动整个item的宽度的,做侧滑菜
- android listview高级,android ----- ListView的高级应用
孤不谷
androidlistview高级
在此我不在赘述androidAPI中的内容,只是实际的经验,拿出来共享一下。常见的ListView的显示风格都是调用系统定义的样式,如:android.R.layout.sample_list_item1,这种风格在大多开发过程中不能满足用户的要求,如果要使得包含图片,文本,以及其它的形式,上述格式明显不可以了,下面记录了一种比较好用的格式,具体的代码如下:/res/values/string.x
- 虫师python appium自动化测试书_Appium移动自动化测试实例-基于python
weixin_39688378
虫师pythonappium自动化测试书
一、环境搭建安装Android环境变量、SDK、AndroidAPI、ADT等。步骤1安装SDK:下载地址为https://pan.baidu.com/s/1mi6PT9m。如提示错误:'xcopy'不是内部或外部命令,也不是可运行的程序,则在环境变量path中加入C:\Windows\System32。步骤2安装AndroidAPI19等,如图1所示。步骤3安装ADT,下载离线安装包https:
- 导入自定义android.jar,Android Stdio 引入自定义framework.jar
吕女士
1:AndroidStudioIDE的编译无错误提示这里推荐在Iml文件中自定义:如何自定义AndroidAPI22Platform-aosp,首先把这个名字改错,然后编译,根据提示进入到SDK的编辑界面:这里先删除android.jar然后再加入framework.jar和android.jar这样就确保IDE编译无错误。2:Gradle的编译出APK这里就是重头戏了,Gradle的编译脚本是定
- 视窗到android切换器,图片切换器(ImageSwitcher)使用
金立鸿
视窗到android切换器
image.pngImageSwitcherImageSwitcher是一个图片切换器,它间接继承自FrameLayout类,和ImageView相比,多了一个功能,那就是它说显示的图片切换时,可以设置动画效果,类似于淡进淡出效果,以及左进右出滑动等效果。既然ImageSwitcher是用来显示图片的控件,AndroidAPI为我们提供了三种不同方法来设定不同的图像来源,方法有:setImageD
- OKHttp使用详解,步骤挺详细的,适合初学者使用
k1jack
一,OKHttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary)。用于替代HttpUrlConnection和ApacheHttpClient(androidAPI23里已移除HttpClient)。okhttp有自己的官网,官网网址:OKHttp官网如
- Android 10-11适配外部存储方案
ChampionDragon
android安卓10和11权限适配XXPermission
AndroidApi29对文件和文件夹进行了重大更改。不允许使用外部存储,如下方法:Environment.getExternalStorageDirectory()=/mnt/sdcardEnvironment.getExternalStoragePublicDirectory(“test”)=/mnt/sdcard/test只能使用内部存储getExternalFilesDir(“test”)
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include