11 2013 档案
摘要:使用getIdentifier()方法可以方便的获各应用包下的指定资源ID。主要有两种方法:(1)方式一Resources resources = context.getResources();int indentify = resources.getIdentifier(org.loveandroid.androidtest:drawable/icon",null,null);if(indentify>0){icon = resources.getDrawable(indentify);}第一个参数格式是:包名 + : +资源文件夹名 + / +资源名;是这种格式然后其他的可
阅读全文
摘要:目录(?)[-]创建一个导航抽屉创建抽屉布局初始化抽屉列表处理导航项选点击事件监听导航抽屉打开和关闭事件点击应用图标来打开和关闭导航抽屉创建一个导航抽屉导航抽屉是一个位于屏幕左侧边缘用来显示应用程序导航项的一个面板。导航抽屉在大部分时间是不显示的,但两种情况下会进行显示:一是发生从屏幕左侧边缘向右滑的手势,二是点击了工具栏中应用图标。导航抽屉在Support Library 中提供支持,在使用导航抽屉时,需要符合导航抽屉设计原则(Navigation Drawer),看看你是否有必要创建导航抽屉 。创建抽屉布局如果你要添加一个导航抽屉,需要用DrawerLayout来作为用户界面的根视图,Dr
阅读全文
摘要:有些時候這個類並不能很好的解決中文編碼問題如果出現亂碼,就 要重寫該類的parseNetworkResponse 方法了。繼承StringRequest,然後重寫parseNetworkResponse方法,更改正確的編碼方式並替換返回值ps:JSONReques編碼問題也可以這樣解決 @Override protected Response parseNetworkResponse(NetworkResponse response) { // TODO Auto-generated method stub String str = null; ...
阅读全文
摘要:1,调web浏览器Uri myBlogUri = Uri.parse("http://xxxxx.com"); returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri); //调用内置浏览器Uri u = Uri.parse(resultString);Intent it = new Intent();it.setData(u); it.setAction( Intent.ACTION_VIEW);it.setClassName("com.android.browser","com.android
阅读全文
摘要:ADT(r17)中添加了一个新功能可以允许开发者只在Debug模式下允许某些代码。Build系统生成一个名称为BuildConfig的类,该类包含一个DEBUG 常量,该常量会根据您的Build类型自动设置值。您可以通过(BuildConfig.DEBUG) 常量来编写只在Debug模式下运行的代码。如果有些代码不想在发布后执行,就可以使用该功能。比如调试日志,你不想在软件发布后被其他开发者看到,过去的方式是你设置一个全局变量,标记软件为DEBUG模式还是发布模式。public static boolean DEBUG = true;然后在代码中写入 if(DEBUG==true...
阅读全文
摘要:在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样, 一些常见的状态码为: 200 -服务器成功返回网页 404 -请求的网页不存在 503 -服务器超时 等等 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码。 100(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx(成功返回) 200(成功)服务器已成功处理了请求。通常,这表示服务...
阅读全文
摘要:线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。为什么要用线程池:减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累趴下(每个线
阅读全文
摘要:经过比较,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。下面是一个简单的例子:Person实体public class Person { private String name; private int age; /** * @return the name */ public String getName() { return name; } /** * @pa...
阅读全文
摘要:onLoadFinished这个方法是在前面已创建的装载器已经完成其加载过程后被调用.这个方法保证会在应用到装载器上的数据被释放之前被调用.在此方法中,你必须删除所有对旧数据的使用(因为它将很快会被删除),但是不要自己去释放它们,因为它们的装载器会做这些事情.装载器一旦了解到应用不再使用数据时,将马上释放这些数据.例如,如果数据是一个从CursorLoader来的游标,你不应调用游标的close().如果游标被放置在一个CursorAdapter中,你应使用swapCursor()方法,以使旧的游标不被关闭.例如://这个Adapter被用于显示列表的数据.SimpleCursorAdapte
阅读全文
摘要:重启装载器当你使用initLoader()时,如果指定ID的装载器已经存在,则它使用这个装载器.如果不存在呢,它将创建一个新的.但是有时你却是想丢弃旧的然后开始新的数据.要想丢弃旧数据,你应使用restartLoader().例如,下面这个SearchView.OnQueryTextListener的实现在用户查询发生改变时重启了装载器,装载器于是需重启从而能使用新的搜索过虑来进行一次新的查询.public boolean onQueryTextChanged(String newText) { // 当动作栏的搜索字串发生改时被调用. // 更新搜索过虑,然后重新启动装载利用这个...
阅读全文
摘要:一个使用装载器的应用会典型的包含如下组件:一个Activity或Fragment.一个LoaderManager的实例.一个加载被ContentProvider所支持的数据的CursorLoader.或者,你可以从Loader或AsyncTaskLoader实现你自己的装载器来从其它源加载数据.一个LoaderManager.LoaderCallbacks的实现.这是你创建新的装载器以及管理你的已有装载器的引用的地方.一个显示装载器的数据的途径,例如使用一个SimpleCursorAdapter.一个数据源,比如当是用CursorLoader时,它将是一个ContentProvider.启动一
阅读全文
摘要:装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性:它们对每个Activity和Fragment都有效。他们提供了异步加载数据的能力。它们监视数据源的一将一动并在内容改变时传送新的结果。当由于配置改变而被重新创建后,它们自动重连到上一个加载器的游标,所以不必重新查询数据。装载器API概述在使用装载器时,会涉及很多类和接口们,我们在下表中对它们总结一下:Class/Interface说明LoaderManager一个抽像类,关联到一个Activity或Fragment,管理一个或多个装载器的实例。这帮助一个应用管理那些与Ac
阅读全文
摘要:Sumsung Galaxy Nexus 屏幕分辨率为 1280X 720,但通常的应用都会显示Navigation Bar(Back 键,Home 键等),如下图所示:但我注意到Youtube应用在问触摸事件时,会自动隐藏Navigation Bar,全屏播放影片。网上有使用定制ROM的方式实现全屏。但如果你想实现和Youtube类似的方法自动隐藏Navigation Bar,全屏显示应用,简单的方法如下:在OnCreate方法中使用。myview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);其中的myview 可以为
阅读全文
摘要:public void onStart()当该Fragment对象对用户可见时,该方法会被调用。该方法通常会跟它的Activity的生命周期的Activity.onStart()方法绑定。public void onStop()当Fragment对象被终止的时候,该方法会被调用,它通常会跟它的Activity的生命周期的Activity.onStop()方法绑定。public void onTrimMemory(int level)当操作系统判断某个时机是从进程中消除不需要的内存的好时机时,系统会调用该方法。例如,该方法会在该Fragment对象进入后台,并且没有足够的内存用于保证后台进程的运
阅读全文
摘要:在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。package com.ljq.test;/** * 枚举用法详解 * * @author jiqinlin * */public class TestEnum { /** * 普通枚举 * * @author jiqinlin * */ pub...
阅读全文
摘要:setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击 false 不可以点击。actionBar.setDisplayHomeAsUpEnabled(true) // 给左上角图标的左边加上一个返回的图标 。对应ActionBar.DISPLAY_HOME_AS_UPactionBar.setDisplayShowHomeEnabled(true) //使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题,否则,显示应用程序图标,
阅读全文
摘要:本文转自:http://www.apkbus.com/android-117148-1-1.html写在前面的话:接触Android已经有一段时间了,自己积累的东西也算蛮多的。总结以往的经验,凡是关键性的问题,一般都是要查阅API来解决的。所以,笔者建议同学们认真阅读API和Guider,Android的开发API文档是最容易阅读的(至少笔者是这么认为的,也接触一些windows phone的开发基础)。今天,笔者为大家介绍Android侧边栏的使用。我也接触了一些侧边栏的第三方牛人写的插件,确实也是不错的。笔者介绍的是在Android扩展的包中的组件DrawerLayout,是一个很好的侧边
阅读全文
摘要:Android手机支持SDcard。目前很多手机厂商把SDcard集成到手机中,当然有的手机同时也支持可插拔的SDcard。这就有了内置SDcard和位置SDcard之分。当手机同时支持内置和外置SDcard时:调用系统API:Environment.getExternalStorageDirectory().getPath();得到的是SDcard路径为内置的SDcard路径。由于Android系统的碎片话,很多手机厂商处理SDcard的路径都不相同,也没有办法通过/system/etc/vold.fstab文件中的配置信息来确定SDcard的路径,因为这个文件的名字也不唯一。自己研究了一下
阅读全文