自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 收藏
  • 关注

原创 Android Fragment展示Unity场景,万字总结

ndk {abiFilters “armeabi-v7a”}在local.properties中配置ndk(替换你自己的ndk)ndk.dir=…/Android/sdk/ndk/xxxxAndroid架构中应当看到Android Project创建Fragment创建UnityScene.javapackage com.example.androidproject.unity;import com.unity3d.player.UnityPlayer;public class

2022-03-07 19:25:21 403

原创 Android Dialer,Mms,Contacts源码修改笔记,移动端混合开发经验

②在AndroidManifest.xml中修改相应Activity的theme<activity android:name=".HomeActivity"android:label="@string/app_name"android:theme="@style/AlexNoAniTheme">或者将 @style/noAnimation加入Activity原来的theme源码修改过程中遇到不少或大或小的问题,接着昨天总结吧。12.设置分割线横线:<Viewandroid

2022-03-07 19:23:56 1917

原创 Android AIDL:跨进程调用Service (AIDL Service),android基础

*/package com.zhuanghongji.startservicefromanotherapp;// Declare any non-default types here with import statementspublic interface IAppServiceRemoteBinder extends android.os.IInterface {/**Local-side IPC implementation stub class.*/public static a

2022-03-07 19:22:30 405

原创 Android SDK 网络模块解析,AndroidHook机制连简单实战都不会凭什么拿高薪

HttpURLConnection 的具体使用步骤如图 3-1 所示:图 3-1 HttpURLConnection 使用流程由于涉及到网络访问,需要在 Manifest 文件中添加网络访问权限: 以上是对 HttpURLConnection 的原理以及具体使用的介绍,下面对 SDK 中网络请求的具体实现进行介绍。3.2 具体实现3.2.1 网络相关配置SDK 可以对数据上报进行一系列的配置,开发者可根据 App 的特点设置相应的配置,从而达到最高效的数据上报效果。SDK 的相关配置在初始

2022-01-31 12:02:52 376

原创 Android Lint 实践 —— 简介及常见问题分析,androidstudio开发实战

// 设置为 true 则会生成一个 HTML 格式的报告htmlReport true// 设置为 true 则只报告错误ignoreWarnings true// 重新指定 Lint 规则配置文件lintConfig file(“default-lint.xml”)// 设置为 true 则错误报告中不包括源代码的行号noLines true// 设置为 true 时 Lint 将不报告分析的进度quiet true// 覆盖 Lint 规则的严重程度,例如:severityOve

2022-01-31 12:00:02 812

原创 Android IPC 之 AIDL 使用,大厂必备

asBinder:用于返回当前Binder对象。onTransact:运行在服务端中的 Binder 线程池中,远程请求会通过系统底层封装后交由此方法来处理。???? tagin:数据只能由客户端流向服务端,服务端将会收到客户端对象的完整数据,客户端对象不会因为服务端对传参的修改而发生变动。out:数据只能由服务端流向客户端,服务端将会收到客户端对象,该对象不为空,但是它里面的字段为空,但是在服务端对该对象作任何修改之后客户端的传参对象都会同步改动。inout:服务端将会接收

2022-01-31 11:57:12 163

原创 Android IPC 之 AIDL 使用(1),移动端页面布局

out:数据只能由服务端流向客户端,服务端将会收到客户端对象,该对象不为空,但是它里面的字段为空,但是在服务端对该对象作任何修改之后客户端的传参对象都会同步改动。inout:服务端将会接收到客户端传来对象的完整信息,并且客户端将会同步服务端对该对象的任何变动。???? 定义 AIDL 接口=============要使用 AIDL ,请执行以下步骤:创建 .aidl 文件实现接口向客户端公开接口???? 创建 .aidl 文件AIDL 使用一种简单的语法,你可以使

2022-01-31 11:55:47 86

原创 Android Handler相关面试题你能答对多少?子线程和主线程是如何切换的?

无论用哪一种方法发送消息,最终都会调用enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis)来发送消息private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) {msg.target = this;if (mAsynchronous) {msg.setAsynchronous(true);}return queu

2022-01-31 11:54:22 210

原创 Android GreenDao 使用全面讲解,字节跳动面试

join(Property sourceProperty, Class destinationEntityClass):多表查询,后面会讲。 输出结果有四种方式,选择其中一种最适合的即可,list()返回值是List,而其他三种返回值均实现Closeable,需要注意的不使用数据时游标的关闭操作:list ()所有实体都加载到内存中。结果通常是一个没有魔法的 ArrayList。最容易使用。listLazy ()实体按需加载到内存中。首次访问列表中的元素后,将加载并缓存该元素以供将来使用。必须关闭。.

2022-01-31 11:52:57 919

原创 Android Gradle 详解,查缺补漏

//}android {compileSdkVersion 30//项目的编译版本defaultConfig {applicationId “com.scc.demo”//包名minSdkVersion 23//最低的兼容的Android系统版本targetSdkVersion 30//目标版本,表示你在该Android系统版本已经做过充分的测试versionCode 1//版本号versionName “1.0.0”//版本名称ndk {abiFilters ‘armeabi-v7a’

2022-01-31 11:51:32 1236

原创 Android Studio 模拟器卡慢、占内存解决方法,GitHub上标星13k的《Android面试突击版》

一. Android virtual device(自带模拟器Intel)=====================================这里讲一下Android Studio 原生模拟器的改善吧。为 Android 模拟器配置硬件加速,Android 模拟器可以使用硬件加速功能来提升性能,有时甚至可以大幅提升性能。1.创建新的AVD时修改Graphics Rendering选项创建新的 AVD 官方链接:https://developer.android.google.cn/stud.

2022-01-30 13:22:21 998

原创 Android R WindowManagerService模块(5) 焦点窗口和InputWindows的更新

adjustForImeIfNeeded();// Toast窗口scheduleToastWindowsTimeoutIfNeededLocked(oldFocus, newFocus);if (mode == UPDATE_FOCUS_PLACING_SURFACES) {pendingLayoutChanges |= FINISH_LAYOUT_REDO_ANIM;}return true;}以上方法中:通过findFocusedWindowIfNeeded()方法寻找焦点窗口

2022-01-30 13:15:16 620

原创 Android OpenCV(三十六),flutter下拉选择

override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)mBinding = DataBindingUtil.setContentView(this, R.layout.activity_find_contours)mBinding.ignoreLevel.setOnCheckedChangeListener { _, isChecked ->ignoreLevel = isCh

2022-01-30 13:13:51 3310

原创 android material 组件 - ShapeableImageView,直面春招

app:strokeColor 和 app:strokeWidth 很好理解,分别是边框颜色和边框宽度1 app:shapeAppearanceOverlay 这个呢就是圆角或者切角的关键属性了,演示的代码使用的是material库中自带的style,如下:...

2022-01-30 13:12:26 637

原创 Android Launcher——ui框架,移动端网页开发开源组件

DragLayer 是Launcher这个activity的顶层view,Launcher2这个应用只有一个activity那就是Laucher.java2.DeleteZone–打开launcher.xml,DeleteZone默认是不显示的android:visibility=“invisible”但是我们每次开始拖放图标的时候DeleteZone就显示了,它是怎么实现的呢?DeleteZone实现了DragController.DragListener接口,DragListener提供两个接口方法

2022-01-30 13:11:01 1304

原创 Android Jsoup:实现HTML解析和Epub解析,android开发视频教学

// …/baidu.png -> http://baidu.com/baidu.png}}示例2:使用Jsoup解析HTML新闻列表新闻地址是:http://mobile.csdn.net/ 《近匠》BeeCloud创始人黄君贤:三行代码集成支付的技术实现 发表于2015-11-03 18:18|4471次阅读|11条评论 《近匠》第106期:成立于2014年的BeeCloud专注于支付云服务,以“让支付更简单”为理念,为开发者及企业提供一站式支付解决方案。其推出的

2022-01-30 13:09:36 2039

原创 Android 命名规范 (提高代码可以读性),字节跳动算法工程师总结

动画命名例子规范写法备注fade_in淡入 fade_out淡出 push_down_in从下方推入 push_down_out从下方推出 push_left推像左方 slide_in_from_top从头部滑动进入 zoom_enter变形进入 slide_in滑动进入 shrink_to_middle中间缩小 10    资源ID(resourcesid):大小写规范与方法

2022-01-29 13:16:27 235

原创 Android 初识AIDL,音视频开发视频教程

通过这种机制,我们只需要写好 aidl 接口文件,编译时系统会帮我们生成 Binder 接口。简而言之,我们需要打包我们实体类的同时写一个aidl接口文件。官方文档定义:使用AIDL时会对内存进行读取,所以经常使用会造成程序变慢,所以不要过多使用当只使用IPC,不用多线程并使用多个应用程序时,只使用binder就行了而只有用IPC,不用多线程时,只使用message就好了AIDL有必要用于使用IPC,处理多线程并且在多个应用程序间共享程序AIDL支持的数据JAVA的默认基本数据类型(S

2022-01-29 13:15:02 139

原创 Android 二维码框4个角&上下滚动条&闪光灯,Android屏幕适配很难嘛其实也就那么回事

成员属性如下,方便下面讲解:/**四个绿色边角对应的长度*/private int ScreenRate;/**四个绿色边角对应的宽度*/private static final int CORNER_WIDTH = 5;/**扫描框中的中间线的宽度*/private static final int MIDDLE_LINE_WIDTH = 6;/**扫描框中的中间线的与扫描框左右的间隙*/private static final int MIDDLE_LI.

2022-01-29 13:13:37 263

原创 Android UI- PullToRrefresh自定义下拉刷新动画,android组件化开发

static final String LOG_TAG = “PullToRefresh-LoadingLayout”;static final Interpolator ANIMATION_INTERPOLATOR = new LinearInterpolator();private FrameLayout mInnerLayout;protected final ImageView mHeaderImage;protected final ProgressBar mHeaderProgress;

2022-01-29 13:07:56 156

原创 android okhttp异步请求使用详解 (2),安卓面试题及答案2020

联网请求文本数据大文件下载上传请求图片二、okhttp基本使用=======================================================================1.发起get异步请求布局文件很简单,只有几个按钮public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity ";private...

2022-01-29 13:05:07 167

原创 Android NDK:在Android Studio下的基本开发步骤和基础知识点总结

-d 输出目录,jni是gradle默认的路径-classpath jar的路径,有时碰到的找不到Activity的类的错误可能是由这个引起的com.zhuanghongji.ndkdemo.JNITest 包名+类名执行上述命令发现在main目录下多了一个jni文件夹,而且里面有生成好的头文件:com_zhuanghongji_ndkdemo_JNITest.h内容如下:/* DO NOT EDIT THIS FILE - it is machine

2022-01-29 13:03:41 124

原创 Android 仿小红书自定义展开 收起的TextView,Android技术类校招面试题汇总

//计算原文截取位置int endPos = layout.getLineEnd(maxLines - 1);mCloseSpannableStr = charSequenceToSpannable(originalText.subSequence(0, endPos));SpannableStringBuilder tempText2 = charSequenceToSpannable(mC

2022-01-28 13:39:07 300

原创 android 二维码扫描(zxing使用小结),安卓面试题目

// String text = “将二维码放入框内, 即可自动扫描”;// float textWidth = paint.measureText(text);//// canvas.drawText(text, (width - textWidth)/2, (float) (frame.bottom + (float)TEXT_PADDING_TOP *density), paint);Collection currentPoss

2022-01-28 13:37:42 152

原创 Android 中自定义软键盘,idea开发工具

*/private String temp_;// 标志该控件是否是密码输入控件,广发新增要求要求对密码输入控件内容作一定校验private boolean isPasswordWidget_;/**Indicator of setting label and input field in ONE row.*/boolean isLabelIndianFile_;/**Indicate the inputting is not empty.*/boolean required_

2022-01-28 13:36:17 115

原创 android 三级级联筛选列表,写给程序员的Flutter详细教程

android:groupIndicator="@null"android:scrollbars=“none” />activity中 核心代码//一级mViewPager = findViewById(R.id.category_viewpager);LayoutInflater inflater = LayoutInflater.from(this);view1 = inflater.inflate(R.layout.target_first_parger, null);view2

2022-01-28 13:34:51 465

原创 Android ZXing二维码、条形码的生成和解析,移动互联网开发技术前景

}}}Bitmap bitmap = Bitmap.createBitmap(width, height,Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels, 0, width, 0, 0, width, height);return bitmap;}}效果图:可以用微信扫一扫,也可以用自己写的解析程序扫描,进入指定的URL。2.生成条形码条形码有很多种类,二维(条形)码就是其中一种。表示内容也有不同,有的只能表示纯数字,不能表示字母。

2022-01-28 13:32:01 1611

原创 Android Span详解,腾讯T3团队整理

比较难理解的是SpanedString,查看其api,可以看到其只能通过SpannableString来创建,复制其Span属性来使用,这是我的理解不知道对不对,有了解的可以指导下。SpanedString使用场景也比较少吧,一直没用过。对于SpannableString和SpannableStringBuilder,多个 span 可以被组合且同时附加到同一段文本上。如下面的红色和粗体叠加:Framework中Span样式总结Android framework在android.text.styl

2022-01-28 13:27:46 570

原创 Android lifecyle 源码解剖,android应用开发

public class CustomLifecycleActivity extends FragmentActivity implements LifecycleOwner {private LifecycleRegistry mLifecycleRegistry;private static final String TAG = “CustomLifecycleActivity”;@Overrideprotected void onCreate(Bundle savedInstanceState

2022-01-28 13:26:21 94

原创 Android ORM 框架 GreenDao 使用详解,Android攒了一个月的面试题及解答

======================================================================案例具体效果如下所示:这个案例就是利用 greenDAO 对商品进行增删改查。点击插入数据,就会把所有的数据保存到数据库中,点击查询所有数据,会将数据库中的所有数据查询出来,并显示在界面上,同时也可以根据条件进行查询,当点击查询零食类时,只会将零食查询出来显示在桌面上,点击单个商品,会跳转到商品详情页,在商品详情页可以对商品的描述进行修改,同时也可以删除商品。

2022-01-27 12:54:41 357

原创 Android OpenCV(四十一),“金三银四”春招指南

FLOODFILL_FIXED_RANGE:如果设置为这个标识符,就会考虑当前像素与种子之间的差,否则就考虑当前像素与其邻域像素的差。FLOODFILL_MASK_ONLY,如果设置为这个标识符,函数不会去填充改变原始图像,而是去填充掩膜图像。也就是忽略第三个参数newVal。// C++: enum FloodFillFlagspublic static final intFLOODFILL_FIXED_RANGE = 1 << 16,FLOODFILL_MASK_ONLY = 1

2022-01-27 12:53:16 63

原创 Android LeakCanary的使用和原理,移动端app开发框架

.reason(“Android AOSP sometimes keeps a reference to a destroyed activity as a”" nextIdle client record in the android.app.ActivityThread.mActivities map."" Not sure what’s going on there, input welcome.");}}…}最后调用了buildAndInstall方法,创建了一个RefWatche

2022-01-27 12:51:51 199

原创 Android GC原理探究(深度好文),音视频学习指南来咯

标记-压缩算法 (Mark-Compact)先需要从根节点开始对所有可达对象做一次标记,但之后,它并不简单地清理未标记的对象,而是将所有的存活对象压缩到内存的一端。之后,清理边界外所有的空间。这种方法既避免了碎片的产生,又不需要两块相同的内存空间,因此,其性价比比较高。分代将所有的新建对象都放入称为年轻代的内存区域,年轻代的特点是对象会很快回收,因此,在年轻代就选择效率较高的复制算法。当一个对象经过几次回收后依然存活,对象就会被放入称为老生代的内存空间。对于新生代适用于复制算法,而对于老年代则.

2022-01-27 12:50:25 122

原创 Android FlexboxLayout布局属性详解,华为移动应用开发平台

android:layout_width=“120dp”android:layout_height=“80dp”android:layout_margin=“2dp”android:background="#3322ff"android:gravity=“center”android:text=“5” /></com.google.android.flexbox.FlexboxLayout>运行后的效果如下好像并没有换行啊,别急骚年,接下来我们一一介绍FlexboxLay

2022-01-27 12:49:00 827

原创 Android Binder 的主要内容概述以及特性和原理,为什么大公司一定要使用微服务

socket:本机进程之间可以利用socket通信,跨进程之间也可利用socket通信,通常RPC的实现最底层都是通过socket通信。socket通信是一种比较复杂的通信方式,通常客户端需要开启单独的监听线程来接受从服务端发过来的数据,客户端线程发送数据给服务端,如果需要等待服务端的响应,并通过监听线程接受数据,需要进行同步,是一件很麻烦的事情。socket通信速度也不快。3.Binder特性?3.1 性能?[图片上传失败…(image-675747-1628086130715)]共享内存.

2022-01-27 12:47:35 89

原创 Android Architecture Components ——lifecycle 使用,看完这篇

}@OnLifecycleEvent(Lifecycle.Event.ON_START)public void onStart() {Log.d(TAG, "onStart: ");}@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)public void onResume() {Log.d(TAG, "onResume: ");}@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)public void onPau

2022-01-27 12:46:10 241

原创 Android AIDL:跨进程调用Service (AIDL Service),音视频开发书籍

public interface IAppServiceRemoteBinder extends android.os.IInterface {/**Local-side IPC implementation stub class.*/public static abstract class Stub extends android.os.Binder implements com.zhuanghongji.startservicefromanotherapp.IAppServiceRemote

2022-01-27 12:43:20 1137

原创 Android 基础:SharePreferences知识总结和在“登录,成功拿到offer

通过SharedPreferences创建的配置文件,不需要指定路径和文件后缀名,读取的时候也是。通常情况下,配置只是提供给本应用程序使用的。在这里我们介绍一个小知识点,即其他程序想使用本应用程序的配置,那应该如何使用SharedPreferences呢?如下://构建其他应用的上下文 Context otherAppContext = createPackageContext("com.changcheng.sharedpreferences", .

2022-01-26 11:25:43 99

原创 Android 基础:Materia Design 定义视图阴影elevation和创建卡片CardView

<FrameLayout xmlns:android=“http://schemas.android.com/apk/res/android”xmlns:tools="http://schemas.android.com/tools"android:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLef.

2022-01-26 11:24:18 65

原创 android zbar二维码扫描(中文不乱码),kotlin语法糖

如果只做二维码扫描,zbar更简单省事儿一些开头提到了笔者是通过上面大神的文章才开始了解zbarzbar只有一个java文件,Viewfinder.java看了代码之后感觉边框通过图片来加载有点死板,.9图片也可以  对于边框和四个角笔者更倾向于直接画出来,想zxing那样import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.

2022-01-26 11:22:53 704

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除