全部 文章 问答 分享 共找到212个相关内容
[问答] Android还准备继续出课程吗

大佬,请问Android还准备继续出课程吗

2022-02-18 11:27 · Android课程
[文章] 程序员做菜系列--冰糖红烧排骨
八角:一颗就好,如果你的排骨多,可以适当增加桂皮:一点点,如果你的排骨多,可以适当增加花生油:一杯子砂锅一个铁锅一个煤气炉制作流程排骨洗干净后,焯,把血去了,然后很重要++晾干,不能有水!!!
2021-11-06 20:47 · 程序员做菜 / 冰糖红烧排骨 / 断点
[文章] 2022-8-19一篇文章吧,跟AOSP有关的
2022-8-19一篇文章吧,跟AOSP有关的开关机动画,这个就不说了,在课程里面已经说到了。AOSP课程开机Logo,也是比较简单,直接替换就行了。
2022-08-19 16:46 · AOSP / 水文章 / android开发 / 系统开发 / 编译
[文章] 笔记四、利用Timer,TimerTask以及Handler实现有暂停和继续计时简单的计时器
秒运行一次run添加一秒//第一个参数是TimerTask,第二个是延迟几毫开始,第三个是每隔几毫秒运行一//次runmTimer.schedule(mTimerTask,0,1000);4.暂停计时和继续计时其实这个很简单只需把
2020-04-26 16:15 · android计时 / android
2022-06-06 16:04 · 水文章 / Android / 弹窗 / dialog / 仿苹果
[文章] ios swift 项目创建和配置
选择ios平台app输入一些应用的信息,继续到这里基本上就快到我们经典的HelloWorld点击运行按钮啥也没有,不按套路出牌啊~不管怎么样app已经跑起来了,最难的一步过了后面的都是耍耍啦~挖坑感受挖坑一时爽
2021-10-10 16:01 · ios / swift
[文章] Ubuntu 18.04编译AOSP 7.1.1
现在找到了5x需要的驱动和代码版本号,今天继续刷。刷机和代码对应比如我需要给5x刷,就需要对应的驱动,驱动下载地址在这里。
2022-10-29 19:04 · AOSP / Ubuntu / 系统编译 / 刷机 / nexus5x
[文章] 设置了跨域以后,还是获取到了数据,fetch加上头部就可以了
no-cache",'Cache-Control':'no-cache'},method:'get'}).then(res=>res.blob().then(blob=>{}));个记录
2023-08-07 16:37 · 前端 / 跨域 / 阿里云 / OSS / 对象存储
[问答] 关于surfaceview全屏之后没有铺满

请教下各位友,就是我的surfaceview在全屏之后没有铺满全屏,

大致的伪代码是这样的,自定义的Player继承了frameLayout ,然后增加了一层surfaceview和一层视频控件层

2022-11-17 09:10 · android / 视频 / surfaceview
[文章] 摸鱼君-滑动到底部时去加载更多内容
okay一篇文章和大家说明白一下。
2022-07-21 21:57 · loading / 加载更多 / 前端 / 分页 / more
2022-07-18 16:21 · textView / html / a标签 / url / 协议
[文章] 《资治通鉴》开篇故事-三家分晋
用水淹赵氏的城,他们三家去查看时,智瑶说:智伯曰:“吾乃今知可以亡人国也。”背景,当时的赵氏、韩氏,魏氏,智氏的都城都在渭水边上。智瑶说这么一句话的意思,其实就是说也可以用水把魏氏,韩氏干掉。
2019-09-27 19:18 · 读书 / 程序员 / 历史 / 资治通鉴 / 三家分晋
[文章] 程序员读《史记·五帝本纪》你以为尧舜禹的禅让是非亲非故?
嫘祖为黄帝正妃,生二子,其后皆有天下:其一曰玄嚣,是为青阳,青阳降居江水;其二曰昌意,降居若。从上文可以得知,黄帝娶了个老婆,生了两个孩子。一个叫做玄嚣,一个叫做昌意。
2019-09-27 19:32 · 程序员 / 读书 / 历史 / 史记 / 三五五帝
[文章] 一篇文章,AOSP的,按键控制拍照
最近忙得很公司裁员,然后合并事业部,最近忙得很。最终还是没有把我裁掉,没能如愿,只能辞职了。辞职的话就不有赔偿了。合并以后,已经打乱了我的节奏了。同学们应该也发现,我很少有发动态有更新内容了,实在是忙呀。计划是15号辞职,一个月后走人。什么年假呀,13薪就不要了。正题客户需要一个功能,在相机界面的时候,按下power按键,进行拍照,而不是熄屏。同样的,另外一个客户是需要在拍照界面按power按键不能熄屏,因为熄屏录制是违法行为嗷。怎么实现呢?思路首先,按键处理,我们在PhoneWindowManager里修改。思路就是,当我们知道相机现在是活跃的,那么我们就把这个power按键转成音量减按键。同学们都知道吧,android原生相机按音量减按键是会拍照的问题点来了,怎么知道相机的状态呢?这里就涉及到一个通讯的问题了,我们可以用广播,用AIDL,可以用内容提供者,也可以用属性值。这里面我使用属性值比较方便。但是,属性值的写入,有权限限制,因此我不在应用层的调用去修改状态。而是在frameworks层去更新相机的状态。实现相机状态变更按键转换相机状态变更我打算在frameworks/base/services/core/java/com/android/server/camera目录下的CameraServiceProxy.javaprivatefinalICameraServiceProxy.StubmCameraServiceProxy=newICameraServiceProxy.Stub(){@OverridepublicvoidpingForUserUpdate(){notifySwitchWithRetries(30);}@OverridepublicvoidnotifyCameraState(StringcameraId,intnewCameraState,intfacing,StringclientName){Stringstate=cameraStateToString(newCameraState);StringfacingStr=cameraFacingToString(facing);Slog.v(TAG,"Camera"+cameraId+"facing"+facingStr+"statenow"+state+"forclient"+clientName);//对状态进行判断,然后修改状态即可if("CAMERA_STATE_OPEN".equals(state)){SystemProperties.set("persist.sys.camera_state","1");}elseif("CAMERA_STATE_CLOSED".equals(state)){SystemProperties.set("persist.sys.camera_state","0");}updateActivityCount(cameraId,newCameraState,facing,clientName);}};我修改了这个属性值persist.sys.camera_state如果相机打开了,那么就修改为1,否则就为0处理按键状态有变化了,那么我们在PhoneWindowManager.java里处理按键事件frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java低版本的可能在其他目录,自己搜索一下就能找到。privatevoidpowerPress(longeventTime,booleaninteractive,intcount){if(mScreenOnEarly&&!mScreenOnFully){Slog.i(TAG,"Suppressedredundantpowerkeypresswhile"+"alreadyintheprocessofturningthescreenon.");return;}BackToLaunchFactoryTest=false;if(count==2){powerMultiPressAction(eventTime,interactive,mDoublePressOnPowerBehavior);}elseif(count==3){powerMultiPressAction(eventTime,interactive,mTriplePressOnPowerBehavior);}elseif(count==6){BackToLaunchFactoryTest=true;BackToLaunchFactoryTest_time=eventTime;//launchFactoryTest(0);}elseif(interactive&&!mBeganFromNonInteractive){StringtopActivity=getTopActivity();StringisCameraOpen=SystemProperties.get("persist.sys.camera_state","idel");Slog.d(TAG,"isCameraOpen==>"+isCameraOpen);//如果当前是相机界面,打开相机Slog.d(TAG,"topActivity====>"+topActivity);if("com.android.camera.CameraActivity".equals(topActivity)||"com.android.camera.CameraLauncher".equals(topActivity)||"com.boll.wrongquescard.ui.TakePhotoActivity".equals(topActivity)||"1".equals(isCameraOpen)){//拍照Slog.d(TAG,"拍照吧,皮卡丘....");//转成25号按键,就可以拍照try{Instrumentationinst=newInstrumentation();inst.sendKeyDownUpSync(KeyEvent.KEYCODE_VOLUME_DOWN);}catch(Exceptione){Log.e("ExceptionwhenonBack",e.toString());}return;}switch(mShortPressOnPowerBehavior){caseSHORT_PRESS_POWER_NOTHING:break;caseSHORT_PRESS_POWER_GO_TO_SLEEP:goToSleep(eventTime,PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON,0);break;caseSHORT_PRESS_POWER_REALLY_GO_TO_SLEEP:goToSleep(eventTime,PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON,PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);break;caseSHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME:goToSleep(eventTime,PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON,PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);launchHomeFromHotKey();break;caseSHORT_PRESS_POWER_GO_HOME:shortPressPowerGoHome();break;caseSHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME:{if(mDismissImeOnBackKeyPressed){if(mInputMethodManagerInternal==null){mInputMethodManagerInternal=LocalServices.getService(InputMethodManagerInternal.class);}if(mInputMethodManagerInternal!=null){mInputMethodManagerInternal.hideCurrentInputMethod();}}else{shortPressPowerGoHome();}break;}}}Slog.i(TAG,"powerkeyBackToLaunchFactoryTest"+BackToLaunchFactoryTest);}看我注释就知道了,如果是相机打开了,直接把按键转成KeyEvent.KEYCODE_VOLUME_DOWNInstrumentation注意导包importandroid.app.Instrumentation;okay,到这里就可以完成这个功能了。重点是思路,避开权限,通讯选择简单的属性值。一边是写入状态,一边是读取状态。还有就是按键转换。拍照输出keycodeis==>26isdown==>falseReceiveInputKeyEventofPowerkeyup,interactive=trueisCameraOpen==>1topActivity====>com.android.camera.CameraActivity拍照吧,皮卡丘....keycodeis==>25isdown==>truekeycodeis==>25isdown==>false状态是对的当我退出拍照界面时的日志输出keycodeis==>26isdown==>falseReceiveInputKeyEventofPowerkeyup,interactive=trueisCameraOpen==>0topActivity====>com.android.launcher3.LauncherStartedgoingtosleep...(why=2)到此,拍照也是成功的。
2022-10-11 11:29 · 拍照 / 按键 / power / 安卓 / AOSP
[文章] 一篇:尝试用分布式跑密码字典
开头最近服务器搞的有点多,突然想尝试一下中间收集密码字典,去重加入数据库中,id自增,字段越少越好为了速度,是否可以把数据库从云迁移到本地?考虑到每次尝试,其实是发送一个请求,并且为了减少封禁概率,应该不会特别快的频率其实还是可用利用xxljob进行分片,先把账号密码放在数据库当中,按照分页的方式去获取账号密码单独一个微服务提供ip池子已分配的ip在池子中标记为锁定话说,即使放回去,下一个应用去使用,不也一样会被使用最好的办法是,用过的ip往后排,轮询,优先使用没用过的ip那么可以使用redis的zset,选择score小的,score小说明用的少每次使用让score,最后我们总是取score最小的那个即可提供一个策略,以网站域名为key,对应的发送策略为值,避免重复编写代码xxljob启动任务时,需要指定网站域名具体这个账号,是采用数字,还是字符,怎么查询这部分账号,由具体的策略来决定如果任务执行到一半停止了,怎么标记这个账号和名字已经试过,不行?其实可以记录下,当前这个主机,它的账号执行到哪一页,密码执行到哪一页然后我们新增数据库数据时总是按照自增id,或者时间自增,这样的排序那么就可以保证不会进行重复匹配了怎么标记这个主机呢?我们这里唯一的标识符,应该采用ip,ip才是唯一的,xxljob的分片序号感觉不靠谱我们查询分片时,首先要从数据库中查询,看上次是否有没做完的数据如果有,则采用数据库的分页数如果没有,则采用xxljob的分片数,然后再持久化到数据库账号和密码要进行全排列吗?如果要全排列,那么账号和域名,怎么进行分片?1-10的账号与1-10的密码给A匹配11-20的账号与11-20的密码给B匹配...这有个问题,1-10的账号没有与11-20的密码进行匹配过那么应该是,1-10的账号与所有密码进行对应,交给A11-20的账号与所有密码进行对应,交给B所以我们的分片其实是按照账号数进行分片的考虑到这个爆破运行时长会非常长,那么应该要保证好:长时间运行的稳定出意外宕机时,要记录一下已匹配过的页数这个其实可以通过:每执行完一页的账号密码,就去更新一次数据库这样再差再差,也就重复一页的数据还可以减少一页大小,避免出现过多的丢失应当是可以暂停的那么应该有一个保护性暂停模式是否可以考虑用futureTask,它里面是否有保护性暂停呢?提供一个接口,调用后暂停应当有一个页面,记录每个主机,现在执行到了哪一页,成功数多少,已尝试多少,主机的运行状态如何应该有一个库,去记录匹配成功的账号怎么样是匹配成功的响应?应该由策略决定应当保持精简,占用内存越少越好但是作为执行器项目,必定是需要一个springboot,无法避免了为了充分利用核心,应当支持多线程线程数:使用核心数,作为线程池。默认forkjoinPool就是这样的设置分片问题:使用多线程之后,数据分片该怎么做?可以这样,一次获取100条数据然后每个线程去分配这100条数据,每个线程单独获取一个ip只读,不会涉及到线程安全问题,可见性可以用volatile解决等所有子线程执行完毕后,再获取下一次的数据请求响应的记录不应该所有响应都记录但是应该记录一定数量的日志可以预见的是,请求的响应应当是重复,且类似的。那么针对单个网站,我们其实可以对响应进行去重,具体的日志只记录响应的id由于数据量较大,可以在本地做一层缓存,定时同步,找不到该响应,再向数据库发起请求可以参考现有开源分布式爬虫进行改造结尾没了
2024-03-19 09:06 · 我tm / 我tm偏不信 / java
[文章] ios 阳光沙滩客户端挖坑
摸鱼摸鱼找个时间再继续写消息中心看心情继续写总结今年的小目标,就是搞这个
2022-01-04 17:46 · ios / swift / 阳光沙滩客户端
[文章] 好久没有水文章了,今天水一篇前端的,主要是思路吧。
parentItem.id){console.log("updatehasChildren");parentItem.hasChildren=false;}})}效果okay,今天就到这里以
2022-09-27 23:51 · js / 前端 / 开发 / 技巧 / 思想
[问答] 喜马拉雅第二集中的集成SDK里遇到的问题
今天在学做喜马拉雅时,集成SDK那里,我添加完依赖后,在真机运行了一下,可以跑起来,但日志那里出现这个问题然后我没有管,继续就添加权限,反正就是继续按照视频做下去,然后写完请求获取分类那里,再运行,然后日志那里并没有打出请求的数据
2020-06-01 14:20 · Android / 喜马拉雅
[文章] 一篇文章,如何用adb根据包名知道是哪个apk
背景我遇到什么问题呢?客户说,这个版本一开机,就白屏。解决思路编译一个debug版本,或者直接刷一个debug的boot,然后adb连接上去,白屏的时候,获取到顶部的activityadbshelldumpsysactivity|grepmFocusedActivity现在知道是谁在搞鬼了,但是我不知道是哪个APK呀怎么办呢?通过adb查看应用信息adbshellpmdump包名>app.info我输出到一个文件里然后搜索.apk这样子,我就知道是哪个APK的问题了。找到对应的人骂一顿,然后把这些内容发群里,at他们的老板,然后去掉这个应用,编译打包出版本。打完收工。
2022-11-15 16:38 · android开发 / 解bug / 问题 / issues / 安卓
[文章] 阳光沙滩Android版本无法显示网站表情包的bug
直接打开build.gradle进行对比,发现增加了一行这个:shrinkResourcestrue//开启资源压缩注释,继续,正常显示。打开混淆,继续,正常显示。
2022-12-05 11:02 · 阳光沙滩APP / Android / bug / 表情
2022-11-29 22:39 · 评估工时 / 日常 / 工时 / 开发 / 安卓
[问答] 想学Android逆向,求指教

目前基础入门水平:去广告,vip权限这些简单的东西

继续深入学习,但是找不到资料,不知道该怎么精进,有过来人可以指点一下吗?

2023-04-26 16:52 · Android逆向
[文章] @FeignClient扫描不到?Nuxt.js多环境配置值读取不了?
一篇文章吧,好久没写东西了。@FeignClient扫描不到?通常来说,我们要把公用的内容抽取到基模块中。比如说用户信息获取,我们可以抽取到Base模块,或者Common模块中。
2022-10-29 12:41 · 水文章 / nuxt.js / 后台 / 前端 / 前后端分离
[文章] 快速排序--学习
先从(0,8)这个区间开始,判断左侧索引是否小于右侧索引,成立则继续执行让左边指针不停的向右移动,只要数字比参考值小,就继续向右移动,小于或者等于参考值则停下。
2020-08-16 20:39 · 快速排序 / 算法
[文章] 产品快速迭代Git分支管理方法
面临的问题我们的产品版本A已经发布上线了,现在我们继续开发版本B,今天产品经理过来告诉你版本A有一个十万火急的Bug。需要解决:1我们拿到A版本源码时如何去保存写道一半的B代码。
2020-03-28 10:57 · Git
[问答] 大专生,专业学的Android开发。今年上半年结束,学校让出来自主实习,公司会要大专么?很纠结
不想再继续上学了。准备自考下去。想干这方面的工作,看了看招聘信息,发现大部分都是要本科。
2020-05-23 12:19 · android
[文章] 个人学习MVP中的笔记部分(往后会继续完善更新)
天气预报项目--使用MVP(未完成)什么是MVP设计模式?whatisanMVPdesignpatten?这部分是在-->LINK看到的需要科学上网~MVP将应用程序分为三个基本组件Model:主要负责应用程序的数据部分View:负责在屏幕上显示有特定数据的布局视图Presenter:这是连接Model和View的桥梁,还有是通知UI更新的扮演者。MVP根据上述提及内容提出几个规则,如下View唯一的职责就是根据Presenter的通知去绘制UI,就是只听Presenter,其他都使唤不了他。View将所有的用户交互委托给Presenter,我个人理解是向Presenter请求数据View无法直接跟Model层进行通信Presenter负责将View的请求委托至Model,然后根据特定的事件动作通知View做出更新Model负责从服务器,数据库,文件系统中获取数据View层比如Fragment一般都是要实现用于通知UI更新的CallBack接口(MVPView)也就是implementxxx接口里写一个方法,参数一般都是写入我们要传的数据。目的是我们调用这个方法以致能够将数据给到VIEW实现UI的更新比如项目中的SelectAreaFragment在这里面我们要完成-initView加载View目的,就是要显示视图在屏幕上--如果要用到适配器的话,你应当创建适配器然后设置适配器-initPresenter加载presenter--很明显我们是MVP,若是没有presenter怎么获取数据,怎么去更新UI,是吧。所以这里我们需要写一个接口,里面是我们presenter需要实现的几个方法,其中方法有获取数据的注册通知UI更新的接口注销通知UI的接口()然后实现类去实现这个接口,然后怎么获取数据的就看实际情况去写了。就比如我这里是使用retrofit获取数据,获取到数据后,我们就使用通知UI更新的那个接口实现将数据传到UI层。这个接口在我们加载presenter的时候就需要注册一下,就是调用registerCallBack。在这之前,需要我们在这个fragment去实现通知UI更新的接口了。这一实现,数据就从这个方法回来了,我们根据这个方法传来的数据打印,就能够看出数据了。-loadData加载数据就是根据我们的presenter去获取数据--这里我们就调用实现类的方法,因为我们presenter中实现类方法就是去获取数据的嘛。方法中又根据我们写的通知UI更新的接口,将数据从这个接口拿到UI去。不管怎么样,我们需要调用这个方法去获取数据。将调用这个方法的代码注释掉,你会发现,adapter中获取的数据就是0了。拙劣的UI设计,其中一部分原因是我个人想熟悉和复习一下这个MVP具体怎么实现。githubdemo代码github上的demoCode
2020-03-10 18:02 · android / MVP
[问答] 如何实现app的管控?
就是我写的一个软件,如何实现:我想停止服务,软件就用不了了;我开放服务又可以继续使用
2021-03-31 10:18 · Android
[分享] 带你全面分析vue-router源码(万字长文)
这篇就继续上次的话题,深入分析vue-router源码中对导航守卫、动态参数匹配、过渡效果和异步组件等的实现
2020-02-15 15:33 · vue / 前端 / 路由 / 源码
[文章] Jenkins自动化构建(1)安装与启动
/var/jenkins_home'在这个data目录下cat/home/docker/jenkins/data/secrets/initialAdminPassword就能得到密码进入之后创建账户,继续
2021-02-07 14:27 · Jenkins / 自动化部署 / cicd / 断点 / 运维
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 8