剑指 Offer 02 - 10代码题解 这里写目录标题(1)剑指 Offer 02. 实现Singleton模式(2)剑指 Offer 03题一. 数组中重复的数字法一:把数组排序,再遍历即可法二:哈希表实现,使用HashSet和add方法,时间空间复杂度均为O(n)法三:优化法二空间复杂度到O(1),略(2)剑指 Offer 03题二. 不修改数组找出重复的数字法一:同上HashSet或者辅助数组实现,时间空间复杂度均为O(n)法二:基于二分查找思想实现,时间复杂度O(nlogn),空间复杂度O(1)(3)剑指 Offer 04.(4)剑指 O
剑指offer新年刷题(JAVA) 持续完善更新 一、序言今天(1月30日)开始春节放假了,一共八天假期,翻出了压箱的《剑指offer》带回了老家过年。一共68题,计划新年每天刷十题,尽量克服走亲戚和个人娱乐等干扰因素,假期结束前争取刷完吧。先写个开头,后续每天持续完善和记录刷题过程和个人题解,贵在坚持。刷的题目自己写的代码实现放在本文最下面的表格中,后续附上自己写的Java题解对应的链接。二、每日学习日志记录(记录刷题过程及思路等)(1)1月30日日记面试题1:赋值运算符函数,C++相关的,略。面试题2:实现Singleton模式,就是手
后续学习计划(持续完善) 根据最近发现的不足,列出后续一个月的学习计划(1)看完MVVM,共46集视频教程,总结复习,整理知识点(2)Kotlin开始学习(3)rxjava使用(4)okhttp源码及使用(5)glide源码(6)eventBus源码(7)sqlite一些掌握的内容再细看(8)View相关(9)(10)(11)(12)(13)剑指offer每日刷两题课程学习,提高业务能力...
Android Studio中导出数据库文件的方法总结 在AS中:连接上ADB,然后点击上图AS中的Device File Explorer选择自己项目的数据文件拷贝路径然后adb rootadb remountadb pull 路径 本地目录就成功拷贝数据文件到指定的本地目录,然后用SQLite打开即可。...
点击应用启动时白屏问题(冷启动白屏问题总结) 开发项目过程中测试报了一个BUG:深色模式下,进入应用界面过程中会闪浅色背景一次,也就是闪白问题。相关知识可以参考:Android应用启动白屏问题解决办法谷歌设计App启动的时候有一个预览的界面,在应用完成启动初始化之前都会显示这个预览界面,目的是为了让用户点击APP图标的时候有一个瞬间响应的交互体验。一开始的解决方法是:在Application的theme主题里加了一个:<item name="android:windowIsTranslucent">true</item>
ViewPager项目使用小节(待完善) 项目中使用语音控制指令,实现ViewPager跳转界面。方法如下:mViewPager.setCurrentItem(position);对条目进行点击监听的时候把对应的下标传到新的Activity或者fragment(intent,BroadcastReceiver,EventBus都可以传)注意:setCurrentItem()方法要设置在设置设配器之后,否则无效果...
Android中设置控件透明度的方法 这里写目录标题一、Java中setAlpha设置二、在shape里面,背景的透明度与颜色都在solid关键字里面。三、透明度数值表二级目录三级目录一、Java中setAlpha设置View v = findViewById(R.id.content);v.getBackground().setAlpha(100);说明: 0~255透明度值,0表示完全透明,255表示完全不透明。具体见下面的透明度数值表 二、在shape里面,背景的透明度与颜色都在solid关键字里面。如下图,1A即透明度1
git提交项目至Gerrit的常用的几条指令 首次提交:git statusgit add .git commit -m “XXX”git push origin HEAD:refs/for/master提交完成,待入库代码还没入,再次提交:git add XXX(新增的更改)git commit --amend:wqgit push origin HEAD:refs/for/master提交完成,待入库...
使用MediaPlayer播放USB中读取到的MP3音乐文件,遇到java.io.FileNotFoundException异常总结 项目背景:多媒体USB音乐,底层调用MediaPlayer来播放U盘中读取的歌曲,由于最初版本将一首MP3歌曲甜蜜蜜写到了AS的raw目录,直接本地播放,做了一首假数据:即: //临时代码,写死歌曲甜蜜蜜,点击后会播放甜蜜蜜// mMediaPlayer.setDataSource(AudioHelper.getContext(),// Uri.parse("android.resource://"+AudioHel
Android应用双开供系统在主副屏展示使用总结及问题总结 项目中用到了双屏,需要我们做跳转处理。总结了一下:Demo代码总结与问题总结一、新建三个module二、library modles(即app包)中Gradle Scripts中把原本的application改成library。三、在新建的modules(leftapp和rightapp中实现跳转app主界面的逻辑),以leftapp为例。遇到的问题:无法获取到跳转的主界面类四、出现的问题:**Resource IDs cannot be used in a switch statement in An
Activity工具类 项目中有一个需求,当接收到语音的关闭应用广播时,需要关闭我们的应用。即受到广播后遍历所有当前打开的Activity,将它们都杀掉。解决思路就是每个Activity的oncreate方法中将该Activity加入一个栈,onDestroy方法中将该Activity移出栈,当最后受到关闭应用广播时遍历栈,将栈中的每一个Activity杀掉。对于上面的操作,整理了一个Activity相关的工具类,以后可以直接COPY使用:import android.app.Activity;import java
SharedPreference工具类代码 项目中用到了SharedPreference,封装了一个工具类,直接贴代码:public class SPUtils { /** * 保存在手机里的SP文件名 */ public static final String FILE_NAME = "my_sp"; /** * 保存数据 */ public static void put(Context context, String key, Object obj) {
Android获取Wifi信号强度方法总结 直接封装了一个工具类,获取WIFI信号强度直接调用该工具类的getCurrentNetworkRssi方法即可。public class WifiUtils { // 获取当前热点最新的信号强度 public static String getCurrentNetworkRssi(Context mContext) { WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI
EventBus基本使用学习笔记(附demo) 一、EventBus简介:EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递,这里的事件可以理解为消息。事件传递既可以用于Android四大组件间通讯,也可以用于异步线程和主线程间通讯等。传统的事件传递方式包括:Handler、BroadcastReceiver、Interface回调,相比之下EventBus的有点是代码简洁,使用简单,并将事件发布和订阅充分解耦。二、概念:(1)事件Event:又可称为消息,其实就是一个对象,可以是网络请
PickerDialogFragment(使用了GitHub上一个第三方WheelView滚动选项条) PickerDialogFragment一、需求UI图二、代码设计步骤三、源码这边引入了GitHub上的第三方控件。除了第五步的点击事件源码需要根据实际情况再进行修改,其余的代码均已调通,在后面的项目中可直接复用。一、需求UI图以前的UI图找不到了,直接手绘了一个UI图如下。可知这个弹窗中,包含一个标题TextView,一个关闭按钮ImageView,两个Button表示确定和取消,中间还需要一个可以拖动的选项条,这边使用了GitHub上一个第三方WheelView。第三方WheelView的使
RadioButtonDialogFragment(包含RecyclerView)使用总结 RadioButtonDialogFragment一、需求UI图二、代码设计步骤三、源码注:使用到了RecyclerView,声明了其对应的list_item.xml和对应的适配器。使用到了枚举类作为数据。除了最后一部分的点击事件的代码需要根据实际需求再进行修改,其余部分的代码都已调通,可直接复用。一、需求UI图直接拍了下自己手绘的UI需求图,如下所示。包含一个关闭的按钮,RecyclerView点击选择项,选择项中被选中项显示出一个表示被选中的图片,其余未选的项中该图片隐藏。二、代码设计步
AlertDialogFragment使用总结 AlertDialogFragment一、需求UI图二、代码设计步骤三、源码一、需求UI图画了下大致的效果图如下图所示,只是一个简单的提醒弹窗,包含一个TextView和两个可点击的Button按钮,用于取消或确认。二、代码设计步骤该弹窗的设计及使用分为五个步骤:(1)一个drawable:dialog_background.xml设计,作为(2)中使用的背景,包含:shapecorners:radiussolid:color等属性设置。(2)一个layout.xml:alert_
总结项目中设计的几种弹窗(目录) 本文总结了以往项目中设计的几种弹窗使用,作为目录篇。弹窗使用一、51项目(1)AlertDialogFragment(2)RadioButtonDialogFragment(3)PickerDialogFrgament二、fc项目音乐模块一、51项目在此项目中根据需求设计了三种不同的弹窗,总结如下:(1)AlertDialogFragmentAlertDialogFragment使用总结(2)RadioButtonDialogFragmentRadioButtonDialogFragment(