自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android利用SOAP进行网络编程,这些面试题你会吗

new SoapSerializationEnvelope(SoapEnvelope.VER11);Envelope.bodyOut =request;(5)创建HttpTransportsSE 对象。HttpTransportSE ht=new HttpTransportSE(“http:// fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl”);(6)使用 call 方法调用 WebService 方法。ht.call(null,e

2022-03-01 20:30:00 311

原创 Android企业级实战-界面篇-5,androidview的事件分发

一、先看看实现的效果=========================================================================二、实现前准备======================================================================1.dimens.xml文件内容(与第一个案例为同文件)不占字了,请于第一篇自取2.ids.xml文件内容(此案例可用) 3.colors

2022-03-01 20:28:35 280

原创 Android从源码分析RecyclerView四级缓存复用机制一(缓存ViewHolder)

public final class Recycler {//一级缓存中用来存储屏幕中显示的ViewHolderfinal ArrayList mAttachedScrap = new ArrayList<>();ArrayList mChangedScrap = null;//二级缓存中用来存储屏幕外的ViewHolderfinal ArrayList mCachedViews = new ArrayList();//暂可忽略 mAttachedScrap的不可变视图privat

2022-03-01 20:25:45 339

原创 Android之OkHttp网络架构源码深入分析(揭开神秘的面纱),android项目开发实战入门pdf

this.connectionSpecs = builder.connectionSpecs;this.interceptors = Util.immutableList(builder.interceptors);this.networkInterceptors = Util.immutableList(builder.networkInterceptors);this.eventListenerFactory = builder.eventListenerFactory;this.proxySe

2022-03-01 20:22:54 182

原创 Android——service使用详解,android混合开发弊端

android:name=“string”android:permission=“string”android:process=“string” >| 属性 | 说明 || — | — || description | 对服务进行描述,属性值应为对字符串资源的引用,以便进行本地化 || directBootAware | 设置是否可以在用户解锁设备之前运行,默认值为“false” || enabled | 设置是否可以由系统来实例化服务。< application >元素有

2022-03-01 20:21:29 457

原创 Android—Dagger2-让你爱不释手--终结篇(附视频讲解,写给1-3年安卓程序员的几点建议

dagger2怎么使用?因此我将结合这2点来进行本文的讲解。并且会有具体的sample。dagger2到底有哪些好处?咱们直奔主题:增加开发效率、省去重复的简单体力劳动首先new一个实例的过程是一个重复的简单体力劳动,dagger2完全可以把new一个实例的工作做了,因此我们把主要精力集中在关键业务上、同时也能增加开发效率上。省去写单例的方法,并且也不需要担心自己写的单例方法是否线程安全,自己写的单例是懒汉模式还是饿汉模式。因为dagger2都可以把这些工作做了。更好的管理类实例每个ap.

2022-03-01 20:20:04 246

原创 android中WebView附件问题解决,kotlin库

没有头绪的时候,我用qq做了一个测试,把我们的html链接发到我手机qq上 ,然后在qq上点击html上的附件,发现是先下载,然后提示用手机上相关软件打开,比如 三方浏览器(UC浏览器,QQ浏览器)还有office等。后来我们也就没做在线解析直接打开,也是做的像qq一样先下载然后依赖第三方软件打开。我觉得也比较合理(1.这种功能没有必要花那么多时间做的那么复杂  2.遵循主流软件处理方式)。webview下载文件的代码:package com.baobao.webview;import c

2022-02-18 14:30:50 235

原创 Android上基于JSON的数据交互应用,android应用开发期末考试题

{“calendar”:{“calendarlist”:[{“id”:“001”,“name”:“小猪”},{“id”:“002”,“name”:“小猫”}]}}同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。JSONStringer:根据官方的解释,这个类可以帮助快速和便捷的创建JSON text。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个

2022-02-18 14:25:09 115

原创 Android~adb卸载系统预装应用(亲测有效,kotlin协程使用

frontOfTask=true task=TaskRecord{5546a0e #3162 A=com.uplus.onphone U=0 StackId=102 sz=1}taskAffinity=com.uplus.onphonerealActivity=com.uplus.onphone/.activity.MainActivitybaseDir=/system/product/app/UplusTVonPhone/UplusTVonPhone.apkdataDir=/da.

2022-02-18 14:20:55 795

原创 Android4,Spring都没弄明白凭什么拿高薪

}}//读取日志中某行日志信息private void readJournalLine(String line) throws IOException {String[] parts = line.split(" ");if (parts.length < 2) {throw new IOException("unexpected journal line: " + line);}String key = parts[1];if (parts[0].equals(REMOVE) &a

2022-02-18 14:19:29 62

原创 Android静态代码扫描效率优化与实践,看完这篇

scope.add(PROGUARD_FILE)} else if (name.endsWith(DOT_PROPERTIES)) {scope.add(PROPERTY_FILE)} else if (name.endsWith(DOT_PNG)) {scope.add(BINARY_RESOURCE_FILE)} else if (name == RES_FOLDER || file.parent == RES_FOLDER) {scope.add(ALL_RESOURCE_FILES)s

2022-02-17 20:31:21 2016

原创 Android进阶——Android跨进程通讯机制之Binder,androidstudio开发语言

}/**Cast an IBinder object into an com.handsome.boke.IMyAidlInterface interface,generating a proxy if needed.*/public static com.handsome.boke.IMyAidlInterface asInterface(android.os.IBinder obj) {if ((obj == null)) {return null;}android.os.IInte

2022-02-17 20:29:55 323

原创 Android获取本机各种类型文件列表(音乐、视频,31道Android面试题

private String resolution = null;// 分辨率private long size = 0;private long date = 0;private long duration = 0;public Video(int id, String path, String name, String resolution, long size, long date, long duration) {this.id = id;this.path = path;this.n

2022-02-17 20:22:50 645

原创 Android自定义照相机实现(拍照、保存到SD卡,音视频开发工程师需要具备的知识

@author wwj@date 2013/4/29*/public class MainActivity extends Activity {private View layout;private Camera camera;private Camera.Parameters parameters = null;Bundle bundle = null; // 声明一个Bundle对象,用来存储数据@Overridepublic void onCreate(Bundle sa..

2022-02-17 20:21:25 1338

原创 Android自定义View:关于打钩小动画的思考重构,androidstudio播放音频

//画背景mPaintCircle.setColor(checkBaseColor);canvas.drawCircle(centerX, centerY, ringProgress == 360 ? radius : 0, mPaintCircle);//当进度圆环绘制好了,就画收缩的圆if (ringProgress == 360) {mPaintCircle.setColor(checkTickColor);canvas.drawCircle(centerX, centerY, circl

2022-02-17 20:20:00 104

原创 Android程序员这个职业,是选择去大公司好还是小公司?,你还在把Java当成Android官方开发语言吗

最终在北京找了一份软件开发的工作,公司很小,一共 6、7 个人,算上我一共 3 个程序员,另外两个程序员大概 3、4 年的经验。办公室 20 多平米,零食、咖啡这些统统都没有。我的工资每个月 3000 块钱,此外再也没有其他的东西。其他正常计算机专业毕业生的工资 4500 元左右。工资不高,但是对于向来节俭的我来说,这些已经够生活了,不嫌少!有地方收留我就够了,能入这个行就知足。经过大四半年的 Java 培训,我只会点简单的 SQL,只会用 JDBC 写写增删改查。刚去没几天,就来了个项目,做一个内容

2022-02-17 20:18:35 142

原创 Android面试中多说这么一句话,薪水直接涨5k,Android开发社招面试解答之性能优化

实际上,工资结构是由:月薪、五险一金、加班费、带薪年假、期权、股票等一起构成的。所以在后面的面试环节一定要问清楚公司的工资结构是由哪几部分构成的。在了解工资结构之后,要对所投递行业的薪水范围进行调查研究,可以通过之前在这个行业工作的人、朋友或者通过简历投递平台所发布的官方信息进行了解。然后根据自己的实际情况,确定一个期望的薪水范围。二、懂得反问HR在回答HR提出的薪资问题时,往往同学们都倾向于一个固定数字,比如说10K。那么恭喜你!你已经被HR成功套路!遇到这种情况,如果你去直接报价,如果报低了,那

2022-02-16 15:49:46 144

原创 Android面经分享,失业两个月,五一节前拿到Offer,真牛

Synchronized底层原理,java锁机制java容器,hashmap和hashtable区别,hashmap原理,扩容流程,扰动算法的优势ArrayList和LinkendList区别,List泛型擦除,为什么反射能够在ArrayList< String >中添加int类型Http和Https区别,SSL/TLS过程Android性能优化jvm虚拟机,堆和栈的结构,栈帧,JMM组件化注意点,组件间通信机制线程安全的单例模式有哪几种熟悉的..

2022-02-16 15:48:21 99

原创 Android自定义控件开发入门与实战(6)路径动画,android脚本开发工具

前面几章所讲的内容其实都只是比较普通、简单的动画,这章开始学习较难、较为有深度、也比较可以实现更加炫酷效果的动画,通过PathMeasure和SVG动画来实现。PathMeasure实现路径动画PathMeasure是Android官方API,是之前第一张关于路径只是的一个扩展,十分的有用。PathMeasure可以计算出路径的总长、指定长度所对应的坐标等等路径信息。有两种初始化方式:第一种:PathMeasure pathMeasure = new PathMeasure();直接new一

2022-02-16 15:45:30 210

原创 android移动支付——微信支付,flutter瀑布流内存

我们这里主要是来学习一下支付宝,微信支付,银联支付和paypal支付现实生活中的支付就是:去商店浏览商品->把商品加入购物车->把购物车中的商品拿到收银台付款上面的支付流程细化下来就是:1.浏览商品2.把要买的商品加入购物车3.把商品拿到收银台,收银人员处理商品信息4.告诉收银员支付方式5.选择支付方式进行支付6.处理支付结果(成功、失败、取消)程序中的支付流程中:1.浏览商品2.把要买的商品加入购物车3.把购物车中的商品信息和用户信息和支付方式等信息发送到自己服务器,服

2022-02-15 15:40:07 431

原创 Android数据库的使用(增删改查),怒斩腾讯和阿里的Offer

//当数据库不用时关闭数据库(为了防止博主Demo出错。。。。。)db.close();}//添加数据public void btninsert(View view) {SQLiteDatabase db = helper.getWritableDatabase();//Android为了方便程序员SQL开发,提供了一个贼好的API: ContentValues(添加数据交给它)ContentValues values = new ContentValues();//放值values.pu

2022-02-15 15:31:35 2121

原创 flutter 使用source_gen和code_builder编译时生成代码,Android面试知识点梳理

以前学android的时候就曾经使用过APT在编译时解析注解,然后结合Javapoet生成代码,在flutter端其实也有这种类似的技术,这就是source_gen和code_builder,source_gen负责编译时解析注解,code_builder负责生成代码,本篇文章,就是在讲解如何使用source_gen和code_builder编译时生成代码,code_builder如何使用,请看之前的文章, 本文 github链接具体步骤1. 新建flutter package,命名为annotatio

2022-02-05 13:28:10 265

原创 Flutter 中 IndexedStack 的使用详解 _ Flutter Widgets

index:0index:1index:2上面我们调整不同的 index 只显示出来了一个子项 Widget,如果我们把 IndexedStack 换成 Stack 则会显示成如下效果。IndexedStack 源码alignment 对齐方式sizing 填充方式index 显示子项索引children 子项集合本篇主要聊 index 和 children ,其他的 alignment、sizing 可以稍后转看专栏中 Stack 详解篇,我们开始看看源码...

2022-02-05 13:26:46 719

原创 Flutter for web 最新填坑,kotlin教学

代码文件路径: packages/flutter/lib/src/foundation/constants.dart你可以通过下面方式来区分web还是io,哈哈哈,这是隐形的吐槽 js吗?/// A constant that is true if the application was compiled to run on the web.////// This implementation takes advantage of the fact that JavaScript does not

2022-02-05 13:25:20 201

原创 Flutter 2,android应用开发基础大纲

在几个月前, Google Pay 里的旗舰移动应用就有不少更改为使用 Flutter,它们已经在生产力和质量上取得了重大进步。通过统一的代码库,团队消除了平台之间的功能差异,并清理超过一百万行代码,Google Pay 的报告还提到其工程师的效率要高得多,技术债务大大减少,统一的发布流程(如跨 iOS 和 Android 的安全性审查和试验)得以实现。Flutter on the web==================Flutter 2 中最大的修改之一就是对Web的生产质量有了新的支持。

2022-02-05 13:23:55 203

原创 FFmpeg-之X264视频编码与FAAC音频编码(四),kotlin反编译文件夹

Prototype:faacEncHandle faacEncOpen// 返回一个FAAC的handle(unsigned long nSampleRate, // 采样率,单位是bpsunsigned long nChannels, // 声道,1为单声道,2为双声道unsigned long &nInputSamples, // 传引用,得到每次调用编码时所应接收的原始数据长度unsigned long &nMaxOu

2022-02-05 13:19:40 125

原创 FFmpeg 之I、B、P帧的基本编码原理,Android开发框架

那什么是高频和低频呢?这里的高频数据是指,图像颜色的变化比较强烈的地方,比如人像画的轮廓与背景的交叉处,在这里的色值变化很快,所以称为高频。相对的低频就是指,颜色变化比较缓和的地方。所以DCT的作用并不是对数据进行压缩,而是为了方便后面的操作,比如量化、RLE行程编码、以及霍夫曼编码。下一步就是量化,因为人眼对高频区域其实并不敏感,所以利用这一点,可以将高频部分数据进行压缩。这样一来,图块的数据就会呈现两部分,一部分是变化平滑的低频数据,另一部分是刚压缩过的高频部分,数值也变得差不多。而后再经过Zig-z

2022-02-05 13:16:50 304

原创 EventBus 源码解析及使用体验,自己动手实现OkHttp

首先:EventBus.getDefault()其实就是个单例,和我们传统的getInstance一个意思:​/* Convenience singleton for apps using a process-wide EventBus instance. /public static EventBus getDefault() {if (defaultInstance == null) {synchronized (EventBus.class) {if (defaultInstance =

2022-02-04 14:17:44 102

原创 Dart语言快速入门,android组件化开发pdf

result = ‘$result with a $device’;}return result;}// 方法调用void main() {say(‘Bob’, ‘Howdy’); //不使用可选参数say(‘Bob’, ‘Howdy’, ‘smoke signal’); //使用可选参数}默认参数值/// 设置 [bold] 和 [hidden] 标志 …void enableFlags({bool bold = false, bool hidden = false}) {}v

2022-02-04 14:16:19 345

原创 Dart开发之——运算符,想给金三银四找工作的程序员几点建议

逻辑运算符位运算符条件运算符级联运算符点运算符二 算术运算符2.1 说明算数运算符用来进行简单的数据运算常用的算数运算符有:加(+)、减(-)、乘(*)、除(/)等2.2 示例//加法运算符print(1+1);//减法运算符print(1-1);//乘法运算符print(1*1);//除法运算符print(1/1);//自增运算符print(1++);print(++1);//自减运算符print(1–);print(–1..

2022-02-04 14:14:54 57

原创 ContentProvider的简单使用,阿里一线架构师技术图谱

public boolean onCreate() {mContext = getContext();// 在ContentProvider创建时对数据库进行初始化// 运行在主线程,故不能做耗时操作,此处仅作展示mDbHelper = new DBHelper(getContext());db = mDbHelper.getWritableDatabase();// 初始化两个表的数据(先清空两个表,再各加入一个记录)db.execSQL(“delete from user”);db.ex

2022-02-04 14:13:29 96

原创 ASP,kotlin线程池

<asp:Label ID=“Label5” runat=“server” Text=“封面图片:”></asp:Label><asp:FileUpload ID=“FileUpload1” runat=“server” /><asp:Button ID=“Button1” runat=“server” Text=“插入图片信息” οnclick=“Button1_Click” />cs代码using System;using..

2022-02-04 14:12:05 2950

原创 antd pro4(umijs 3,顺利拿到offer

default: ‘zh-CN’,antd: true,// default true, when it is true, will use navigator.language overwrite defaultbaseNavigator: true,},dynamicImport: {loading: ‘@/components/PageLoading/index’,},targets: {ie: 11,},// umi routes: https://umijs.org/docs

2022-02-04 14:07:50 236

原创 GitHub标星8,一文详解

效果图主要功能项目目录结构主要开源框架……第三章 架构演化(大厂篇)从智行 Android 项目看组件化架构实践组件化调整的原因和目标组件化架构调整的整体规划组件化架构调整中遇到的一些问题得到 AppAndroid彻底组件化demo发布JIMU使用指南组件化拆分的感悟……微信 App微信Android模块化架构重构实践微信Android架构历史为何再次重构微信……蘑菇街 App蘑菇街 App 的组件化实现方式组件生命周期管理壳工程遇到的

2022-02-03 17:38:00 2808

原创 Framework学习(二)Zygote进程启动过程,理解透彻

预加载类和资源ZygoteInit#preload()static void preload() {beginIcuCachePinning();preloadClasses(); //加载所需的各种class文件preloadResources(); //加载资源文件preloadOpenGL(); //初始化OpenGLpreloadSharedLibraries(); //加载系统LibrariespreloadTextResources(); //加载文字资源// Ask the

2022-02-03 17:33:45 265

原创 Fragment中调用startActivityForResult的那些坑,h5移动端开发方案

(1)发起startActivityForResult调用这种情况会直接调用到Fragment的startActivityForResult方法//Fragment.classpublic void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {if (mHost == null) {throw new IllegalStateException(“Fragment " + thi

2022-02-03 17:32:20 345

原创 Flutter:基于video_player实现视频相关手势控制、全屏播放

4.1. 定义属性这里定义了三种读取视频的方式network、asset、file,分别对应网络视频、工程视频、本地视频文件:class VideoPlayerUI extends StatefulWidget {VideoPlayerUI.network({Key key,@required String url, // 当前需要播放的地址this.width: double.infinity, // 播放器尺寸(大于等于视频播放区域)this.height: double.infinity

2022-02-03 17:30:55 1063

原创 Flutter笔记(3)flutter安装环境配置检测及命令创建flutter项目

注意: 此镜像为临时镜像,并不能保证一直可用,读者可以参考详情请参考 Using Flutter in China 以获得有关镜像服务器的最新动态。2.克隆Flutter代码到本地目录克隆Flutter的时候利用Git来克隆,如果现在你的电脑上没有安装Git的话,请先去下载安装Git,然后在Git上利用以下克隆代码进行克隆。$ git clone https://github.com/flutter/flutter.git克隆过程示图如下:克隆完成示图如下:3.找到flutter克隆的目

2022-02-03 17:28:05 422

原创 Git8,kotlinandroid开发

4.深入解析 Volley 源码(一款 Google 推出的网络请求框架)5.深入解析 Retrofit 源码由于文章篇幅有限,为了不影响阅读体验,仅展示一部分内容,有需要全套笔记的朋友【点击我】免费获取哦~100%免费分享下载剩余笔记内容:6.深入解析 OkHttp 源码7.深入解析 ButterKnife 源码8.深入解析 Okio 源码(一套简洁高效的 I/O 库)9.深入解析 SharedPreferences 源码10.深入解析 EventBus 源码11.Andro

2022-02-02 16:08:42 929

原创 Framework学习(五)应用程序启动过程,android开发零基础教学

Log.e(TAG, “Unable to launch. tag=” + tag + " intent=" + intent, e);}return success;}注释1调用了startActivity函数。Launcher#startActivity()private boolean startActivity(View v, Intent intent, Object tag) {intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//1t

2022-02-02 16:07:18 141

空空如也

空空如也

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

TA关注的人

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