- 博客(133)
- 收藏
- 关注
转载 Android Dagger2.0 学习一下
0.前言 个人感觉通过项目学习一些牛逼的框架,效果挺不错的。 1.个人理解 一直觉得Dagger2比较高大上,网上看了很多资料,很多,没有感觉。 然后怀疑智商问题,然后放弃了。 最后因为要做一个项目,不得不碰Dagger2了,然后好像理解了挺多。 最重要的一点就是@Inject,可以使一个对象变得有意义。 ...
2018-09-12 11:41:00 237
转载 Android零碎知识点
1.android:foreground="?attr/selectableItemBackground" ###设置水波纹效果2.android:contentDescription="" ### ImageView有时会加这个属性,对视力有障碍的人增加朗读音效3.app:elevation="1dp" ...
2018-09-10 16:20:00 383
转载 windows7 服务中上找不到mysql
问题:之前在Windows7明明安装过mysql的,现在想要确在服务中寻找不到mysql相关的服务了。解决方案: 第一步: 在cmd窗口中输入==> mysqld --stall 第二步: 继续输入==>net start mysql 最后输入mysql,启动成功!转载于:ht...
2018-07-18 22:23:00 631
转载 AIDL 进程间通信的一个小小的总结
需求 项目需要,将做好的项目作为一个服务提供给另一个公司。我们需要提供一个apk,所以设计到进程间交互,不得不了解一下AIDL了。了解一下AIDL 之前准备面试的时候,或多或少的了解了一点AIDL,不过现在忘记得差不多了。 所以网上随便找了几篇不错的文章。 1.进程通信之AIDL的使用。 2.学习AIDL,这一篇就够了。...
2018-06-22 17:35:00 178
转载 AS 3.1 多library合并打包成aar的正确方式(fat-aar)
前言 主要参考fat-aar来合并打包。 但是这个fat-aar很久没维护了,如果直接使用它会有很多问题。由于对gradle脚本也不是太熟,就只能顺着它的意思,将gradle降级成2.2.3的版本。 一开始我本地有2.3.3,可以打包,但是打包出来的aar找不到R资源,还有一些Class根本没有被打包进去。后面我将gradle降级成2.2.3,一切正常了。...
2018-06-17 11:39:00 652
转载 Alexander的Python机器学习 之目录分析。
无聊,顺应一下潮流,学习一下python机器学习吧。买了一本书,首先分析一下目录吧。1.第一章是 Python机器学习的生态系统。 1.1.数据科学或机器学习的工作流程。 然后又分成6点进行详细说明:获取,检查和探索,清理和准备,建模,评估,部署。 1.2.讲解了Python库和相应的功能。 这里也分成5个点进行详细说明:获取,检查,准...
2018-06-07 22:17:00 141
转载 AS 3.1 项目打包成jar或aar
1.首先明白一个道理。 Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已。 只不过在AS3.1以前是放到build/intermediates/bundles文件夹里面。 然而现在换成了build\intermediates/packaged-...
2018-06-07 15:27:00 150
转载 WebRTC中Android Demo中的远程视频流的获取到传输
1.CallActivity#onCreate 执行startCall开始连接或创建房间 2.WebSocketClient#connectToRoom 请求一次服务器 3.回调到CallActivity#onConnectToRoom 开始创建对等连接,同时将视频采集对象,本地和远程的VideoSink,相关参数传入 local...
2018-06-01 13:33:00 922
转载 WebRTC中Android Demo中的摄像头从采集到预览流程
APPRTC-Demo调用流程 1.CallActivity#onCreate 执行startCall开始连接或创建房间 2.WebSocketClient#connectToRoom 请求一次服务器 3.回调到CallActivity#onConnectToRoom 开始创建对等连接,同时将视频采集对象,本地和远程的VideoSink,相关参数传入...
2018-06-01 11:25:00 975
转载 从Github开源项目《云阅》所学到的知识
感谢开源,感谢大神,才让我们这些菜鸟成长!附上云阅开源项目地址:点我吧。1.轮播图的实现。 现在的APP基本都会实现这个功能吧,然后一直都找不到好的第三方库,能够满足各种需求。然而碰到了这个开源库...gradle配置: implementation 'com.youth.banner:banner:1.4.9'github地址: https:/...
2018-04-30 11:25:00 209
转载 Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用?res文件夹或者assets文件夹res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResources().getString(R.string...)assets目录中的文件必须使用文件名方式,getResources().getAssets().open("tes...
2018-03-15 16:09:00 106
转载 Android面试收集录 OpenGL ES
1.如何用OpenGL ES绘制一个三角形?编写一个类实现Renderer接口,实现onDrawFrame方法,onSurfaceChanged方法,onSurfaceCreated方法编写一个类Triangle类,定义定点坐标,装载所有顶点坐标,调用GL10的一个glDrawArrays方法来绘制三角形最后在重写的onDrawFrame方法中调用triangle....
2018-03-15 15:13:00 232
转载 Android面试收集录 2D绘图与动画技术
1.如何在Android应用程序的窗口上绘制图形?继承View实现View中的onDraw()方法2.如何绘制圆,空心椭圆?canvas.drawArc或canvas.drawCircle方法 绘制圆canvas.drawArc(矩形对象,0,360,true,paint);3.绘制位图的两种方法?法1:canvas.dr...
2018-03-12 18:12:00 104
转载 Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面?Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910"));startActivity(intent);添加权限:<uses-permission android:name="android.permission.CALL_PHONE">...
2018-03-12 17:26:00 181
转载 Android面试收集录 蓝牙与WiFi
1.打开手机中的蓝牙功能有哪些方法?法1:使用Intent ==>new Intent(BluetoothAdaper.ACTION_REQUEST_ENABLE); startActivityForResult(intent,1);法2:使用BluetoothAdapter ==>BluetoothAdapter.getDefaultAdapter()....
2018-03-12 16:27:00 1108
转载 Android面试收集录 网络与加密
1.创建Socket对象需要至少指定哪些信息?IP(或域名)和端口号Socket socket=new Socket("www.baidu.com",80);2.如何使用Socket连接服务器?建立一个Socket对象:Socket socket=new Socket("192.168.17.100",8080);OutputStream os...
2018-03-12 16:11:00 207
转载 Android面试收集录 数据库
1.SQLite数据库如何查询表table1的第20条到30条记录?select * from table1 limit 19,11 ==>从19开始,11个数据2.如何才能将table1表的表结构和数据复制到表table2上?create table table2 as select * from table1;3.如何获取最...
2018-03-11 23:16:00 161
转载 Android面试收集录 文件存储
1.请描述Android SDK支持哪些文件存储技术?使用SharePreferences保存key-value类型的数据流文件存储(openFileOutput+openFileInput或FileInputStream+FileOutputStream)XML半结构化存储Json保存数组核对象数据库保存结构化数据2.如何使用SharePre...
2018-03-11 20:09:00 123
转载 Android面试收集录 对话框、信息提示和菜单
1.如何使用AlertDialog显示一个列表?使用AlertDialog.Builder.setItems方法。在setItems中定义DialogInterface.OnClickListener监听器2.如何使用AlertDialog实现单选按钮?定义一个字符串数组,用来填充选项new一个AlertDialog.Builder对象se...
2018-03-11 17:35:00 125
转载 Android面试收集录 Android组件
1.请说出Android SDK支持哪些方式显示富文本信息?使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口使用WebView组件显示HTML页面自定义View,覆盖onDraw方法,可以直接绘制富文本TextView组件显示图像还可以使用ImageSpan对象2.TextView组件如何显示图像?...
2018-03-09 11:39:00 114
转载 Android面试收集录 Android布局
1.请说出Android中的五种布局,并介绍作用?FrameLayout(堆栈布局),层叠方式显示,类似于PhotoShop上的层叠图层。LinearLayout(线性布局),将视图以水平或者垂直方式显示。RelativeLayout(相对布局),通过确定两个视图的相对位置进行布局。TableLayout(表格布局),将视图以表格的形式排列。AbsoluteLay...
2018-03-09 10:57:00 123
转载 Android面试收集录 Android入门
1.Android的特点有哪些?编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的支持4大组件Android内置了WebKit核心的浏览器,支持H52D和3D绘图丰富支持轻量级的SQLite数据库支持众多的硬件传感器开源集成Android Studio开发环境2.MVC模式的原理?...
2018-03-09 10:00:00 130
转载 Android面试收集录18 Android Context详解
Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Andr...
2018-02-24 14:27:00 125
转载 Android面试收集录17 Android进程优先级
在安卓系统中:当系统内存不足时,Android系统将根据进程的优先级选择杀死一些不太重要的进程,优先级低的先杀死。进程优先级从高到低如下。前台进程处于正在与用户交互的activity与前台activity绑定的service调用了startForeground()方法的service正在执行oncreate(),onstart(),ondestroy方...
2018-02-23 18:09:00 185
转载 Android面试收集录16 Android动画总结
一、Android 动画分类总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画;传统动画又包括 帧动画(Frame Animation)和补间动画(Tweened Animation)。二、传统动画帧动画帧动画是最容易实现的一种动画,这种动画更多的依赖于完善的UI资源,他的原理就是将一张张单独的图片连贯的进行...
2018-02-23 17:10:00 125
转载 Android面试收集录15 Android Bitmap压缩策略
一、为什么Bitmap需要高效加载?现在的高清大图,动辄就要好几M,而Android对单个应用所施加的内存限制,只有小几十M,如16M,这导致加载Bitmap的时候很容易出现内存溢出。如下异常信息,便是在开发中经常需要的:java.lang.OutofMemoryError:bitmap size exceeds VM budget为了解决这个问题,就出现了Bi...
2018-02-23 10:32:00 137
转载 Android面试收集录14 Android进程间通信方式
一、使用 IntentActivity,Service,Receiver 都支持在 Intent 中传递 Bundle 数据,而 Bundle 实现了 Parcelable 接口,可以在不同的进程间进行传输。在一个进程中启动了另一个进程的 Activity,Service 和 Receiver ,可以在 Bundle 中附加要传递的数据通过 Intent 发送出去...
2018-02-23 09:49:00 246
转载 Android面试收集录13 Android虚拟机及编译过程
一、什么是Dalvik虚拟机Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁、节省资源的...
2018-02-22 17:13:00 199
转载 Android面试收集录12 View测量、布局及绘制原理
一、View绘制的流程框架View的绘制是从上往下一层层迭代下来的。DecorView-->ViewGroup(--->ViewGroup)-->View ,按照这个流程从上往下,依次measure(测量),layout(布局),draw(绘制)。二、Measure流程顾名思义,就是测量每个控件的大小。调用measure(...
2018-02-21 09:20:00 301
转载 Android面试收集录11 Window+Activity+DecorView+ViewRoot之间的关系
一、职能简介ActivityActivity并不负责视图控制,它只是控制生命周期和处理事件。真正控制视图的是Window。一个Activity包含了一个Window,Window才是真正代表一个窗口。Activity就像一个控制器,统筹视图的添加与显示,以及通过其他回调方法,来与Window、以及View进行交互。WindowWindow是视图的承载器,...
2018-02-20 18:59:00 440
转载 Android面试收集录10 LruCache原理解析
一、Android中的缓存策略一般来说,缓存策略主要包含缓存的添加、获取和删除这三类操作。如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓存,它们的缓存大小都是有限的。当缓存满了之后,再想其添加缓存,这个时候就需要删除一些旧的缓存并添加新的缓存。因此LRU(Least Recently Used)缓存算法便应运而生,LRU是近期最...
2018-02-20 10:23:00 130
转载 Android面试收集录9 IntentService详解
一、 定义IntentService是Android里面的一个封装类,继承自四大组件之一的Service。二、作用处理异步请求,实现多线程三、 工作流程注意:若启动IntentService 多次,那么每个耗时操作则以队列的方式在 IntentService的onHandleIntent回调方法中依次执行,执行完自动结束。四...
2018-02-19 11:47:00 117
转载 Android面试收集录8 HandlerThread详解
1.前言我们知道在Android系统中,我们执行完耗时操作都要另外开启子线程来执行,执行完线程以后线程会自动销毁。想象一下如果我们在项目中经常要执行耗时操作,如果经常要开启线程,接着又销毁线程,这无疑是很消耗性能的?那有什么解决方法呢?使用线程池使用HandlerThread本篇文章主要讲解一下问题HandlerThread的使用...
2018-02-19 10:47:00 157
转载 Android面试收集录7 AsyncTask详解
1.Android中的线程在操作系统中,线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,即线程不可能无限制地产生,并且 **线程的创建和销毁都会有相应的开销。**当系统中存在大量的线程时,系统会通过会时间片轮转的方式调度每个线程,因此线程不可能做到绝对的并行。如果在一个进程中频繁地创建和销毁线程,显然不是高效的做法。正确的做法是采用...
2018-02-18 14:05:00 127
转载 Android面试收集录6 事件分发机制
转自:秋招面试宝典。一、 基础认知1.1 事件分发的对象是谁?答:事件当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件)。Touch事件相关细节(发生触摸的位置、时间、历史记录、手势动作等)被封装成MotionEvent对象主要发生的Touch事件有如下四种:MotionEvent.ACTI...
2018-02-16 18:28:00 501
转载 Android 面试收集录5 消息机制
1.消息机制概述1.1.消息机制的简介 在Android中使用消息机制,我们首先想到的就是Handler。 没错,Handler是Android消息机制的上层接口。 Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。 通常情况下,Handler的使用场景就是更新UI。 如下就是使用消息机...
2018-02-13 16:01:00 161
转载 Android面试收集录4 Fragment详解
1.什么是Fragment? 你可以简单的理解为,Fragment是显示在Activity中的Activity。 它可以显示在Activity中,然后它也可以显示出一些内容。 因为它拥有自己的生命周期,可以接受处理用户的事件 并且你可以在一个Activity中动态的添加,替换,移除不同的Fragment, 因此对于信息的展示具有很大的便利性。...
2018-02-12 16:24:00 133
转载 Android面试收集录3 ContentProvider详解
1.ContentProvider简单介绍1.1.定义 ContentProvider,即内容提供者属于Android的四大组件之一。1.2.作用 进程间进行数据交互&共享,即跨进程通信。 1.3.原理 ContentProvider的底层是采用Android中的Binder机制。...
2018-02-11 15:31:00 147
转载 Android面试收集录2 Broadcast Receiver详解
1.Broadcast Receiver广播接收器简单介绍1.1.定义Broadcast Receiver(广播接收器),属于Android四大组件之一在Android开发中,Broadcast Receiver的应用场景非常多。广播,是一个全局的监听器,属于Android四大组件。 Android 广播分为两个角色:广播发...
2018-02-10 19:23:00 134
转载 Android面试收集录1 Activity+Service
1.Activity的生命周期1.1.首先查看一下Activity生命周期经典图片。 在正常情况下,一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory()。 包含了六个部分,还...
2018-02-09 19:26:00 163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人