随笔分类 - Android APP
摘要:在使用过程中,1 TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.ContactListItemView);2 mPreferredHeight = a.getDimensionPixelSize(3 R.styleable.ContactListItemView_list_item_height, 0);4 mActivatedBackgroundDrawable = a.getDrawable(5 R.styleable.ContactListItemView_activated_backgroun
阅读全文
摘要:TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能:1、BackgroundColorSpan 背景色2、ClickableSpan 文本可点击,有点击事件3、ForegroundColorSpan 文本颜色(前景色)4、MaskFilterSpan 修饰效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)5、MetricAffectingSpan 父类,一般不用6、RasterizerSpan 光栅效果7、Strikethr
阅读全文
摘要:Android 3.0 sdk,引入了很多新api,比如Loader。和Fragment类似(编写兼容android1.6的fragment),该api也可在Android 1.6以上版本执行。以下介绍如何编写Loader,实现对ListView的异步加载。效果如图:示例中有一个后台线程每隔3秒更新数据库的长江记录,将记录改为“长江”或“Long River”。ListView无需监控数据库变化,基于Loader,会自动更新。实际上这里面是观察者模式,无非是系统自带了,只需调用即可,无需自己构造观察者。这个示例也是完整的sqlite+content provider+cursor adapte
阅读全文
摘要:官网帮助文档链接:http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周 二,与Activity生命周期的对比 onCreateLoader在onStart之前场景演示 : 切换到该Fragment11-29 14:26:35.095: D/AppListFragment(7649): onAttach11-29 14:26:35.095: D/AppListFragment(7649): onCreate11-29 14:26:35.095: D/AppListFrag...
阅读全文
摘要:1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、往版本库中添加新的文件svn add file例如:svn addtest.php(添加test.php)svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “...
阅读全文
摘要:privateboolean isAppInstalled(String uri){PackageManager pm = getPackageManager();boolean installed =false;try{pm.getPackageInfo(uri,PackageManager.GET_ACTIVITIES);installed =true;}catch(PackageManager.NameNotFoundException e){installed =false;}return installed;}Just call the method by passing the p
阅读全文
摘要:在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。为了简化操作,Android1.5提供了工具类android.os.AsyncTask,它使创建异步任务变得更加简单,不再需要编写任务线程和Handler实例即可完成相同的任务。先来看看AsyncTask的
阅读全文
摘要:1 @Override 2 public View getView(int position, View convertView, ViewGroup parent) { 3 ………… 4 ViewHolder VH = null; 5 …………10 VH.mImageView.setTag(position);11 VH.mThumb.setImageDrawable(imageLoader.loadDrawable(position, ...
阅读全文
摘要:AsyncQueryHandler异步处理框架分类:Android应用2011-03-07 11:08775人阅读评论(0)收藏举报AsyncQueryHandler封装了调用者线程与工作线程的交互过程。交互的主体是两个Handler,一个运行在调用者线程中,一个运行在工作者线程中。通过提供onXXXComplete的回调接口,实现事件的完成处理。public abstract class AsyncQueryHandler extends Handler { protected class WorkerHandler extends Handler { @Override...
阅读全文
摘要:40 Android Business ModelsWhile trying to figure out how to get access to paid apps on the Android Market in Canada (come on, Google… you know you want to, the Canadian dollar is strong nowadays), I stumbled on a blog series listing possible Android business models. There is probably nothing revolut
阅读全文
摘要:使用Button时为了让用户有“按下”的效果,有两种实现方式:1.JAVA代码实现:imageButton.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ //更改为按下时的背景图片 v.setBackgroundResource(R.drawable.pressed); }else if(event.getAction() == Mot
阅读全文
摘要:http://www.blogjava.net/TiGERTiAN/archive/2011/02/22/344869.html由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有这个方法的,如LinearLayout就有,TextView就没有。下面用一个简单的实验说明上述复杂的规则。视图自底向上共3层,其中LayoutView1和LayoutView2就是LinearLayout,MyTextView就是TextView:对应的xml布局文件如下:<?xmlversion="1.0&quo
阅读全文
摘要:private static final HashMap<Long, XXX> sCache = new HashMap<Long, XXX>(); private static int sId = -1; public static void initAlbumArtCache() { try { 。。。 if (id != sId) { clearCache(); sId = id; } } catch (R...
阅读全文
摘要:/* (1)……/*/…… //*/把(1)去掉,则第一段代码打开,把(1)加上,则第一段代码屏蔽 -^
阅读全文
摘要:Service生命周期使用context.startService() 启动Service其生命周期为context.startService() ->onCreate()- >onStart()->Service running-->context.stopService() | ->onDestroy() ->Service stop 如果Service还没有运行,则android先调用onCreate()然后调用onStart(); 如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次。
阅读全文
摘要:数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据。因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立的一个对象。表是物理存在的,你可以理解成计算机中的文件!视图是虚拟的内存表,你可以理解成Windows的快捷方式!
阅读全文
摘要:1 TOP这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:SELECT TOP 10 * FROM [index] ORDER BY indexid DESC;但是这条SQL语句在SQLite中是无法执行的,应该改为:SELECT * FROM [index] ORDER BY indexid DESC limit 0,10;其中limit 0,10表示从第0条记录开始,往后一共读取10条2 创建视图(Create View)SQLite在创建多表视图的时候有一个BUG,问题如下:CREATE VIEW watch_single AS SELE
阅读全文

浙公网安备 33010602011771号