Android学习
文章平均质量分 85
xuewater
这个作者很懒,什么都没留下…
展开
-
Android-Activity Task 与 Intent Filter Flag
接触 Android 以来,一直觉得对 task、affinity 和 launch mode 一知半解,这几天潜心阅读 Dev Guide 中的 Activities and Tasks,简单做下笔记,梳理下这部分的知识。Android 的一个特色就是 application A 的 activity 可以启动 application B 的 activity,尽管 A 和 B 是毫无干转载 2013-11-19 17:02:22 · 860 阅读 · 0 评论 -
Android开发实战--高级篇总结
1、使用HttpURLConnection Response Cache缓存 在Android 4.0里面为HttpURLConnection添加了一个响应缓存(response cache ),你可以通过反射机制使用HTTP response caching ,当然前提是你的设备支持android4.0,请看下面的例子: private void enableHttpResponseC原创 2014-12-11 16:53:18 · 770 阅读 · 0 评论 -
Android中的图片处理(包括缓存、大小、优化等)
加载一副位图到你的用户界面是很简单的,然而如果你需要马上加载一组更大的图片的话就会复杂的多.在许多情况下(例如有些组件像ListView,GridView以及ViewPager等),出现在屏幕上的图片总量,其中包括可能马上要滚动显示在屏幕上的那些图片,实际上是无限的. 那些通过回收即将移除屏幕的子视图的组件,内存使用得以保留.如果你不长期保持你对象的引用的话,垃圾收集器也会释放你所加载的位图内原创 2014-12-11 19:17:27 · 3138 阅读 · 0 评论 -
Android应用程序的debug属性
一、Manifest文件设置debug属性 在开发Android应用程序时,我们可以在AndroidManifest.xml中设置其debug属性, application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:the原创 2015-01-18 17:52:42 · 8259 阅读 · 0 评论 -
LocalBroadcastManager的使用
今天无意中看到了android中的LocalBroadcastManager,就google了一下,从名字看就是一个本地广播管理工具类,必然跟广播脱不开关系了,因此下面简单整理一下它的使用方法。 在说LocalBroadcastManger之前,先说一下广播(BroadcastReceiver)的安全性问题: BroadcastReceiver设计的初衷是从全局考虑可以方便应用程序和系统、应用原创 2015-02-25 16:31:54 · 1713 阅读 · 0 评论 -
ViewPager无限循环
最近项目中用到了无限循环,也就是从第一个向左滑可以滑到最后一个,从最后一个右滑可以滑到第一个,整理了一下资料,大概就是两种情况。 ViewPager的原理 首先说明一下ViewPager的工作机制,严格意义上就是PagerAdapter的执行顺序。 PagerAdapter作为ViewPager的适配器,无论ViewPager有多少页,PagerAdapter在初始化时也只初始化开始的2个V原创 2015-03-17 15:05:22 · 4754 阅读 · 1 评论 -
Android中的Webview加载URL支持其他协议Protocols
关于URL Scheme的基本原理,这里不多说了,简单介绍一下使用到的scheme参数格式,比如启动天猫客户端的url scheme格式: tmall://tmallclient/?{"action":”item:id=xxxxx”} 其中xxxxx是商品的id。 比如:某个天猫商品的http链接为:http://detail.tmall.com/item.htm?spm=a215v.72原创 2015-03-17 15:44:40 · 6427 阅读 · 0 评论 -
ViewPager的PagerAdapter中的notifyDataSetChanged更新数据总结
最近在工作中遇到了一个问题,就是在viewpager中调用pageradapter.notifydatasetchanged方法,好像没有任何效果,相应的view也没有更新数据,根据官方API是这样解释的:大概是说明Adapter会自动管辖ViewPager每一页(Item)的状态,而notifyDataSetChanged()是用在当ViePager要新增一页、刪除一页或改变各个页面的排列的時候原创 2015-03-17 11:57:31 · 7608 阅读 · 0 评论 -
Android绘图总结(Bitmap,Canvas,Paint,圆角)
最近老是和绘图打交道,经常用到Canvas,bitmap,Paint,但是对它们的理解总是模糊,这里作下总结,加深对绘图的理解。 要掌握Android的画图,首先就要了解一下,基本用到的图形接口: 1.Bitmap,可以来自资源/文件,也可以在程序中创建,实际上的功能相当于图片的存储空间,保存着像素 2.Canvas,紧密与Bitmap联系,把Bitmap比喻内容的话,那么Canva原创 2015-04-24 16:11:16 · 10640 阅读 · 0 评论 -
Android中关于Service的一些事
最近在看android开发指南,感觉有些细节知识还是挺耐人寻味的,特在此记录一下: 一、IntentService 这是一个Service的子类,该子类使用线程处理所有启动请求,一次一个.这是不使用服务处理多任务请求的最佳选择.你需要做的只是实现onHandleIntent()方法即可.可以为每个启动请求接收到intent,放到后台工作即可. 需要注意一点的是,IntentService所有原创 2015-05-06 20:14:16 · 759 阅读 · 0 评论 -
Android开发兼容性的TabHost
假设你想在你的应用中用action bar tabs作为顶级导航的基本形式,不幸的是,ActionBar APIs只能在 Android 3.0 或以后的版本(API Level 11+)中支持。因此,如果的你应用想在较早版本的平台上运行的话,你的应用的实现方式需要在支持新版本的API的同时也要支持老版本API。 在这节课程中,我们构建一个标签用户接口组件,这是一个可以用指定方式实现的向后兼容原创 2014-12-09 18:52:19 · 1171 阅读 · 0 评论 -
Android开发实战总结--入门篇
首先说明一下,下面的总结都是根据官方的文档来总结的,所以图片、代码段什么的都是官方的,大家不要见外就行了,能学到东西就好。 一、Activity生命周期 这个不多说了。 二、onSaveInstanceState 如果因为系统资源紧张而导致Activity被Destory, 用户回到这个Activity时系统会有这个Activity存在过的记录,系统会使用那些保存的记录数据(描原创 2014-12-02 13:54:28 · 798 阅读 · 0 评论 -
Android开发实战--保存数据
在内部保存文件 在内部存储保存文件时,你可以调用两种方法之一来获取相应的目录文件: getFilesDir() 返回表示应用程序内部目录的文件 getCacheDir() 返回表示应用程序临时缓存文件的内部目录的文件。一旦不再需要要确保删除每个文件。确保删除不再需要的文件并且设置合理大小的内存总量,比如1MB。如果系统存储开始运行缓慢,它可能会不经警告而删除缓存文件。 要在原创 2014-12-01 19:05:45 · 680 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源转载 2013-11-26 14:23:04 · 508 阅读 · 0 评论 -
Android ContentProvider和getContentResolver
安卓系统中的数据库SqlLite操作和java中mysql的数据库操作很不一样,造成这样的原因是因为在安卓中数据库是属于进程的不存在数据库客户端,也不存在数据库服务器。一、ContentProvider 因为在Android系统里面,数据库是私有的。一般情况下外部应用程序是没有权限读取其他应用程序的数据。如果你想公开你自己的数据,你有两个选择:你可以创建你自己的内容提供器(一个Co原创 2013-12-02 13:43:59 · 1195 阅读 · 1 评论 -
JSON中getString() 和optString()
The difference is that optString returns the empty string ("") if the key you specify doesn't exist.getString on the other hand throws a JSONException. Use getString if it's an error for the翻译 2013-12-09 13:27:38 · 20856 阅读 · 2 评论 -
android联系人信息的存储结构
从Android 2.0(API Level 5)开始,Android平台提供了一个改进的Contacts API,以适应一个联系人可以有多个帐户的需求,比如说手机通讯录和GMAIL通讯录,两个通讯录中的两条记录可以是同一个人。新的Contacts API主要是由ContactsContract及其相关的类来管理,旧的API(android.provider.Contacts)已不赞成使用,但为了转载 2013-12-03 14:27:19 · 2381 阅读 · 0 评论 -
Android adb shell dumpsys tool的用处
Android开发中,常常可以用adb shell dumpsys这条命令来dump出系统运行时的状态信息,例如可以这样来察看某个应用的内存使用信息dumpsys is an android tool that runs on the device and dumps interesting information about the status of system servic翻译 2013-12-24 14:42:01 · 3187 阅读 · 0 评论 -
修改TabWidget字体大小、颜色、Gravity
在用TabWidget的时候会惊奇的发现,那个Tab选项卡竟然不能设置字体大小,而默认的字体竟然是那么的小,很是蛋疼。怎么办?有两种办法。第一中就是自定义了TabHost.TabSpec有个setIndicator(view)方法将自己写好的View传进去,想要什么样的自己把握,比较灵活。但是像我这种要求没那么高,就想把字体改大点、设转载 2014-01-17 15:38:51 · 1097 阅读 · 0 评论 -
android Service的stopSelf
startId:代表启动服务的次数,由系统生成。 stopSelf(int startId): 在其参数startId跟最后启动该service时生成的ID相等时才会执行停止服务。 stopSelf():直接停止服务。 使用场景: 如果同时有多个服务启动请求发送到onStartCommand(),不应该在处理完一个请求后调用stopSelf();因为在调用此函数销毁service之前,可原创 2014-08-13 15:46:37 · 2734 阅读 · 0 评论 -
android编译内置应用以及调用隐藏API(@hide)
Android系统内置有:Browser(浏览器)、Mms(彩信/短信)、Phone(电话)、Contacts(联系人)等众多的核心应用。 然而,在SDK开发环境(即Eclipse + ADT) 下, 这些应用却无法被正确编译,究其原因 至少有以下几种情况: 1、它们使用到了未包括在SDK中(公开发布)的API,有两种情况: A、被 @hide 标注了的类:这 些类是被隐藏起来的,这些类大多原创 2014-08-13 10:35:43 · 3773 阅读 · 0 评论 -
android 自定义permission
在android系统的安全模型中,应用程序在默认的情况下不可以执行任何对其他应用程序,系统或者用户带来负面影响的操作。如果应用需要执行某些操作,就需要声明使用这个操作对应的权限。 (在manifest文件中 添加标记) android 系统提供了一系列这样的权限,具体可以查看 android 权限,另外,android系统在新的版本中会增加一些permission,可以查看 android 版原创 2014-08-13 11:35:44 · 785 阅读 · 0 评论 -
Android中创建快捷方式
在Android中创建快捷方式是很普遍的,是增加流量的一种方式。如果是原生系统,直接调用系统API就行了,但是众多厂商都有自己定制的桌面(Launcher),因此导致在适配、兼容方面存在很多问题。暂时虽然没有办法搞定所有的,但是仍然需要寻求一个最优的方案。 一、简单实现 增加快捷方式,这个需要在manifest文件中添加权限: uses-permission android:name原创 2015-07-02 19:50:32 · 3100 阅读 · 1 评论