我的安卓
wsyizmao
这个作者很懒,什么都没留下…
展开
-
浅谈安卓框架mvp
最近这几天面试遇到这个问题,所以认真研究了两天,在这里说下自己见解,若有问题,欢迎大家指出讨论。mvp框架是mvc框架的进阶,在mvc框架中:m,也就是model,代表数据获取和操作层,譬如读取数据库,读取网络都是在这一层实现。v,是View,也就是用户可视层,在这里指的是安卓中的xml布局文件。c,控制器Controller,在mvc框架中,它代表的是activity,响应用户数据,将请求发给m层原创 2017-11-07 17:00:36 · 318 阅读 · 0 评论 -
Aidl 实战解析,进程间通信
众所周知,AIDL是进程间通信很常用的一种通信方式,很多时候你总会觉得它非常复杂而又乱其实,你写一个demo你就懂了而且最好的理解方式也是你自己亲手写一个demo!下面我们通过一个最简单的demo来所说AIDL到底是怎么使用的第一步 创建一个你要在进程间传递的数据类型,并且让这个数据类型implement安卓的两种序列化方式之一,Serializable或者Parcelable!否则,你的这个数据原创 2018-01-19 15:46:38 · 546 阅读 · 0 评论 -
或许组件屏幕中的位置
View 提供了如下 5 种方法获取 View 的坐标:1. View.getTop()、View.getLeft()、View.getBottom()、View.getRight();2. View.getX()、View.getY();3. View.getTranslationX()、View.getTranslationY();4. View.getLocationOnSc原创 2018-02-02 16:42:51 · 311 阅读 · 0 评论 -
第二章 ipc通信
ipc,便是inter process communication(进程间通信)创建一个新的进程在安卓中只有两种方法,一种是四大组件在AndroidMenifest中间加入process参数,创建一个新的进程,而另一种便是通过c语言底层fook一个进程的。对于新的进程,可以理解为一个新的独立的应用,因为每次在你创建一个新的进程的时候,对于底层实际上是系统又给应用分配一个新的jvm(java原创 2018-01-24 11:20:01 · 220 阅读 · 0 评论 -
socket 实例解说
计算机网络分为五层:物理层,数据链路层,网络层,运输层,应用层其中,网络层:负责根据ip涨到目的地址的主机运输层:通过端口吧数据传到目的主机的目的进程,实现进程与进程间的通信socket可以使用的端口号:1024~65535采用c/s结构,即客户端和服务器结构TCP协议定义:Transmission Control Protoco转载 2018-01-23 17:16:07 · 377 阅读 · 0 评论 -
Messenger 双向通讯实例
首先,先上一个messenger的工作原理图从图片可以看出,messenger的通讯是这样的1,在服务端,我们要构造一个messenger用来接收信息,而这个messenger发送消息的方向是固定的,只能从client发送到service端2,在客户端,我们要想接收到客户端会传过来的消息,同样也要构造一个messenger来接收消息下面来看实例,首先是服务端的代原创 2018-01-22 12:10:19 · 960 阅读 · 0 评论 -
android IPC笔记
IPC 全程是inter-process-communication 即,进程间通信或者跨进程通信线程,是cpu最小调度单位,只一种系统资源 进程,一般值一个执行单元 进程可以包含多个线程 一个系统可以只有一个进程,比如安卓的主进程每个进程都可以申请一块自己的内存空间 一个软件可以通过多进程,来申请多块内存空间,提高软件的总内存空间android四大组件,通过指定process可以开启新的进原创 2017-12-12 15:35:49 · 216 阅读 · 0 评论 -
自定义view2——创建你自己的组件自定义属性
在上一篇文章我已经说过如何制作一个最简单的自定义组件 这一篇,接着上一篇,再深一些些,比如,如何给你的自定义组件添加一些自定义属性,自定义属性举个例子,我们在xml创建一个imageview的时候,我们可以在xml里面填入图片资源id,如下图:<ImageView android:id="@+id/testsimple" android:src="@dr原创 2017-11-15 10:13:42 · 904 阅读 · 0 评论 -
android 一些小知识
1,如何自定义一个toastpublic static void showToast(Context context){ LayoutInflater inflater = LayoutInflater.from(context); View toastView = inflater.inflate(R.layout.toast_test_custome, null); To原创 2017-11-20 09:36:39 · 191 阅读 · 0 评论 -
分享一个超好用的圆形imageview自定义组件
近来无聊,写了一个圆形imageview组件这组件的优点在于可以自动屏幕适配压缩图片,极大节省占用内存,并且可以在xml中动态设置图片模糊程度,要让图片以多高清晰度显示由你决定效果如下:从上到下分别设置了清晰度1, 4, 8,可以看出他们直接清晰度有很大区别而从内存上来说:直接显示原图内存是:而用我的imageview压缩处理之后,内存是:好啦,吹了这么多,话不多说,下面贴上源代码首先,现在原创 2017-11-14 10:11:41 · 426 阅读 · 0 评论 -
如何获取一张特定大小的压缩图片
对于安卓开发来说,内存溢出(oom)是安卓程序员不可绕过的坎,特别是对于大图片来说,加载时候的大内存更是常常让人胆战心惊。很多安卓程序员都知道,避免图片加载大内存的最常用方法,那就是用BitmapFactory的options,设置这个options的inSampleSize来达到将图片按照实际显示大小去缩小自己图片,来达到减少内存。若是你去百度inSampleSize,那么你会看到最多的用法是这样原创 2017-11-13 18:28:27 · 434 阅读 · 0 评论 -
设置图片inSampleSize但是内存没变?或许你应该看看这个
对于安卓开发来说,内存溢出(oom)是安卓程序员不可绕过的坎,特别是对于大图片来说,加载时候的大内存更是常常让人胆战心惊。很多安卓程序员都知道,避免图片加载大内存的最常用方法,那就是用BitmapFactory的options,设置这个options的inSampleSize来达到将图片按照实际显示大小去缩小自己图片,来达到减少内存。若是你去百度inSampleSize,那么你会看到最多的用法是这样原创 2017-11-13 17:27:21 · 1369 阅读 · 1 评论 -
浅谈安卓自定义view(一):制作一个最最最简单的自定义view
对于安卓程序员来说,自定义view简直不要太重要,毕竟有很多功能,譬如圆形头像这些,用单纯的原生非常难以实现,而用自定义view,简直分分钟。在这里,我尝试用最简单方式跟初学者说一下如何自定义一个自己的view~首先,最简单最简单的自定义view,有多简单?简单到没有逻辑,没有任何自带属性,只是简单展示,譬如,我制作一个圆形图片。。。一共只需要两步,第一步,创建你的自定义类,让它继承View类,并重原创 2017-11-09 16:47:13 · 19461 阅读 · 15 评论 -
启动另外一个app时候报没有权限的错误:java.lang.SecurityException
今天在做一个功能,就是在我们自己的app启动另外一个app的某个activity本来以为这是一件非常容易的事情,毕竟启动另外一个activity发一个intent就可以了,网上一堆代码。类似这样的:Intent intent = new Intent();ComponentName cn = new ComponentName("com.example.a13199.testapplicatio...原创 2018-05-04 19:43:23 · 32956 阅读 · 1 评论