上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 在android应用程序中,经常需要用到dialog对话框让用户知道现在所在进行的操作(比如耗时的操作),或者提示某些信息和状态等,算是比较常用的一个知识点;1、简单对话框 protected void dialog1(AlertDialog.Builder builder) { ... 阅读全文
posted @ 2013-10-07 16:45 Livingstone 阅读(5265) 评论(0) 推荐(1) 编辑
摘要: 一.数据库升级: 在我们的程序中,或多或少都会涉及到数据库,使用数据库必定会涉及到数据库的升级,数据库升级带来的一些问题,如旧版本数据库的数据记录的保持,对新表的字段的添加等等一系列问题,还记得当我来西安的时候,面试的第二家公司,做音乐播放客户端的,就问到了这个问题; 我们开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本就要被升级了。软件的1.0版本升级到1.1版本时,老的数据不能丢。那么在1.1版本的程序中就要有地方能够检测出来新的软件版本与老的数据库不兼容,并且把1.0软件的数据库升级到.. 阅读全文
posted @ 2013-09-30 09:37 Livingstone 阅读(3928) 评论(3) 推荐(2) 编辑
摘要: 最近在做视频播放器的时候,遇到一个问题,在用户播放视频然后锁屏之后,视频播放器仍然在继续播放,遇到类似手机系统状态改变的问题的时候,首先想到了广播(don't call me,i will call you);在网上搜罗了一个方法,做个总结;public class ScreenListener { private Context mContext; private ScreenBroadcastReceiver mScreenReceiver; private ScreenStateListener mScreenStateListener; public Scree... 阅读全文
posted @ 2013-09-29 10:34 Livingstone 阅读(11535) 评论(1) 推荐(2) 编辑
摘要: public class MyGesture extends SimpleOnGestureListener { private GestureDetector gd; // onGestureListener需要F和onTouchListener配合使用,实际上是onTouchListenerF监听到用户的 // 触摸,他把他所有监听到的用户触摸通知"手势识别"类对象,手势识别类对象处理后触发对应的函数,例如onFling, onLongPress等等。 public void test(MotionEvent ev) { gd.onTouchEvent... 阅读全文
posted @ 2013-09-12 21:37 Livingstone 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: 写在前面:只要还有一丝希望,不到最后一刻,不要轻言放弃! 来到西安十来天了,现在基本安顿下来了,这几天在工作中也遇到一些技术问题,但都没来得及总结分享,现在想和大家分享一下我的工作求职经历! 接触android也快半年了,在这接近半年的时间中,通过自己的努力学习,也对android了解得更深... 阅读全文
posted @ 2013-08-07 11:28 Livingstone 阅读(2533) 评论(28) 推荐(9) 编辑
摘要: 最近的项目中有通讯录这个模块,里面的通讯录涉及的联系人数量很大,导致在加载页面的时候有点卡,所以就必须得进行优化,优化的最终实现理论是什么?就是让ListView一次性加载的数据较少,后续根据用户操作{向下滑动}再加载更多的数据,避免了一次性加载数据导致程序运行不畅的问题;在参考网上的一些方法之后,总觉得那些方法都不是我想要的,都是一个模子里面刻出来的,大多数都是加footerview,因为我的项目中的ListView的数据源是需要按照一定的顺序排列的,如果加载之后再进行排序又会导致程序运行不畅,所以我想要寻找一种个人认为更容易的方法;实现思路:首先在adapter中保存全部的数据记录,在ad 阅读全文
posted @ 2013-07-18 15:51 Livingstone 阅读(1241) 评论(1) 推荐(0) 编辑
摘要: 一.调用照相机 注:surfaceView在当Activity不在前台的时候,会被销毁(onPause方法之后,执行销毁方法)当Activity回到前台时,在Activity执行onResume方法之后,会被重新创建,虽然如此,但并不需要在onResume方法中获取创建事件,因为surfaceView的生命周期可以通过其自身回调函数获取;public class MainActivity extends Activity { private Camera camera; @Override protected void onCreate(Bundle savedInstan... 阅读全文
posted @ 2013-07-17 13:39 Livingstone 阅读(2378) 评论(0) 推荐(0) 编辑
摘要: Android常用的反馈系统状态信息的方式主要有三种Toast提醒通知栏提醒对话框提醒三种提醒分别适用于页面的提示、系统交互事件的通知和非常重要的提醒;一、Toast Toast toast = Toast.makeText(MainActivity.this, "Toast 通知",... 阅读全文
posted @ 2013-07-15 18:05 Livingstone 阅读(1484) 评论(0) 推荐(0) 编辑
摘要: 一、Binder架构 在Android中,Binder用于完成进程间通信(IPC),即把多个进程关联在一起。比如,普通应用程序可以调用音乐播放服务提供的播放、暂停、停止等功能。Binder工作在Linux层面,属于一个驱动,只是这个驱动不需要硬件,或者说其操作的硬件是基于一小段内存。从线程的角度来讲,Binder驱动代码运行在内核态,客户端程序调用Binder是通过系统调用完成的。 Binder是一种架构,这种架构提供了服务端接口、Binder驱动、客户端接口三个模块。 服务端:一个Binder服务端实际上就是一个Binder类的对象,该对象一旦创建,内部就启动一个隐藏线程。该线程接下来... 阅读全文
posted @ 2013-07-14 11:05 Livingstone 阅读(12051) 评论(5) 推荐(3) 编辑
摘要: Context(在Android中翻译为场景):一个Activity就是一个Context,一个Service也是一个Context,应用程序中有多少个Activity或者Service,就会有多少个Context对象; Android把"场景"抽象为Context类,用户和操作系统的每一次交互都是一个场景; 如打电话为有界面的场景,后台服务service为没界面的场景; Context类本身是一个纯abstract类,为了使用方便,定义了ContextWrapper类,这只是一个包装而已,它的构造函数中必须包含一个真正的Context引用,同时它提供了attachBase 阅读全文
posted @ 2013-07-13 22:21 Livingstone 阅读(4107) 评论(0) 推荐(2) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页