- Dex、Smali、Class、Java、Jar之间的相互转换
布道课堂
Dex、Smali、Class、Java、Jar之间的相互转换-分析Android底层代码工具工具作用javacjava------>classddxclass------>dexbaksmalidex------>smalismalismali------>dexdex2jardex------>jar(class的压缩包)apktoolapk------>smaliAndroid源代码从编译到
- 如何在Android项目中进行性能优化分析?
jiet_h
Android夯实基础androidkotlin开发语言
引言在开发过程中,性能优化是一个重要的话题。用户对于应用的性能有着非常高的期望:快速启动、流畅的操作体验、低内存消耗等。那么,作为开发者,我们如何才能在项目中进行性能优化分析呢?今天就来和大家聊聊这个话题!性能优化分析的目标是什么?在我们开始性能优化分析之前,首先要明确目标。性能优化的目标通常包括以下几点:启动速度:减少应用启动的时间,让用户能更快地进入应用。UI流畅度:减少界面卡顿和掉帧,提供顺
- Kotlin第九弹:深入理解 Kotlin 泛型
Ken'
Kotlin从入门到精通kotlin开发语言android
Kotlin系列到此结束,大家记得关注我哈,后面会继续出关于Android的系列文章!目录前言1.泛型接口2.泛型类二、泛型字段三、泛型方法四、泛型约束五、泛型中的out与in1.out约束泛型参数的类型上限2.in约束参数的类型下限总结前言Kotlin的泛型与Java一样,都是一种语法糖,即只在源代码中有泛型定义,到了class级别就被擦除了。泛型(Generics)其实就是把类型参数化,真正的
- Android adb shell ps进程查找以及kill
zhangphil
Androidabdadbandroid
Androidadbshellps进程查找以及kill列出当前Android手机上运行的所有进程信息如PID等:adbshellps但是这样会列出一大堆进程信息,不便于定向查阅,可以使用关键词查找:adbshell"ps|grep关键词"关键词查找/搜索,也可以用另外一个等效的adb命令:adbshellps|findstr关键词通过以上命令查出应用的包名后,可以根据adbshell命令kill进
- HTTPSS证书制作笔记
yangc91
参考资料AndroidHTTPS自制证书实现双向认证制作证书keytool-genkeypair-aliasclient-keyalgRSA-validity3650-keypass123456-storepass123456-keystoreclient.jks#keytool-genkeypair-aliasclient-keyalgRSA-validity3650-dname"CN=127.
- 关于安卓脚本打包apk
水很清
android脚本打包apk
Android开发过程中,一般习惯依赖于用Androidstudio来打包apk,通过图形化界面来打包,操作也简单。这种情况一般适用于程序员,有一种情况是,客户需要自己打包,然而客户不是开发者,不懂用Androidstudio,这个时候要不给他们提供一个打包文档,要不手把手教,但还是有可能存在失误。但是如果,把打包的操作写成一个脚本,再告诉客户一个运行这个脚本的命令,基本上就可以保证万无一失了。先
- XrecyclerView实现上拉加载和下拉刷新+多条目(MVP获取数据)
✎ℳ๓Eternity✾
进阶
依赖implementation'com.jcodecraeer:xrecyclerview:1.5.9'implementation'com.android.support:recyclerview-v7:28.0.0'图片加载依赖implementation'com.github.bumptech.glide:glide:4.8.0'ActivitypublicclassShoppingAct
- android自定义view之画圆随着手指移动
✎ℳ๓Eternity✾
进阶View画圆可以跟随手指移动
publicclassMyViewextendsView{privatePaintmFanPaint,mTextPaint;//扇形画笔和文字画笔publicfloatAxisX=100;publicfloatAxisY=100;publicMyView(Contextcontext){super(context);init();}publicMyView(Contextcontext,Attri
- 详解Android广播机制
xk_一步一步来
Android详解Android广播机制
前言我们上学时都有过这样的经历,当我们在火车站列车候车室中等待时,每当有某次列车开始检票或者进站上车时,就会播放通知来告知在候车室等待的人们该消息。为了便于进行系统级别的消息通知,Android引入了一套类似的广播机制,然而比上述情景要灵活得多。此文将对Android广播机制的方方面面做出详尽的介绍。Android广播机制简介前面我们提到,Android的广播机制更加的灵活,这是因为Android
- Android 12 WiFi 连接状态轮转
打个工而已
AndroidWifiandroidwifi
WiFi学习资料整理->AndroidWiFi目录WiFi学习资料整理->AndroidWiFi1.WifiClientModeImpl和WPA_Supplicant状态轮转2.广播连接状态前面汇总了WiFi连接的一些调用流程,这里汇总下Wpa_supplicant和Java层状态的轮转流程1.WifiClientModeImpl和WPA_Supplicant状态轮转WifiClientModeI
- 6 字符编码
collman
Java基础androidjava跨平台文档编程平台
----------------------android培训、java培训、期待与您交流!----------------------字符编码l计算机里只有数字,计算机软件里的一切都是用数字来表示的,屏幕上显示的一个个字符也不例外。l字符a对应数字97,字符b对应98等,这种字符与数字对应的编码规则被称为ASCII(美国标准信息交换码)。ASCII的最高bit位为0,也就是说这些数字在0到127
- Android adb shell查看手机user,user_root,user_debug版本
zhangphil
Androidabdandroidadb
Androidadbshell查看手机user,user_root,user_debug版本1、首先,adbshell2、进入后,运行:getprop|grepro.system.build.type即会输出当前手机类型user,user_debug等。另外,也可以运行:getprop|greppersist.user.root.support1代表是user_root版本,否则是user版本。A
- Android wifi主要广播详解
峥嵘life
androidAndroid网络android网络
Androidwifi相关主要广播总结文章目录Androidwifi相关主要广播总结一、前言二、wifi主要广播分析介绍1、简单的广播监听2、wifi广播对应的action字符串:3、广播和接收的相关数据三、广播相关日志:1、wifi扫描广播的日志2、wifi连接、断开的日志(1)第一次连接的日志①密码正确情况的日志②密码错误情况的日志③无密码情况的连接(2)保存状态连接的日志(3)断开连接的wi
- UE4 编译Editor的大坑
justmeifen
UE4
1.遇到了UE的坑在编译UE项目的时候是不能用平台宏的,例如#ifdefined(PLATFORM_ANDROID)之类的,虽然是在Mac上编译,他还是会走到这些平台宏里面去。而且报错非常奇葩,根本想不到是平台宏的问题。目前是先把移动平台相关代码注释掉,等编译通过了,再打开注释。。2.使用命令行编译出包的时候,需要先构建UEEditor才可以导出移动平台的包。而构建UEEditor时,要先cd到U
- Android U WMShell动画调用堆栈
yi诺千金
AndroidFramework从入门到入土WMShellandroid
本文主要简单介绍WMShell动画调用堆栈代码环境:repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-14.0.0_r7Systemserver侧TAG:atcom.android.server.wm.Transition.onTransactionReady(Transition.
- Android 源码单独编译Settings模块
framework-coder
Android12系统修改与定制Android11系统定制与修改单独编译模块vbmeta_systemsuper.img
一般我们编译源码,只需要在源码的根目录下执行三个命令就行.build/envsetup.sh或者sourcebuild/envsetup.shlunch选择编译目标make-j60make不带参数的编译方式是直接编译整个系统,我们也可以使用make带模块名或者使用mmm等命令单独编译某个模块。首先找到对应模块的名称Android.bpandroid_app{name:"MtkSettings",o
- android微信小程序多任务,同一个App不同Activity显示多任务引发的问题
兔丁麻麻
android微信小程序多任务
同步发布到CSDN:https://blog.csdn.net/ling9400/article/details/80179198转载请注明出处实现activity在recenttask中,必须给需要打开的activity设置如下代码Intentintent=newIntent(myContext,ZDActivity.class);intent.addFlag(Intent.FLAG_ACTIV
- Android 12.0 App全屏时通过系统属性控制上划下拉是否显示虚拟导航栏和状态栏
VaporRuby
android
遇到问题厂测App触摸屏测试,需要全屏显示,禁止出现状态栏和导航栏,以免影响测试。参考资料https://zhuanlan.zhihu.com/p/440810585Android12系统源码_SystemUI(九)WindowInsetsController源码解析-CSDN博客解决方案1、framework修改点+++b/frameworks/base/services/core/java/c
- android11 状态栏导航栏控制显示隐藏
Optimus●Prime
androidframeworks状态栏控制statusbarnavigationbar导航栏控制
目录1.添加Intent广播2.设置全局KEY3.设置默认开关4.配置默认状态保存5.状态栏关闭时禁止下拉6.根据默认值设置显示隐藏7.配置广播控制8.使用方式通过自定义广播的形式将系统的状态栏,导航栏显示隐藏,分别控制,也可以在配置文件中默认设置显示隐藏。(效果图)1.添加Intent广播frameworks/base/core/java/android/content/Intent.java
- Android Studio 中实现高德定位并获取相应信息
切切歆语
Android开发项目时常常会遇到定位这个功能,所以写了这篇博客,今天主要讲的高德地图的定位并获取相应信息。首先导入高德的jar包image选中jar包右键点击AddAsLibrary,在build.fradle中看到如下代码表示导包成功compilefiles('libs/AMap_Location_V3.0.0_20160922.jar')之后到高德申请key值,登录打开控制台点击创建应用,如
- Android高级面试题汇总——Android篇(1)
oO樱花祭LI
Android面试
(一)Android基础知识点1、四大组件是什么Activity,Service,ContentProvider,BroadcastReceiver2、四大组件的生命周期和简单用法Activity的生命周期:onCreate()->onStart()->onResume()->onPause()->onStop()->onRestart()->onDestroy()用法:创建一个Intent对象,
- Android U 多任务启动分屏——整体流程介绍
yi诺千金
AndroidFramework从入门到入土Android分屏Android多窗口android
序原生的分屏功能是在多任务中,点击应用图标选择分屏,在选择多任务中的其他应用进行分屏整体流程层级结构#1DefaultTaskDisplayAreatype=undefinedmode=fullscreenoverride-mode=fullscreenrequested-bounds=[0,0][0,0]bounds=[0,0][1440,2960]#1Task=3type=standardmo
- Android12 添加设置控制导航栏显示和状态栏下拉
framework-coder
Android12系统修改与定制panelbarnavigationbar
添加key值位置:frameworks/base/core/java/android/provider/Settings.java/***Controlnavigationbarenabled*/@Readable@SuppressLint("NoSettingsProvider")publicstaticfinalStringNAVIGATIONBAR_ENABLED="navigationba
- Android Activity 的启动模式(Launch Mode)
文件夹__iOS
android
1.什么是Activity的启动模式?Activity的启动模式决定了在启动一个Activity时,它在任务栈中的行为。任务栈(TaskStack)是一个先进后出的堆栈结构,管理着应用中的Activity。通过配置启动模式,我们可以控制Activity在任务栈中的实例化和复用行为,从而优化用户体验和应用性能2.四种启动模式详解standard------------------------|Act
- 数美Android SDK
CCTV果冻爽
客户端安全android
后台下发设备ID:{"code":1100,"detail":{"deviceId":"2022031717360980a6cdb615ba3504dfcb67fdcff7e579014e0692f02b45b3"},"requestId":"bec18af68100f08f7dffb4868784ef28"}文件路径、stat文件节点信息,__system_property_get系统属性、硬件
- RK3568 Android 11 蓝牙BluetoothA2dpSink 获取用于生成频谱的PCM
ansondroider
androidandroidpcmA2dpSink
Android中的A2DPSinkA2DPSink在Android系统中主要用于接收其他蓝牙设备(如手机、平板、电脑等)发送过来的高质量的立体声音频。简单来说,它让你的Android设备可以充当一个蓝牙音箱或耳机的角色。核心功能:接收音频流:通过蓝牙协议接收来自其他设备的音频数据。解码音频:将接收到的音频数据解码成可播放的音频格式。播放音频:通过设备的扬声器或耳机输出解码后的音频。应用场景:无线音
- AUTOX.JS 新手入门
换个网名有点难
javascript开发语言
工具介绍1.autoxjs1.1autojs介绍Auto.js是一个使用JavaScript编写Android自动化脚本的工具,由于原作者不再维护Auto.js项目,目前常见的两个分支:AutoX和Auto.jsPro。其中AutoX是开源的https://github.com/kkevsekk1/AutoX文档:http://doc.autoxjs.com/#/Auto.jsPro商业化版本,闭
- 【Android】Navigation动态设置Graph和Launch参数
ByteFlys
android-疑难杂症研究androidnavigationNavGraph动态设置
需求Activity和Fragment可以服用,不同的启动方式,Fragment调用栈不同方案不同的启动方式,通过代码动态设置,使用不同的NavGraph注意动态设置代码是在onCreate之后执行的NavHost如果指定了Graph,在onCreate后会立刻启动,可能会造成启动两个Fragment栈所以使用动态Graph方案的话,在NavHost中不能设置app:navGraph动态设置代码p
- Android实现自定义方向盘-5livedata实现
榴月~
androidandroid
实现方向盘将方向盘控件的实现转换为使用LiveData来管理和观察指针角度变化,能够更好地与MVVM架构相结合。通过LiveData,我们可以方便地将角度的变化传递给观察者(例如UI组件或ViewModel),从而实现数据驱动的UI更新。实现思路LiveData定义:在SteeringWheelView中定义一个MutableLiveData用来存储和管理当前指针角度。角度更新与通知:每当指针角度
- Android系统给所有apk默认权限
jacbod
Framwork定制androidjavaandroidstudio驱动开发linux
Android系统的定制开发中,经常会有客户要求赋予他们提供的应用程序(APK)所默认的所有权限;百度上有多种版本可以给与默认权限,但是经过博主试验,都是比较复杂麻烦的操作;在这里博主给出一个简单方便方法,直接上代码;---a/frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java+++
- 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