程序员
文章平均质量分 86
m0_65145113
这个作者很懒,什么都没留下…
展开
-
Android slidingmenu详解 优化侧滑,android进程清理
(二) 导入项目将actionbarsherlock 和 slidingmenu 导入项目里工程名为:ExampleListActivityactionbarsherlocklibrary项目的结构层次ExampleListActvity||----------Library||-------------actionbarsherlock(三) 导包项目 与 排错(1)导入项目后 打开 ExampleListActivity 的 propert原创 2021-12-31 10:50:31 · 524 阅读 · 0 评论 -
Android P 网络请求相关总结,移动端内嵌h5页面
No Network Security Config specified, using platform default后来通过查阅官网,发现Google在Android P上面禁止了明文http传输,也就是默认的是使用https而不是http。而且官方也是给出了解决方案。可以参考官方详情,我在这里简单总结一下1. 添加安全配置文件首先在res/xml文件夹下创建文件network_security_config.xml文件,然后添加可以信任的域名或者ip。<?xml version="1.0原创 2021-12-31 10:45:33 · 399 阅读 · 0 评论 -
Android MTK 设置默认启动 Launcher,字节跳动学习笔记
/**mtk addset default launcher*/ComponentName DefaultLauncher=newComponentName(“com.android.launcher3”,“com.android.launcher3.Launcher”); //此处设置默认Launcher的包类名//Slog.d(TAG,“set default launcher”);final PackageManager mPm = mContext.getPackageM原创 2021-12-31 10:43:31 · 1748 阅读 · 0 评论 -
Android JNI QQ 搞怪语音实战 (含完整 Demo),android工程师要求
继承 C++库配置Fmod 在 Android 中的 C++环境QQ 语音实战思路其他文章:Android JNI 入门(含完整Demo)Android JNI 进阶(含完整 Demo)继承 C++库想改变 语音音频,那么就得调用 C++的音频库 FmodFmod 打开界面是这样的:\然后注册,下载即可:红框:下载的时候我是 mac 所以下载 mac,这个是 Fmod 自带的音频调节软件绿框:是Android 平台的.so 文件等等红框下载后是这个样子:\然后打开即可.原创 2021-12-31 10:40:59 · 183 阅读 · 0 评论 -
AndroidX,安卓开发指南
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)at android.view.LayoutInflater.inflate(LayoutInflater.java:365)at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)at androidx.appcompat.app.AppComp原创 2021-12-30 12:32:05 · 306 阅读 · 0 评论 -
Android-高级-UI-进阶之路(四)-Paint-渲染-滤镜-xfermode-使用
// 设置绘制路径的效果,如点画线等PathEffect setPathEffect(PathEffect effect);// 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等MaskFilter setMaskFilter(MaskFilter maskfilter);// 设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等Typeface setTypeface(Typeface typeface);// 设置光栅化Rast原创 2021-12-30 12:31:10 · 1944 阅读 · 0 评论 -
Android-设置PullToRefresh下拉刷新样式,androidsdk开发文档
原创 2021-12-30 12:30:15 · 1045 阅读 · 0 评论 -
android 快速开发(三,android开发基础
}<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”xmlns:tools=“http://schemas.android.com/tools”android:layout_width=“match_parent”android:layout_height=“match_parent”android:paddingBottom="@dimen/activity_vertical_margin"原创 2021-12-29 13:36:29 · 92 阅读 · 0 评论 -
android 快速开发工具类,难道Android真的凉了
androidmanifest.xml 的 application 添加android:name=“cn.hotapk.fastandrutils.utils.FApplication”或者public class 你的 application extends FApplication {…}或者 在你的 application 添加FUtils.init(this);类说明类 | 描述 — | — FActivityLifecycleCallbacks.java .原创 2021-12-29 13:35:28 · 79 阅读 · 0 评论 -
Android 录制视频添加时间水印,Android开发教程入门
static const int64_t kMax32BitFileSize = 0x3800000;//0x00ffffffffLL; // 2^32-1 : max FAT32static const int64_t kMax32BitDuration = 0x007fffffffLL;然后追踪到VideoActor的处理。有一个思路,就是..原创 2021-12-29 13:34:03 · 1266 阅读 · 0 评论 -
Android 开发行业真的不行了嘛?,flutter通知栏提醒
身处在Android开发行业的我就有深体会过,在18年时,我刚从学校毕业出来参加工作,找到第一份工作就是Android 开发相关的,当时的技术很菜,就是只会一些学校所教的简单技术,自然薪资也很低。偶尔闲逛博客等一些自媒体平台时,就看见了Android 开发已凉相关的传言,当时引起了我想换行的想法。但最后还是想了想,市场这么多人在用Android 机器,难道就没有我的容身之处没,于是坚持到了现在。说到底,是Android凉了吗?其实并没有!只是市场对于Android 开发者们的技术要求越来越高了,说到.原创 2021-12-29 13:31:51 · 984 阅读 · 0 评论 -
Android 开发艺术探索笔记(5,我的头条面试经历分享
public Messenger(Handler target){mTarget = target.getIMessenger();}public Messenger(IBinder target){mTarget = IMessenger.Stub.asInterface(target);}得到的mTarget是AIDL类的~ Messenger对AIDL进行了封装,使得我们可以便捷的使用。实现一个Messenger由以下步骤,分为服务端和客户端。- 服务端进程在服务端创建一个Servic原创 2021-12-29 13:30:28 · 235 阅读 · 0 评论 -
Android 开发的前景如何?,flutter人脸识别
this(context, attrs, 0);}public XXXView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initView;}private void initView {LayoutInflater.from(getContext).inflate(R.layout.xxxlayout, this, true);…原创 2021-12-29 13:27:16 · 946 阅读 · 0 评论 -
Android 组件化面试必备,安卓面试问题和答案
通过ARouter在module间共享对象,实现module间通信。比如:我们有一个账号模块 business:account ,提供了登录、登出、用户信息查询等业务。同级的其他模块,如何跟账号模块通信?获取用户的登录状态以及用户相关信息?public class AccountBean {private String name;private int age;//…}public interface IAccountService extends IProvider {void原创 2021-12-28 12:11:19 · 636 阅读 · 0 评论 -
Android 笔记:2015,android简易计算器代码
onRestart()方法则是只在activity从stopped状态恢复时才会被调用,因此我们可以使用它来执行一些特殊的恢复(restoration)工作,请注意之前是被stopped而不是destrory。使用onRestart()来恢复activity状态是不太常见的,因此对于这个方法如何使用没有任何的guidelines。然而,因为onStop()方法应该做清除所有activity资源的操作,我们需要在重启activtiy时重新实例化那些被清除的资源,同样, 我们也需要在activ...原创 2021-12-28 12:10:18 · 191 阅读 · 0 评论 -
Android 摄像头调用(不含拍照),Android面试基础知识
Camera.CameraInfo info = new Camera.CameraInfo();Camera.getCameraInfo(cameraId,info);//获得旋转角度int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();int degrees = 0;switch (rotation) {case Surface.ROTATION_0: //没有旋转degr原创 2021-12-28 12:08:54 · 165 阅读 · 0 评论 -
Android 指纹解锁和MD5加密密码,音视频编解码原理
KeyguardManager keyguardManager = getSystemService(KeyguardManager.class);if (!keyguardManager.isKeyguardSecure()) {// Show a message that the user hasn’t set up a fingerprint or lock screen.Toast.makeText(this, getResources().getString(R.string.not_set原创 2021-12-28 12:07:57 · 173 阅读 · 0 评论 -
Android 打包AAB+PAD(java篇),2020年android面试题
packName = “asset-pack-name” // Directory name for the asset packdynamicDelivery {deliveryType = “[ install-time | fast-follow | on-demand ]”}}5、在项目的应用 build.gr原创 2021-12-28 12:06:41 · 499 阅读 · 0 评论 -
android 快速开发(三)巧用公共标题栏,原生Android开发的路该怎么走
package com.yqy.yqy_commontitlebar;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.wi原创 2021-12-28 12:05:18 · 144 阅读 · 0 评论 -
Android 开发面试题集合整理(内含答案),android网络开发技术实战详解
1. DataBinding作用,实现一个MVVM2. DataBinding使用的主要技术点,Java APT,观察者,注解等3. DataBinding关键类ActivityMainBindingImpl 具体实现了绑定ViewDataBinding 持有activity或者fragment和View的引用,主要作用一次遍历View,实例化所有子View,并存储在数组中,这里解决了findviewbyid性能问题,同时为我们省去了findviewbyid的操作BR 类似Android R文件原创 2021-12-28 12:03:16 · 189 阅读 · 0 评论 -
Android 开发面试题集合整理(内含答案)(1),优秀Android程序员必知必会的网络基础
1. DataBinding作用,实现一个MVVM2. DataBinding使用的主要技术点,Java APT,观察者,注解等3. DataBinding关键类ActivityMainBindingImpl 具体实现了绑定ViewDataBinding 持有activity或者fragment和View的引用,主要作用一次遍历View,实例化所有子View,并存储在数组中,这里解决了findviewbyid性能问题,同时为我们省去了findviewbyid的操作BR 类似Android R文件原创 2021-12-28 12:02:07 · 168 阅读 · 0 评论 -
Android 开发面试心得:BAT大厂Android面试题整理,面试8家大厂后终于拿到Offer
封装view的时候怎么知道view的大小arraylist和linkedlist的区别,以及应用场景怎么启动service,service和activity怎么进行数据交互下拉状态栏是不是影响activity的生命周期,如果在onStop的时候做了* 网络请求,onResume的时候怎么恢复view渲染爱奇艺RxJava的功能与原理实现RecycleView的使用,原理,RecycleView优化ANR的原因四大组件Service的开启方式..原创 2021-12-28 12:00:45 · 295 阅读 · 0 评论 -
Android(java)回调函数经典示例,Android开发必须会的技能
public static void testMethod(){for ( int i= 0 ; i< 100000000 ; i++){}}/**一个简单的测试方法执行时间的方法*/public void testTime(){long begin = System.currentTimeMillis(); //测试起始时间testMethod(); //测试方法long end = System.currentTimeMillis(); //测试结束时间System.ou原创 2021-12-27 11:49:50 · 309 阅读 · 0 评论 -
Android 面试必备 - JVM 及 类加载机制,安卓开发语言kotlin
参考博客JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。![image.png](《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8原创 2021-12-27 11:48:26 · 144 阅读 · 0 评论 -
Android 阿里推送正常推送以及辅助通道走过的坑,android开发笔试题
dependencies {......compile ('com.google.firebase:firebase-messaging:17.6.0')}3.4 Huawei依赖如需配置华为通道还需要添加华为推送SDK依赖:dependencies {......compile 'com.aliyun.ams:huawei-push:2.6.3.305'compile 'com.aliyun.ams:h..原创 2021-12-27 11:47:29 · 371 阅读 · 0 评论 -
Android 适配Dark Theme(暗黑模式),Android高级工程师必备知识
Android 10 提供 Force Dark 功能。此功能可让开发者快速实现深色主题背景,只需要在 style.xml 中的应用主题中添加这一行代码android:forceDarkAllowed=“true” ,就可以完成自动适配。效果对比如下图所示。从结果来看,整体的界面风格好像确实变成了暗黑模式,但是菜单栏并未适配,所以这里我并不推荐你使用这种自动化的方式来实现深色主题,而是应该使用更加复杂一点的实现方式——自定义适配。图1 正常情况图2 Force Dark适配自定义适配将App原创 2021-12-27 11:46:13 · 1137 阅读 · 0 评论 -
Android 解决65536,flutter开源项目商业化
…minSdkVersion 15targetSdkVersion 30multiDexEnabled true}…}dependencies {implementation “androidx.multidex:multidex:2.0.1”}不使用AndroidX(已弃用)android {defaultConfig {…minSdkVersion 15targetSdkVersion&nb原创 2021-12-27 11:43:48 · 202 阅读 · 0 评论 -
Android 网络性能优化(4)弱网优化,Android小程序开发实例
中间的网络节点挂了…既然没有明确的定义,那我们只能通过各种工具和手段来判断当前是否为弱网环境了。对于丢包率和网络延时,都是可以使用数据来进行衡量的,下面来介绍更细化的指标。2.2 弱网指标如下图所示:httprtt(Http Round-Tip Time)又称TTFB(Time to first byte),指从客户端请求的第一个字节开始发送到接收到http header的第一个字节的时间差。即 httprtt = 接收第一个字节的时间 - 发送第一个字节的时间。如果http..原创 2021-12-27 11:42:48 · 2584 阅读 · 0 评论 -
android 界面布局-各个布局的属性介绍,移动应用开发的前景
附加几类 RelativeLayout 的属性供大家参考:第一类 : 属性值为 true 或 falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical  原创 2021-12-27 11:41:39 · 239 阅读 · 0 评论 -
Android-Studio-4-1-发布啦,别再说自己不会了
本机内存探查器Android Studio Memory Profiler 现在包括一个本机内存 Profiler,Profiler 支持用于将Android 10或更高版本的物理设备。使用本机内存探查器可以记录本机代码中的内存分配和释放,并检查有关本机对象的累积统计信息。要了解有关本机内存探查器的更多信息,请参阅:developer.android.com/studio/prof…已知问题和解决方法Android Studio 4.1中的本机内存探查器不适用于Android 11设备,4.2原创 2021-12-26 13:07:49 · 355 阅读 · 0 评论 -
Android-MotionLayout动画:续写ConstraintLayout新篇章
因为id为start的ConstraintSet标签关联到Transition标签的constraintSetStart属性,所以它作为动画(目前只有一个动画)的起始状态。而id为end的ConstraintSet标签关联到Transition标签的constraintSetEnd属性,所以它将作为动画的结束状态。结束状态我们将正方形设置水平居中,距离底部50dp。设置Constraint标签时记得设置layout_width与layout_height,不然是看不到正方形的。到这一步,Tra原创 2021-12-26 13:06:24 · 296 阅读 · 0 评论 -
Android-JVM面试专题:阿里100%会问到的JVM,Android培训那里好
JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面,class 类信息常量池(static 常量和 static 变量)等放在方法区new:**方法区:**主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字节码)等数据**堆:**初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例和数组都要在堆上分配**栈:**栈的结构是栈帧组成的,调用一个方法就压入一帧,帧上面存储局部变量表,操作数栈,方法出口等信息,局部变量表存放的原创 2021-12-26 13:04:59 · 79 阅读 · 0 评论 -
Android-Framework:Handler全解析,看完这篇还不懂请给我寄刀片
这就是小伙伴们一般常用的两个用法。大家注意到了在第二个用法中出现了一个Looper.getMainLooper(),使用它作为参数,即使MyHandler是在子线程中定义的,但是它的handleMessage方法依然运行在主线程。我们看一下这个参数究竟是什么东东~public Handler(@NonNull Looper looper) {this(looper, null, false);}可以看到这个Looper就是我们上面传入的参数Looper.getMainLooper(),也就说明了ha原创 2021-12-26 13:03:33 · 199 阅读 · 0 评论 -
Android 高频面试必问之Java基础,价值2000元的Android学习资源泄露
4.4 Java堆Java堆是虚拟机所管理的内存中最大的一块,Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。 此内存区域的唯一目的就是存放对象实例,java中“几乎”所有的对象实例都在这里分配内存。这里使用“几乎”是因为java语言的发展,及时编译的技术发展,逃逸分析技术的日渐强大,栈上分配、标量替换等优化手段,使java对象实例都分配在堆上变得不那么绝对。 Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。从内存回收的角度来看,由于现在收集器基本都采用分代收集算法(G转载 2021-12-26 13:02:08 · 133 阅读 · 0 评论 -
Android 面试必备 - JVM 及 类加载机制,移动端开发工程师面试
Java虚拟机栈(Java Virtual Machine Stacks)该区域也是线程私有的,它的生命周期也与线程相同。虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧,栈它是用于支持续虚拟机进行方法调用和方法执行的数据结构。对于执行引擎来讲,活动线程中,只有栈顶的栈帧是有效的,称为当前栈帧,这个栈帧所关联的方法称为当前方法,执行引擎所运行的所有字节码指令都只针对当前栈帧进行操作。栈帧用于存储局部变量表、操作数栈、动态链接、方法返回地址和一些额外的附加信息。在编译程序原创 2021-12-26 12:59:18 · 94 阅读 · 0 评论 -
Android 面试之—— ViewModel 总结篇,fluttertextfield赋值
再看看刚刚的 ViewModelProvider 构造方法里调用了 this(ViewModelStore, Factory),将 ComponentActivity#getViewModelStore 返回的 ViewModelStore 实例传了进去,并缓存到 ViewModelProvider 中public ViewModelProvider(@NonNull ViewModelStore store, @NonNull Factory factory) {mFactory = factory;原创 2021-12-26 12:57:52 · 589 阅读 · 0 评论 -
android 获取 imei号码,大厂内部资料
tm.getCellLocation();//CellLocation/** 唯一的设备ID:* GSM手机的 IMEI 和 CDMA手机的 MEID.* Return null if device ID is not available.*/tm.getDeviceId();//String/** 设备的软..原创 2021-12-26 12:56:27 · 141 阅读 · 0 评论 -
Android 自定义View之展开收起的Layout,kotlinalso函数
分析=============================================================效果图来看,点击事件触发view的展开收起,并在收起状态下保留了第一个子view显示,这个展开收起其实就是view的高度变化,所以只要控制好高度,就能很简单的实现这个效果。步骤=============================================================1.初始化参数 设置方向等2.根据动画执行进度计算高度初始化.原创 2021-12-26 12:55:02 · 174 阅读 · 0 评论 -
Android初识贝塞尔曲线,安卓移动开发实验报告
private Paint getPaintByColor(int color) {Paint paint = new Paint();paint.setAntiAlias(true);paint.setDither(true);paint.setColor(color);paint.setStyle(Paint.Style.STROKE);return paint;}@Overrideprotected void onMeasure(int widthMeasureSpec, int h原创 2021-12-25 12:45:34 · 119 阅读 · 0 评论 -
Android全面解析之Handler机制:常见问题汇总,android开发入门教程电子书
while (p != null && p.when <= when) {prev = p;p = p.next;}}// 插入同步屏障if (prev != null) { // invariant: p == prev.nextmsg.next = p;prev.next = msg;} else {msg.next = p;mMessages = msg;}return token;}}可以看到同步屏障就是一个特殊的target,哪里特殊呢?tar原创 2021-12-25 12:44:26 · 106 阅读 · 0 评论