
Android
文章平均质量分 75
羊羊爱代码
代码也是一种品味
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
继续接上添加动画效果(类似360通话)
在360通话程序上还有一个功能就是来去点跳出来的windowmanager会以动画的效果显示。在网上寻找并看了很多帖子都没有,于是只有找源码发现有一个android自带资源android.R.style.Animation_Translucent可以基本满足以上要求,但是这是自带的,只能进行窗口平移,不能自由组合动画。在sdk里翻了半天找到了文件所在:SDK ---> platforms原创 2016-07-15 14:23:20 · 1059 阅读 · 0 评论 -
Android网络请求(HTTP)
整体思路从该博客中学习。这里我们只从HTTP协议请求网络数据时,学习相关东西。在HTTP请求时,在Android支持的两大类HttpURLConnection和HttpClient来请求HTTP数据,但是在Android6.0直接删除了HttpClient库。然而在使用HttpURLConnection中相对复杂,所以之后的第三方网络请求框架都是从这两个库中得来的。Androi转载 2017-03-10 10:10:52 · 306 阅读 · 0 评论 -
Volley(三)
Volley大致的功能已经基本学完了,现在我们来看看Volley内部源码实现过程。在很多讲解Volley的博客中都会有这样的中文或英文的图片,整个过程一共经历三个线程:主线程,缓存调度线程(CacheDispatcher)和网络调度线程(NetworkDispatcher)。主线程是手机此时app线程,缓存调度线程是在网络访问前在缓存中寻找,如果找到则从该cache中读取,网络调度线程是在原创 2017-03-20 23:35:55 · 236 阅读 · 0 评论 -
Volley(一)
首先,我使用的是AndroidStudio,用的依赖是:compile 'com.android.volley:volley:1.0.0'Eclipse开发可以到GitHub上下载,然后导入。https://github.com/google/volleyVolley是集请求,图片,文件下载于一身的框架,在面对数据量小,请求次数多时发挥功能强大,而面对大文件下载等大数据传输时则力不从心。原创 2017-03-10 14:19:22 · 405 阅读 · 0 评论 -
Volley(二)
通过之前,我们已经了解了Volley的基本用法,VolleyRequest、JsonXXXXRequest、ImageRequest。以上这些都是Volley给我们写好的用于字符串、json和图片的网络数据读取。而在面对自定义数据时,则需要我们自定义的 Request 的请求。因此,Volley给了我们一个抽象类 Request 类。让我们继承该类,重写内部方法来实现自定义的请求类,并添加至请原创 2017-03-11 21:56:39 · 238 阅读 · 0 评论 -
外部EditText与PopWindow的焦点问题
这是在项目中出现的问题并给予解决的一篇博客,曾经出现过解决了又忘了。再次出现也是措手不及,所以在此记录下来。首先是出现的问题吧。使用 EditText 和 PopWindow 的一个组合完成一次模糊查询功能,而问题就是在配置PopWindow的时候会出现焦点到底在哪里的问题,焦点碰撞以及输入框和显示PopWindow(ListView)的界面碰撞问题。直接面对重点(界面就不写了):都知道在原创 2017-03-31 17:08:24 · 1492 阅读 · 1 评论 -
Android蓝牙搜索三星手机找不到设备
我使用的是三星手机测试,在搜索蓝牙时发现搜索按钮后完全没有找到设备。所需要的是增加两个权限,就是一下两个:android:name="android.permission.ACCESS_FINE_LOCATION" />android:name="android.permission.ACCESS_COARSE_LOCATION" />转载至:http://blog.cs转载 2017-04-10 16:17:07 · 2629 阅读 · 0 评论 -
android蓝牙模块
在使用android蓝牙功能之前,首先需要在项目里添加权限去打开蓝牙访问功能.在添加权限后就可以使用蓝牙的相关功能啦。首先在功能使用前,需要确认的是该手机是否具有蓝牙功能?蓝牙是否开启?以及蓝牙的开启及其关闭?// 设备是否支持蓝牙public static boolean isBluetoothSupported() { return BluetoothAdapter.ge原创 2017-03-08 09:21:32 · 470 阅读 · 0 评论 -
xUtils2.x(ViewUtils)
虽然现在都以3.x为主,但是我还是希望能够从源码上学习xUtils的技术,可以从中学到更多的东西,所以先从2.x版本的xUtils入手,深度学习这款综合性框架。GitHub地址:https://github.com/wyouflf/xUtils ----- 这是xUtils2.x版本GitHub地址:https://github.com/wyouflf/xUtils3 ----- 这是xU原创 2017-03-24 09:53:00 · 424 阅读 · 0 评论 -
Android存储路径
获得存储卡路径都会用到这个方法:Environment.getExternalStorageDirectory()但有些手机的TF卡路径会读不到或者读错。下面提供一个较好的方法。三个方法都在StorageManager类中。在使用之前我们需要将其方法反射出来,因为这些方法对外是隐藏的。String[] getVolumePaths():返回全部的存储路径,包转载 2017-06-14 10:14:37 · 351 阅读 · 0 评论 -
蓝牙功能框架
之前一直在接触蓝牙的相关项目,寻找、连接,数据交互、安全退出。这几天弄了两个框架依赖(一个是单连,一个是多连),使用AndroidStudio开发可以直接使用加入项目依赖,就可以直接使用依赖提供的api进行简单的蓝牙功能开发了。这是GitHub上的地址:https://github.com/Yangandmore/BluetoothHandler(单连) https://github原创 2017-07-06 18:07:04 · 346 阅读 · 0 评论 -
AndroidStudio如何打JAR包
在使用androidstudio打JAR包之前,首先需要在自己的library项目中查看 build/intermediates/bundles/release/classes.jar 文件是否存在。确认之后就需要在需要打包的目录下找到他的build.gradle,并添加如下代码:task makeJar(type: Copy) { // 删除存在的 delet原创 2017-08-11 17:10:06 · 702 阅读 · 1 评论 -
Android系统中的进程管理
首先Android以Linux内核为基础,所以进程的管理都离不开Linux本身的机制。因此我们需要知道系统打开App的完整过程。1.app_process:一个可执行程序,是启动zygote和system_server进程的程序2.Zygote:所以应用程序的父进程,系统的重要进程3.ActivityManager:am(缩写)是辅助Android四大组件的管理,并且还掌握了所有应用程转载 2017-01-05 17:41:12 · 515 阅读 · 0 评论 -
关于Android世界观
最近翻博客发现了很多大神的博客,稍作整理保留下来。这是原博客路径:http://blog.youkuaiyun.com/apple_100/article/details/44080367关于Android程序员的世界观有以下组成:1.linux内核世界:系统硬件驱动相关的地方2.linux用户世界:相当于windows桌面的环境,只不过没有UI3.jni世界:打通2和4的中间桥梁转载 2017-01-05 17:20:04 · 277 阅读 · 0 评论 -
Android中activity任务亲和力问题
处理任务亲和力 亲和力表明了一个activity"心仪"哪个任务.默认下,属于同一个应用的所有activitie之间具有相同的任务亲和力.所以,默认下,一个应用的所有activitie首选属于同一任务.然而,你可以修改一个act原创 2016-07-27 18:11:08 · 965 阅读 · 0 评论 -
关于android邮件的收发
讲到android的邮件收发,首先就要讲讲关于邮件协议的一下基础,度娘基本都有,这里是怕自己忘记,贴点备忘录。现在常用的电子邮件协议有SMTP(25)、POP3(110)、IMAP4(143)。他们都处于TCP/IP协议簇,还包括他们的加密协议,SMTPS(465)、POPS(995)、IMAPS(993),他们的默认端口号都在后面的小括号里面了。其中的细节就不讲了,SMTP协议负责发送...原创 2016-08-08 09:23:37 · 2652 阅读 · 1 评论 -
关于android邮件的收发(第二弹)
前面说完发邮件,现在开始收邮件了。对不同的协议来进行不同的处理,POP3协议邮箱在服务器上只定义一个邮箱,所以需要自己完成删除,移动,标记等功能,而Imap则相反,大大降低了客户端代码量。1.Imap接收时只需要知道服务器,账户,密码就可以了,当然也可以设置端口号。public static Message[] getAllIMAPMail(String mailBoxType原创 2016-08-16 15:03:58 · 1650 阅读 · 0 评论 -
关于android电话监听显示(类似360通话)
自己琢磨了很久,也查了很多资料。首先我没有使用BroadcastReceiver,因为在使用广播监听来去点的时候手机会发送多次广播,所以接受并处理会非常麻烦与危险。虽然可以解决来电,但是去电的时候发现并没有相关api,因为android将其隐藏了,CallManager应该是这个类,虽然没有试过。但是在去电结束后又会被来电的监听器接受到挂断的信息,于是又是一个问题。所以我抛弃了Broa原创 2016-07-14 09:15:20 · 1034 阅读 · 0 评论 -
关于语言的前期绑定与后期绑定
绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。 前期绑定:在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。 后期绑定:在运行时根据具体对象的类型进行绑定。 在了解了三者的概念之后,很明显我们发现java属于后期绑定。在java中,几乎所有的方法都是后期绑定的,在运行时动态绑定方法属于子类还是基类。但是也有特殊,针对static方法和final原创 2016-08-06 21:13:51 · 514 阅读 · 0 评论 -
Android状态栏微技巧,带你真正理解沉浸式模式
转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/51763825、其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下转载 2016-08-23 09:50:37 · 232 阅读 · 0 评论 -
关于pulltorefreshListView快速滑动留白问题等部分小问题
相信用过PullToRefreshListView的同志们都会遇到很多奇奇怪怪的问题,项目打包异常、部分手机快速滑动留白问题。今天就发现并基本解决了问题,所以分享一下。首先是打包异常,会显示你的项目异常,但是在你clear之后又好了,在手机上运行飞快!!!报的错大概是PullToRefreshListView语言类异常,在此需要在项目中添加一段xml代码:原创 2016-11-10 15:07:57 · 1416 阅读 · 3 评论 -
android根据ListView内部Item最大长度来设置ListView的宽度
/** * 循环找到ListView最大宽度 */ private int getMaxWidth(ListView listView) { int maxWidth = 550; if (listView.getAdapter() == null) { return maxWidth; } int count = listView.getAdapter原创 2016-11-11 10:27:55 · 5032 阅读 · 0 评论 -
接上android来去电显示并增添自定义数据库(类似360通话)
好了,电话来去电的显示功能完成了,接下来就是对本地通讯录的数据抓取与同步的功能,在同步的方面我只做到了一半就是自定义数据库与本地数据库的同步,反向的则有些麻烦,还需要一段时间的研究。开始吧。在上文中有一个自定义类是UserInfo,把他当做我们自定义数据库的单个数据: // id private int _id; // 名字 private String name;原创 2016-07-14 09:33:37 · 1092 阅读 · 0 评论 -
Android自定义控件的刷新方法选择
转载地址:http://blog.youkuaiyun.com/liaoyi_/article/details/52447303关于自定义控件,大家肯定会遇到的,那么就设计到有时会让自己的控件进行一个刷新 改变当前的状态 控件的刷新有两种方法: invalidate(); requestLayou转载 2016-11-02 09:58:16 · 590 阅读 · 0 评论 -
关于在AlertDiaLog中的Edittext无法打开软键盘问题
//只用下面这一行弹出对话框时需要点击输入框才能弹出软键盘 alert_leaveMsg.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); //加上下面这一行弹出对话框时软键盘随之弹出 alert_leaveMsg.getWindow().setSoftInputMode(WindowMa转载 2016-11-15 10:44:04 · 401 阅读 · 0 评论 -
关于libxxx.so- text relocations
在 targetSdkVersion 中如果版本太高则会报出 libxxx.so- text relocations 的闪退异常。可以在 linux 下使用 readelf -a libxxxx.so | grep TEXTREL 查看so文件,可以看到如果出现text relocations 的问题的so文件则会显示 0x00000016(TEXTREL)的提示字段。表面需要重新编译这里的源码了...原创 2018-05-16 15:42:52 · 656 阅读 · 0 评论