`
文章列表
刚开始做开发时候,写的程序总是被领导评价:没层次,体现不出java面向对象的思想来。他也没有具体的项目作为例子来思考下到底写成什么样子才是面向对象了,还是照老样子一直写下去。 跟着领导被外派到其他单位,参与的都是中型或大型的项目。参与的项目页面从jsp到mxml,脚本从javascript 到 actionscript,虽然用的框架变了,但这种转变并没有给工作带来多少难处,工作仍然分工明确,清晰而有条理,除了那些框架内的技术知识。 后来了解到设计模式,发现以前的多多少少遵从设计模式的项目,代码总是很容易让别人读懂,让新加入到项目的成员很快熟悉到项目,就是删减或者扩展些功能也变得很容易。开发中要不 ...
转载自 [url] http://blog.csdn.net/hdhd588/article/details/6739281#comments [/url] APK安装过程及原理详解 2011-09-01 14:09 13614人阅读 评论(7) 收藏 举报 nullsysteminstallerframeworksstringfile 应用程序包的安装是android的特点 APK为AndroidPackage的缩写 Android应用 ...

androidUI优化

很多时候,我们不想用android系统默认的风格或者属性,我们可以自定义一些风格,自定义一些控件,也可以通过改变一些属性的默认值来修改UI使之变为我们想要的UI效果,或者动作效果。 通过代码或者资源文件都可以改变窗体显示的风格: /** * 创建View,显示状态 * @param view */ public void createView(){ wm = (WindowManager) getApplicationContext().getSystemService("window"); wmParams = new WindowM ...
Android中dip, dp, px, sp之间的区别 (文章来自网络) Android中dip, dp, px, sp之间的区别: dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素). 主 ...
如同在web中开发过程中,android输入内容的时候,为避免无效的输入,对用户输入的内容提前进行验证是有必要的。输入内容的长度,输入内容的数字,字母等,这样可以减少服务器短的压力。使用的验证邮箱例子: /** * 验证输入格式是否符合 * @param email * @return 是否合法 */ // private boolean verifyFormat(String email){ // boolean tag = true; // final String pattern1 = "[a-z0-9A-Z]"; // ...
随着android手机的普遍,很多网站都会在手机上有相应的应用。从服务器到手机数据的传递以及在手机上的显示便需要解析出来。其实解析并不难,是客户端根据双方已经确定的协议,从网络传输的数据中找出能在手机上显示并且让用户看明白的过程。 xml数据是个人认为比较好的存储数据的文件格式。在android手机以及其他的常用框架中上也很常用。程序的布局文件,配置文件等。在android中常用的三种解析,比较好用的还是Pull解析和SAX解析。DOM解析需要保存所有的节点信息,占用设备较多的内存,如果处理的信息较多的时候,DOM解析并不可取,否则设备有时内存不足。 JSON解析也很常用,只要根据和服务器端的协 ...
    数据库升级是指使数据库版本号升级。在我们创建数据库时要为这个数据库指定最初的版本号。由于SQLiteOpenHelper会帮助我们管理数据库的版本,我们只需要指定我们要的数据库版本号即可,不需要为数据库手动设定。在我们创建SQLiteOpenHelper对象的时候,SQLiteOpenHelper会根据我们指定的版本号是否发生变化,判断是否要调用onUpgrade()方法,执行数据库的升级。升级方法执行完后,SQLiteOpenHelper会将数据库版本号设为当前我们设定的版本号。     有一点在onUpgrade()方法中执行sql语句,没有效果,后来又将要执行的这些语句放在onCr ...
服务Service是运行在后台的,没有和用户交互的界面,和Activity,Broadcast Receiver,Conent Provider组成android应用的四大组件。普通的Service也是和启动它的应用运行在同一个进程中,当在服务中也有耗时操作的时候也要一个子线程来完成,否则会出现ANR,给用户带来不好的体验。 Service的生命周期相对于activity也是较少的。onCreate->onStart->onDestroy,一个服务对象只能创建和销毁一次,却可以启动多次。有的服务还需要重写onBind方法绑定服务。 对于Service我们可以使用IntentServ ...
Android系统是基于Linux内核的,也继承了Linux的基于用户和文件权限的安全机制,并将这种机制用于管理应用程序。         Linux系统对用户的管理:Linux系统可以有多个用户,每个用户都有一个用户名:UserName,同时拥有一个Us ...
转自 http://www.cnblogs.com/luxiaofeng54/archive/2011/03/01/1968063.html 核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId(); 1.加入权限 在manifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 2.代码 /**   *   ...
//获得Bitmap的高和宽 int bmpWidth=bmp.getWidth(); int bmpHeight=bmp.getHeight();   //设置缩小比例 double scale=0.8; //计算出这次要缩小的比例 scaleWidth=(float)(scaleWidth*scale); scaleHeight=(float)(scaleHeight*scale);   //产生resize后的Bitmap对象 Ma ...
http://www.cnblogs.com/llm-android/archive/2012/02/19/2357821.html ImageView.ScaleType.XXX 这里我们重点理解ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别:   CENTER /center  按图片的 ...
xmlns:android="http://schemas.android.com/apk/res/android的作用是 这个是xml的命名空间,有了他,你就可以alt+/作为提示,提示你输入什么,不该输入什么,什么是对的,什么是错的,也可以理解为语法文件。或者语法判断器什么的 这个主要作用是在运行的时候那些控件的属性都是通过它来识别的,如果上面你写错了,不会有任何问题,但是在运行的时候就会有问题,提示你没有指定宽度等什么。这个是不用联网的。 Android 自定义的xmlns其实很简单,语法规则是: 在使用到自定义View的xml布局文件中需要加入xmlns:前缀= ...
android国际化 博客分类: 移动开发 . 1.      很大程度上,为什么我们能如此方便的实现国际化、分辨率匹配等?     主要就是得益于 Android 中这种独特的资源管理方式。程序员的代码可以不直接和资源发生关系。Androi ...
生命周期 Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情。 例举了 7 个常用的钩子: protected void onCreate(Bundle savedInstanceState) protected void onStart() protected void onResume() protected void onPause() protected void onStop() protected void onRestart() protected void onDestroy() 简要说明: onCreate(Bundle ...
Global site tag (gtag.js) - Google Analytics