自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Studio和ADT使用技巧,android游戏sdk开发

5.强大的代码提示,如下,感受到了吗?6.显示行号:在公司电脑上写的一个AS Module,同步到了Github上,然后回到宿舍Clone到自己电脑的AS工程目录下,打开AS发现没有这个Module,于是准备Import ,结果出现下面的情况:呃……于是我猜测Gradle Scripts中有相关属性定义,果不其然:在settings.gradle中发现了猫腻:好吧,加上’:setwallpaper’应该就可以了:果然,搞定:ADT查看签名的SHA1值比较方便,可以很直观的看到fi

2022-02-06 13:05:20 151

原创 Android Studio中配置及使用OpenCV示例(一),阿里资深Android开发带你入门Framework

导入后会因为Gradle中的配置问题出现错误,在Studio中的左上角选择Project视图,在引入的OpenCVLibrary文件夹下,打开build.gradle(注意是引入的openCVLibrary249下),修改文件中以下信息:1)compileSdkVersion2)buildToolsVersion3)minSdkVersion4)targetSdkVersion(将其内容与app文件夹下的build.gradle中信息相一致)如下图所示:然后点击Gradle进行同步(Sync

2022-02-06 13:03:55 68

原创 android SQLite:没有这样的ACOS函数存在,kotlin开发思维

0、相关文章:1、正文2、原因:3、解决方案:0、相关文章:=======http://www.it1352.com/161373.html1、正文====问题描述:通过一下sql语句,希望根据当前的经纬度查询方圆五公里内的需要打点的所有坐标点的经纬度String sql = "SELECT * , (6371 * ACOS ( cos ( radians ( " + latitude +" ) ) * cos( radians(lat) ) * cos( radians(lon)

2022-02-06 13:01:05 59

原创 Android SelectorChapek工具使用,android模块化开发遇到的问题

我安装过了所以可以搜索到,如果第一次安装可能会出现这个界面,不要怕,点击Browse,就会出现该插件,然后点击安装,重启一下android studio.要想生成有点击效果的图片文件,需要有固定的后缀名,如图:这两个图片的文件后缀必须是_normal  和 _pressed,下边有参照表。有了这两个文件后缀的图片文件之后,然后右键点击drawable-mdpi这个文件,选择生成器然后就会在drawable中生成你想要的文件了。以下是文件命名规则:如何成为Android高级架构师

2022-02-06 12:59:40 84

原创 Android Root原理初探,字节跳动内部学习资料泄露

Linux发行版:Linux内核 + 文件系统(ext3/4)Android:Linux内核 + 文件系统(ext3/4)Android 没有本地窗口系统而Linux是可以脱离X窗口的。Android 没有glibc libraryAndroid并不包括一整套标准的Linux应用程序而Linux也是可以脱离这两点的。Android内置了专有的驱动程序然并卵。Linux的内核也分主次,驱动程序也不是不能脱离的,只是去掉后无法识别对应的设备,并不影响Linux的内核的装载和运行。

2022-02-06 12:58:14 59

原创 Android 深入Http(4)从OkHttp源码来看Http,音视频开发工程师前景

想必最重要的是哪几行,大家都知道了。Response response = getResponseWithInterceptorChain()这行代码就突然Response了,这说明getResponseWithInterceptorChain()把Http的请求响应给走完了。也就是说它是最最最最关键的方法了。已经了解完大框架,小结一下学到这里我们看了好几个类,它们大概做的就是为Http铺好一条路,让http请求更好走,比如给它安排了线程,给Request包装等等,我们看一下关键的步骤:将请

2022-02-05 10:41:31 47

原创 Android 架构组件的最新进展,android底层开发的未来

原文链接:https://mp.weixin.qq.com/s/roOXiW3AbWVqe-mt8ahyPA根据我们曾经做的调查,开发者们希望 Android 官方可以维护一些实用的组件库和架构实践,以降低中大型应用的开发门槛,这样开发团队就可以集中更多精力在实际业务的优化和改进上。Jetpack 项目正是为了解决这些问题而诞生的,Jetpack 是一系列助力您更容易打造优秀 Android 应用的工具和组件,这些组件能帮助您遵循最佳实践、免除编写繁复的样板代码并简化复杂任务,从而使您可以专注于最核心的

2022-02-05 10:40:06 89

原创 Android 架构演进及未来,Android组件化架构实践

MVC结构清晰,低耦合,有利于组件重用;但是Activity/Fragment中代码较多,结构比较复杂;MVP解决了MVC中Activity的问题,但是接口大量增加,所以项目的文件数量也会很多,代码结构也更复杂性了…从工作到现在,经历过了MVC、MVP、Clean等,每个App由于项目特点和需求的不同,其架构模式,分层、组件化、模块化,每一种设计都是基于项目所在场景的,很难适合所有项目场景。这时候我们该怎么办呢?我们或许可以在Google “钦定”的 Android 开发未来第一架构——MVVM中

2022-02-05 10:38:41 109

原创 Android 拍照:如何使用已有相机应用捕获图片(Taking Photos Simply

如果你的程序并不需要一定有Camera,可以添加 android:required="false"  的tag属性。这样的话,Google Play 也会允许没有camera的设备下载这个程序。当然你有必要在使用Camera之前通过hasSystemFeature(PackageManager.FEATURE_CAMERA) 方法来检查设备上是否有Camera。如果没有,你应该关闭你的Camera相关的功能!使用相机应用程序进行拍照(Take a Photo with .

2022-02-05 10:37:16 2705

原创 Android 开发专业 k 线图表组件,支持 JDK,MACD,MA,VOL 等指标

allprojects { repositories { … maven { url “https://jitpack.io” } } } 第二步:在 dependency,添加如下代码dependencies { compile ‘com.github.zhangliangzs:KDemo:1.0.0’ }项目应用: 在布局文件中添加组件:activity 中找到控件: KView mMyChartsView = (KView) findViewById(R.id.kview);最主要的是数据的显

2022-02-05 10:33:01 69

原创 Android 将文字转换成图片并保存起来,搭建android开发环境实验报告

private Canvas mCanvas;// 画笔--画图片private Paint mPicturePaint = new Paint();// 画笔--写字private Paint mTextPaint = new Paint();// 画笔--写运动数据private Paint mDataPaint = new Paint();/**根据图片和文字生成图片@return*/private Bitmap drawBitmap() {Bitmap bm_bg

2022-02-05 10:30:11 2475

原创 Android 客户端性能优化(魅族资深工程师毫无保留奉献)

1. 启动速度1)这里的启动速度指的是冷启动的速度,即杀掉应用后重新启动的速度,此项主要是和你的竞品对比。2)不应在Application以及Activity的生命周期回调中做任何费时操作,具体指标大概是你在onCreate,onResume,onStart等回调中所花费的总时间最好不要超过400ms,否则用户在桌面点击你的应用图标后,将感觉到明显的卡顿。2. 界面切换1)应用操作时,界面和动画不应有明显卡顿;2)可通过在手机上打开 设置开发者选项调试GPU过度绘制,然后操作应用查看gpu是否超线

2022-02-04 11:29:48 1773 1

原创 Android 实现搜索历史(1),定制移动app

return true;}return false;}2.软键盘工具类弹出、关闭,不需要可以不判断public class KeyBoardUtils {/**打开软键盘@param editText@param context*/public static void openKeybord(EditText editText, Context context) {InputMethodManager imm = (InputMethodManager) conte

2022-02-04 11:28:23 109

原创 Android 关于对RFID功能的开发记录,移动商城app开发

mReader.stopInventory();showToast(“开启失败----”);}} else {// 停止识别stopInventory();}}//手动识别标签private void readTag() {// 单步String strUII = mReader.inventorySingleTag();if (!TextUtils.isEmpty(strUII)) {String strEPC = mReader.convertUiiToEPC(strUII);

2022-02-04 11:25:32 305

原创 Android 修改系统屏幕亮度及监听,android学生管理系统项目视频

设置系统屏幕亮度,影响所有页面和app==============================================================================前面讲到的其实是单页面的亮度设置,也可以修改系统的屏幕亮度,即影响所有的页面和app,一般不会有这种操作。这也涉及到一个高级隐私权限,是否允许修改系统设置,且需要在app设置页面手动授权。且需要先在manifest中添加:<uses-permissionandroid:name=“android.

2022-02-04 11:24:07 256

原创 android 二维码扫描(zxing使用小结),android开发基础入门

Collection currentPossible = possibleResultPoints;Collection currentLast = lastPossibleResultPoints;if (currentPossible.isEmpty()) {lastPossibleResultPoints = null;} else {possibleResultPoints = new HashSet(5);lastPossibleResultPoints = currentPossib

2022-02-04 11:22:42 1505

原创 Android Studio说:使用HashMap不如使用SparseArray?,androidsdk开发封装

int lo = 0;int hi = size - 1;while (lo <= hi) {final int mid = (lo + hi) >>> 1;final int midVal = array[mid];if (midVal < value) {lo = mid + 1;} else if (midVal > value) {hi = mid - 1;} else {return mid; // value found}}retu

2022-02-04 11:18:26 72

原创 Android Studio自定义模板实现一键创建MVP结构,Android组件化开发教程

template_blank_activity.png 我们挑出其中的重点来说 表示当前的这个模版的分类,当前的 Value 是 Activity ,就表示它会出现在 File -> New -> Activity 中,这个是可以自定义的.template_blank_activity.png thumbs 用于指定创建模版时所展示出来的图片而最重要的,还是 parameter 代码块的内容了,在这之中,我们只需要关注以下几个,其他的顾名思义即可。<para..

2022-02-04 11:17:01 166

原创 Android 面试(五),kotlin扩展函数原理

HandlerActivity.runOnUiThread()View.post(Runnable r)讲讲 Handler 机制吧Handler 主要由以下部分组成。HandlerHandler 是一个消息辅助类,主要负责向消息池发送各种消息事件Handler.sendMessage() 和处理相应的消息事件Handler.handleMessage()。MessageMessage 即消息,它能容纳任意数据,相当于一个信息载体。MessageQueueMessageQ.

2022-02-03 14:50:00 111

原创 Android 进程通讯机制之Binder(信使)架构以及内存映射详解

注册服务Server进程 通过Binder驱动 向 Service Manager进程 注册服务注册服务后,Binder驱动持有 Server进程创建的Binder实体Binder binder = new Stub();// 步骤1:创建Binder对象 ->>分析1// 步骤2:创建 IInterface 接口类 的匿名类// 创建前,需要预先定义 继承了IInterface 接口的接口 -->分析3IInterface plus = new IPlus(){// 确定

2022-02-03 14:48:35 598

原创 Android 视频播放器总结,Android社招面经分享

} else {HintUtil.showToast(context,getString(R.string.video_play_alredy_last));}break;case R.id.btnPrevious:if (videoPosition - 1 >= 0&& videoPosition - 1 < MyApp.arrayListVideo.size()) {playVideoByPosition(videoPosition - 1);cancelD

2022-02-03 14:47:10 149

原创 Android 获取手机 Imei 和 DeviceId,kotlin开发微信小程序

private static TelephonyManager tm;public static String getDeviceId(Context context) {String deviceId;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){deviceId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID)

2022-02-03 14:45:45 698

原创 Android 网络性能优化(4)弱网优化,移动开发工程师的岗位职责

4. 弱网状态下的优化4.1 使用QUIC进行弱网优化4.1.1 网络库切换4.1.2 QUIC预连接4.2 复合连接4.3 其他5. 弱网测试6. 参考文章1. 背景=======================================================================移动端时段,手机网络的连接形态是无线的,即通过Wifi连接,在前面章节有提高过,无线连接的优点就是便捷,只要有信号就能上网。而它的缺点是不..

2022-02-03 14:41:30 580

原创 Android-体系化知识图谱:该如何入门Android开发?该如何进阶

针对Android进阶知识,按照优先级最主要的知识点主要包括:自定义View、性能优化,具体介绍如下:3. 与时俱进、热门技术除了基础日常使用的Android知识,我们还需时刻关注行业动态,与时俱进的学习新技术,如近些年来较为热门的Android新兴技术包括:Flutter、热修复、插件化等;同时,了解 & 学习常用的开源库也十分重要,常用的开源库主要包括图片加载、网络请求、异步处理的开源库,具体类型如下:4. 编程语言:Java与Java虚拟机Android是基于Java的

2022-02-02 13:20:43 83

原创 Android-Kotlin-区间与FOR&LIST&MAP简单使用,android面试知识点

*/var list :List = listOf(“李小龙”, “李元霸”, “李连杰”, “李云龙”, “李子天”)// 打印List集合里面的数据for(lis in list) {println("$lis ")}println("------------------------------------------------")/**定义一个List集合,存入Int整数类型的数据*/var listInt : List = listOf(1, 2, 3, 4, 5, 6,

2022-02-02 13:19:19 80

原创 Android-Framework:Binder全解析(二,互联网寒冬公司倒闭后

return binder;}getIServiceManager()//frameworks/base/core/java/android/os/ServiceManager.javaprivate static IServiceManager getIServiceManager() {if (sServiceManager != null) {return sServiceManager;}sServiceManager = ServiceManagerNative.asInterfa

2022-02-02 13:17:53 105

原创 Android-Framework学习笔记(二)Zygote进程启动过程,html5移动端开发

public static void main(String argv[]) {…try {//设置DDMS可用RuntimeInit.enableDdms(); //1//初始化启动参数boolean startSystemServer = false;String socketName = “zygote”;String abiList = null;//2for (int i = 1; i < argv.length; i++) {if (“start-system-ser

2022-02-02 13:16:28 131

原创 Android-ContentProvider实例详解,android驱动开发视频

//把id为1的记录的name字段值更改新为finchContentValues updateValues = new ContentValues();updateValues.put(“name”, “finch”);Uri updateIdUri = ContentUris.withAppendedId(uri, 1);resolver.update(updateIdUri, updateValues, null, null);//删除id为2的记录Uri deleteIdUri = Con

2022-02-02 13:15:04 541

原创 Android-11-正式发布---开发者们的舞台已就绪,2021大厂安卓面试集合

权限自动重置  - 如果用户在很长一段时间里未使用某应用,Android 11 将 “自动重置” 所有与该应用关联的运行时权限并通知用户。在用户下次使用该应用时,应用可以再次请求权限。详细信息请访问 官方文档。分区存储  - 我们一直在努力更好地保护外部存储上的应用和用户数据,还加入了更多的改进以便让开发者更轻松地进行迁移。详细信息请访问 官方文档。Google Play 系统更新  - 自去年发布以来,Google Pla

2022-02-02 13:13:38 250

原创 Android--Intent和过滤器,面试篇

用来指定要执行的通用操作的字符串。比如你要吃饭,睡觉,这些就是动作。action可以自定义,也可以使用由 Intent 类(比如ACTION_VIEW,ACTION_PICK等)或其他框架类定义的操作常量。所施加的动作越多,越精确。category(类别)类别是一个字符串,包含该类型组件需要处理的意图的附加信息。addCategory() 方法为意图对象添加类别,removeCategory() 方法删除之前添加的类别,getCategories() 获取所有被设置到意图对象中的类别。Category

2022-02-02 13:12:13 87

原创 Android 面试题(附答案) _ 掘金技术征文,安卓android开发

synchronized (list) {while (list.size() == MAX_SIZE) {System.out.println(“仓库已满:生产暂停”);try {list.wait();} catch (InterruptedException e) {e.printStackTrace();}}list.add(new Object());System.out.println(“生产了一个新产品,现库存为:” + list.size());list.notifyA

2022-02-02 13:09:24 70

原创 Android 键盘操作常见问题,洞悉MySQL底层架构

}return null;}}, new InputFilter.LengthFilter(COMMENT_MAX_NUM)});2. 点击外部区域键盘自动收起如果当前页面是Activity那么可以直接重写dispatchTouchEvent方法。在ACTION_DOWN事件时,判断点击的坐标是否在输入框坐标的上面,如果是那么调用隐藏键盘的方法。如果当前页面是Fragment,那么Fragment中增加一个dispatchTouchEvent方法,内部逻辑同上,在Fragment所依赖的Act

2022-02-02 13:07:58 42

原创 Android-高工面试真题:说说你对FPS的理解?如何检测应用的FPS

第二步中实际调用的是 WindowManagerImpl.addView() 方法,WindowManagerImpl 中又调用了 WindowManagerGlobal.addView() 方法。WindowManagerGlobal.java// 参数 view 就是 DecorViewpublic void addView(View view, ViewGroup.LayoutParams params, Display display, Window parentWindow) {…V

2022-01-31 13:02:34 116

原创 Android-音视频学习系列-(六)掌握视频基础知识并使用-OpenGL-ES-2-0-渲染-YUV-数据

GLESv2#添加本地库android${log_lib})至此,对于 OpenGL 的开发需要用到的头文件以及库文件就引入完毕了,下面再来看看如何使用 EGL 搭建出 OpenGL 的上下文环境以及渲染视频数据。使用 EGL 首先必须创建,建立本地窗口系统和 OpenGL ES 的连接//1.获取原始窗口nativeWindow = ANativeWindow_fromSurface(env, surface);//获取Displaydisplay = eglGetDisp

2022-01-31 13:01:09 2479

原创 Android-自定义图像资源的使用(2),2021最新京东Android面试题目

上面的Button通过设置background来引用我们定义好的selector效果如下:图像级别资源的使用/05_KindOfDrawableUse/res/drawable/lamp_level.xml<?xml version="1.0" encoding="utf-8"?><item android:drawable="@drawable/lamp_off" android:minLevel=“6”android:maxLevel=“10” /><i

2022-01-31 12:59:44 31

原创 Android-自定义图像资源的使用(2)(1),面试宝典

过渡图像资源的使用这个图像资源是用来展示图像过渡的,比如一盏灯从不亮到亮的缓慢过渡。/05_KindOfDrawableUse/res/drawable/lamp_transition.xml<?xml version="1.0" encoding="utf-8"?>/05_KindOfDrawableUse/res/layout/cross_fade_res.xml<?xml version="1.0" encoding="utf-8"?><Linea.

2022-01-31 12:58:19 785

原创 Android-开发面试-“68”-问,高级Android开发面试解答之线程篇

4、Java 虚拟机的特性-百度-乐视5、哪些情况下的对象会被垃圾回收机制处理掉-美团-小米6、进程和线程的区别-猎豹-美团7、java中==和equals和hashCode的区别-乐视8、HashMap的实现原理-美团 9、string-stringbuffer-stringbuilder区别-小米-乐视-百度10、什么导致线程阻塞-58-美团11、多线程同步机制-猎豹12、ArrayMap对比HashMap13、hashmap和hashtable的区别-乐视-小米-3601

2022-01-31 12:54:04 68

原创 Android-世界的活点地图-dumpsys(Android-Detail-工具)

以上来自 知乎 Freeman 的回答dumpsys 常用语法adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]下表列出了使用 dumpsys 时的可用选项。选项说明-t timeout指定超时期限(秒)。如果未指定,默认值为 10 秒。–help输出 dumpsys 工具的帮助文.

2022-01-31 12:52:39 38

原创 Android-WebView4,android开发基础在线学习网站

<com.hjhrq1991.library.tbs.TbsBridgeWebViewandroid:id="@+id/webView"android:layout_width=“match_parent”android:layout_height=“match_parent” />JsBridge的使用请参考Android-使用JsBridge来优化js与本地的交互。wvWebview.setWebViewClient(new MyWebViewClient());wvWebvie

2022-01-31 12:51:14 81

原创 Android上唤起 APP 场景的思考总结,flutter通知推送

FLAG_ACTIVITY_NEW_TASKFLAG_RECEIVER_FOREGROUNDFLAG_ACTIVITY_RESET_TASK_IF_NEEDEDFLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS3.第三方推送在 APP 被完全杀死前提下拉起FLAG_ACTIVITY_NEW_TASKFLAG_RECEIVER_FOREGROUNDFLAG_ACTIVITY_SINGLE_TOPFLAG_ACTIVITY_REORDER_TO_FRONTFLAG_RE

2022-01-30 14:23:26 235

空空如也

空空如也

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

TA关注的人

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